Commit graph

229 commits

Author SHA1 Message Date
Ian Douglas Scott
d7ca0324c5 Remove needs_key_repetition argument
Not supressing key repetition in backends seems like it was a bug, and
should be fixed as of https://github.com/Smithay/smithay/pull/1535.

So an argument for this should be unnecessary now.
2024-09-19 16:23:25 +02:00
Victoria Brekenfeld
07f898590a kms: Fix rare mirroring crash 2024-09-02 20:44:23 +02:00
julianbraha
52ad30c264 Remove unnecessary lifetimes 2024-08-30 17:53:56 +02:00
julianbraha
2e2356ab5f Use map.entry().or_insert() instead of map.contains_key() and map.insert() 2024-08-29 16:39:39 +02:00
Jeremy Soller
a3c81119e8 Use fallback scale if size is invalid 2024-08-16 06:59:51 -06:00
Victoria Brekenfeld
8d2cc05f03
kms: Try to calculate dpi and scale factor (Take 2)
Co-authored-by: Jeremy Soller <jackpot51@gmail.com>
2024-08-15 15:10:40 -06:00
Ian Douglas Scott
5537fa4822 Use EGL_MESA_device_software as fallback for screen capture
Previously, screenshots and screencopy panicked if no DRM render nodes
are present.

Instead, create a `GlowRenderer` using llvmpipe, if available. This
should work as a fallback until pixman is integrated.
2024-08-07 10:49:39 -07:00
Victoria Brekenfeld
2cef99ae78 Revert "kms: Try to calculate dpi and scale factor"
This reverts commit 607bd71aeb.
2024-08-01 23:38:11 +02:00
Victoria Brekenfeld
607bd71aeb kms: Try to calculate dpi and scale factor 2024-07-31 13:02:08 +02:00
Ian Douglas Scott
0e78104477 Fix build with profile-with-tracy feature 2024-07-29 14:49:44 +02:00
Victoria Brekenfeld
8971d8f430 kms: Fix previous commit.. 2024-07-26 14:07:21 +02:00
Victoria Brekenfeld
64e03d11d7 kms: Fix potential panic when enumerating connectors 2024-07-26 14:00:16 +02:00
Victoria Brekenfeld
ec5d89eaa9 kms: Make sure edid model doesn't contain 0 byte 2024-07-18 17:31:57 +02:00
Victoria Brekenfeld
4a22724cb8 kms: HACK: avoid crashing on bad edids 2024-07-18 17:31:57 +02:00
Ian Douglas Scott
0636bcdef3 Add workspace_overview_is_open function; put in a utils::quirks mod
This is increasingly not just related to screencopy, so it's weird to
add there. I don't see any other module that fits, so add one called
"quirks" (like the Linux kernel uses for device-specific handling in
generic drives).
2024-07-15 17:12:05 +02:00
Ian Douglas Scott
355b142c52 When cosmic-workspaces is shown, render only layer-shell surfaces
This allows `cosmic-workspaces` to rely on cosmic-comp for rendering the
background, and just have transparency. This should be a more reliable
and performant way of doing things, at least for now.

Instead of adding another opaque bool argument, this defines an
`ElementFilter` enum, which makes calls more readable.

Window surfaces are still included in screencopy, as needed for the
workspace previews.
2024-07-15 17:12:05 +02:00
Victoria Brekenfeld
2d0f1cbf2b chore: smithay update 2024-07-02 13:15:30 +02:00
Victoria Brekenfeld
8da3ac6d75 kms: Fix frame scheduling 2024-06-27 18:15:18 +02:00
Victoria Brekenfeld
26ccb653b7 output: Store position as u32 and offset bad configs 2024-06-27 12:34:51 +02:00
Victoria Brekenfeld
76fca0c591 chore: Fix smithay version 2024-06-26 16:18:08 +02:00
Victoria Brekenfeld
449048bdc5 kms: Fix unreachable code during forced queued redraws 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
707eace679 kms: Don't leak an EGLImage on every import 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
eea93d543e state: Correctly update primary output 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
ddcb435632 debug: Fix running with new kms backend 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
bfbf20d61d kms: fixup device-usage logic 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
977ad674e5 kms: Fix initial output placement 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
12fab6e220 kms: Don't block surface-threads on startup cond 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
31ff17a323 kms: Limit frame-callbacks to one per refresh 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
92f3dbce01 chore: Cleanup 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
800e01a484 kms: Fix shaders for offscreen rendering 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
952f73dcc4 kms: Don't send render-states for mirrored renders 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
1a28e43aa7 kms: Fix broken mirroring with different scales but same mode 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
7373567af1 kms: Fix output mirroring not working across gpus 2024-06-26 12:59:33 +02:00
Victoria Brekenfeld
469a366207 kms: New backend
New backend utilizing a thread per surface for precise frame
scheduling.
2024-06-26 12:59:33 +02:00
Ian Douglas Scott
4f076e0753 Update smithay, with xwayland shell, Cow, etc. 2024-05-21 19:31:50 +02:00
Ian Douglas Scott
47f8c1da38 Define a advertised_node_for_client instead of duplicating code
Can't use this in `SecurityContextHandler` since it only has a `ClientId`,
not a `Client`.
2024-05-15 13:12:24 +02:00
Ian Douglas Scott
a9740e5040 Change how COSMIC_ENABLE_WAYLAND_SECURITY/privileged is handled
Manually starting `cosmic-panel` was not working properly in release
builds, because without `cfg!(debug_assertions)`, the `privileged` flag
wasn't sent on the panel, so it couldn't be propagated to the applets,
which also fail the `client_has_no_security_context()` check.

I don't see a way to have both the `cfg!(debug_assertions)` check and
`COSMIC_ENABLE_WAYLAND_SECURITY`. Now only the latter is used, and it
determines the value of `privileged` for clients started normally. In
the future, we could make the default value of
`COSMIC_ENABLE_WAYLAND_SECURITY` depend on `cfg!(debug_assertions)` if
desired.

This also corrects the inconsistency that the `cfg!(debug_assertions)`
check wasn't applied to the render-node-specific Wayland sockets.
2024-05-08 13:10:07 +02:00
Victoria Brekenfeld
3eb6c02008 kms: Output mirroring 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
5d5a510691 state: Move shell behind RwLock 2024-04-16 18:50:54 +02:00
Victoria Brekenfeld
647deb81f1 shell: Move seats into shell 2024-04-16 18:50:54 +02:00
Ian Douglas Scott
de544e1d31 Update smithay to latest commit 2024-04-09 11:26:36 +02:00
Victoria Brekenfeld
b40d153809 cosmic-screencopy-v2 2024-03-25 16:55:31 +01:00
Victoria Brekenfeld
f1d8225ddb kms: Disable frame time prediction (for now) 2024-03-21 17:49:30 +01:00
Victoria Brekenfeld
d341cb8b86 debug: Drop puffin integration 2024-03-21 17:49:06 +01:00
Ian Douglas Scott
a1c8b3aa3e Add support for profiling using tracy 2024-03-20 23:55:21 +01:00
Victoria Brekenfeld
3eb7e5f82e shell: implement minimize 2024-03-04 19:20:52 +01:00
Ian Douglas Scott
3036448c19 Update Smithay, with Window that supports X11 surfaces 2024-02-22 17:49:46 +01:00
Victoria Brekenfeld
f9f8af10a0 kms: Drop early_import as it seems to hurt performance 2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
1c3d45c155 kms: Rely on the compositor to skip empty frames 2024-02-19 13:09:49 +01:00
Victoria Brekenfeld
db27fa483d kms: Optimize frame scheduling 2024-02-19 13:09:49 +01:00