Victoria Brekenfeld
3935de018e
kms: evdi cursor work around
2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
18a1ba2d26
kms: Don't consider software devices for primary
2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
cad5ed8945
kms: Don't attempt dmabuf import on software devices
2025-09-08 13:07:40 +02:00
Ashley Wulber
bb8e066d6d
feat(config): load cosmic-randr output Lists
2025-08-26 11:30:56 -04:00
Ashley Wulber
416b66b776
refactor(output config): move to config crate
...
this allows the greeter to easily sync to the user config
2025-08-26 11:30:56 -04:00
Vukašin Vojinović
7f7ab8bcbe
chore: Rust 2024 edition
...
Set the formatting style to 2021 edition to avoid disrupting existing work.
Remove when possible.
2025-08-21 13:10:11 +02:00
Victoria Brekenfeld
74e90f793f
state/lid-inhibit: Take current lid state into account
2025-08-11 18:47:57 +02:00
Victoria Brekenfeld
cb2289e7b1
kms: Don't reload outputs for every single event
2025-08-11 18:47:57 +02:00
Victoria Brekenfeld
fd85e4ea56
kms: Don't incorrectly re-use iterator in update_surface_nodes
2025-07-28 17:46:46 +02:00
Victoria Brekenfeld
6492629f90
kms: Change awkward new trait to InnerDevice
2025-07-25 17:51:01 +02:00
Victoria Brekenfeld
87742c1e0c
kms: Don't commit anything before updating the mode
2025-07-25 17:51:01 +02:00
Victoria Brekenfeld
e34a289c01
kms: lock during screen conf changes
2025-07-25 17:51:01 +02:00
Victoria Brekenfeld
bb7a6a7113
chore: smithay update
2025-07-25 17:51:01 +02:00
Ian Douglas Scott
1844afde09
kms: Do not attempt to import dmabuf on device not supporting format
...
Previously, if `expected_node` couldn't import a buffer, it would print
an error, then try the next node. There shouldn't really be a reason to
attempt import if the format/modifier isn't in `dmabuf_texture_formats`.
It seems the issue I've been seeing with cosmic-workspaces crashing
the Nvidia driver is fixed by removing this, and disabling `dma_shadow_copy`
(which was producing the same error). Importing Nvidia buffers on the AMD
GPU seems to be causing issues.
Not sure how `dma_shadow_copy` should be fixed, but a test for supported
formats is easy to add here anyway.
2025-07-01 11:32:28 -07:00
Ian Douglas Scott
619e994955
kms: Fix inconsistent selection of primary GPU
...
Instead of choosing a primary GPU the first time `device_added` is
called (and then not updating it on the next call, even if that should
be the primary GPU), set the primary GPU only after all devices have
been initially added, and on future changes.
Alternately, the `was_empty` test can just be removed, but it's probably
best not to select the primary GPU multiple times each time the
compositor starts on a multi-GPU system.
Fixes https://github.com/pop-os/cosmic-comp/issues/1437 .
2025-06-02 12:22:13 +02:00
Victoria Brekenfeld
465813c1c5
shell: Using parking_lot's RwLock for fairness guarantees
2025-05-27 20:00:21 +02:00
Victoria Brekenfeld
8194be30c6
kms: Allow updating the primary node
...
Add more sophisticated code to handle the primary node disappearing.
Also overhaul the selection logic to respect our allow/deny-list and
prefer devices with built-in connectors before using the boot gpu.
This will also allow triggering a primary node switch at runtime
for debugging purposes in the future.
2025-05-27 20:00:21 +02:00
Victoria Brekenfeld
7929e25966
kms: Support screen filters
2025-03-24 19:10:52 +01:00
Victoria Brekenfeld
605bb63a4d
kms: Don't try to render inactive outputs
2025-01-21 13:35:53 +01:00
Ian Douglas Scott
6c7ec54bdb
Add a COSMIC_DISABLE_SYNCOBJ env var to disable syncobj protocol
...
If any issues with the syncobj protocol come up, or any issues we
suspect may be related to it, an env var may be helpful.
2025-01-16 19:43:51 +01:00
Ian Douglas Scott
9dddead15d
Add linux-drm-syncobj-v1 protocol
2025-01-15 20:20:53 +01:00
Victoria Brekenfeld
addcbc5039
kms: Don't try to restore modifiers, if we don't have any surfaces
2025-01-07 17:48:14 +01:00
Victoria Brekenfeld
870e5be2a6
kms: Use scaled sizes for placing new outputs
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
bebd7c5c40
kms: Cleanup now that output_elements won't panic for uninitialized outputs
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
6be5009b37
kms: Allow diverging primary plane formats under certain conditions
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
8b87d6524e
kms: Use new DrmOutput api
2025-01-06 20:23:05 +01:00
Victoria Brekenfeld
81b9fb179b
output-configuration: Support cosmic-ext v2
2024-11-27 09:37:01 +01:00
Victoria Brekenfeld
80965a61b9
kms: Adaptive VRR support
2024-11-27 09:37:01 +01:00
Victoria Brekenfeld
dbb51e827d
kms: Fix enabling outputs
2024-11-27 09:37:01 +01:00
Ian Douglas Scott
ea27ec5e28
DPMS with wlr-output-power-management-unstable-v1 protocol
2024-10-25 10:31:24 +02:00
Ian Douglas Scott
15a6425836
Set default output transform based on DRM panel orientation ( #901 )
2024-10-07 18:12:40 +02:00
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
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
26ccb653b7
output: Store position as u32 and offset bad configs
2024-06-27 12:34:51 +02:00
Victoria Brekenfeld
707eace679
kms: Don't leak an EGLImage on every import
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
12fab6e220
kms: Don't block surface-threads on startup cond
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
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
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