Victoria Brekenfeld
ca00df0b37
kms: Track active clients instead of active buffers
2026-01-08 00:20:18 +01:00
Victoria Brekenfeld
6288789842
kms: Only pause device after all surfaces are successfully suspended
2025-12-04 22:29:39 +01:00
Victoria Brekenfeld
7c3e18b588
surface: Don't crash due to weird state after resume
2025-12-04 22:29:39 +01:00
Vukašin Vojinović
1f7f0c70b7
chore: format for Rust 2024
2025-10-22 23:55:11 +02:00
Vukašin Vojinović
0a8da05847
fix(kms): early exit when iterating over crts
...
Clippy noted that this loop doesn't actually loop, so maybe this fixes some issues.
2025-10-22 23:55:11 +02:00
Vukašin Vojinović
b6c5d00bec
cargo fmt
2025-10-22 23:55:11 +02:00
Vukašin Vojinović
5e9ea93819
chore: manual clippy
2025-10-22 23:55:11 +02:00
Vukašin Vojinović
0847247c33
chore: clippy
2025-10-22 23:55:11 +02:00
Ashley Wulber
3465ce7602
feat: corner radius for CosmicMapped
2025-10-03 20:11:16 +02:00
Ashley Wulber
c6320eec0c
fix: support per-corner radius
...
also adjusts the radius by half of the outline thickness. I believe this is the radius at the center of the outline.
2025-10-03 20:11:16 +02:00
Ashley Wulber
b3aa10436a
feat: corner-radius protocol support
2025-10-03 20:11:16 +02:00
Victoria Brekenfeld
b83e9f1d32
config: Make read_outputs failable
...
Previously we ignored when we had no output configuration
**and** failed to apply the automatically created one.
This leads to two problems:
- If this happens on startup, we end up with no outputs being added to the shell and we quit.
- If this happens later, we might end up in an inconsistent state, where the shell thinks we have an output, when it didn't light up for similar reasons.
Thus `read_outputs` is failable and handling that very much depends on
the where is was called from, because `read_outputs` doesn't know what
configuration was active before.
Thus make it failable and provide useful mitigations everywhere
possible:
- Try to enable just one output in case we fail on startup.
- Don't enable any additional outputs, when we fail on hotplug.
- Log the error like previously in any other case (and come up with more
mitigations, once we understand these cases better).
2025-09-15 09:13:00 +02:00
Victoria Brekenfeld
cd1117080c
kms: Don't join on DrmSurface drop
2025-09-11 00:20:14 +02:00
Victoria Brekenfeld
7684cd1b2c
render: Fix shader obj leak
2025-09-08 14:47:06 +02:00
Victoria Brekenfeld
a0f8c4ed99
kms/surface: Cleanup unused software-rendering code
2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
3935de018e
kms: evdi cursor work around
2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
b7fd4bc781
kms/device: Fix render_formats
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
6eb5ca1f94
kms: Close drm fds via session
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
Victoria Brekenfeld
70cd1842c1
kms/device: Don't advertise drm_node on software devices
2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
a840b52930
chore: smithay update
2025-09-08 13:07:40 +02:00
Ian Douglas Scott
3f74a22cca
kms/surface: Fix transform used for blits
...
Use the same logic used `submit_buffer`. This fixes corruption in OBS
when trying to capture a rotated output.
2025-09-02 17:12:37 +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
Ian Douglas Scott
905d021552
screencopy: Use send_success_when_ready for other forms of capture
...
A little annoying to add a `loop_handle` argument to `render_output`,
but generally straightforward.
2025-08-21 17:09:49 +02:00
Ian Douglas Scott
10c05bc1d4
kms/surface: Don't send screencopysuccess() until sync point is reached
2025-08-21 17:09:49 +02:00
Ian Douglas Scott
28e9024681
kms/surface: Define a PendingImageCopyData, instead of using tuple
...
Adding anything else to this tuple is awkward; defining a simple struct
makes this cleaner.
This also adds a `sync` property, which will come in handy later.
Containing simply the same-named argument that was passed to
`submit_buffer`.
2025-08-21 17:09:49 +02:00
Ian Douglas Scott
f0e0084608
Update smithay, and adjust to use sync points from blit calls
2025-08-21 17:09:49 +02: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
310cf212eb
kms/device: Don't reconfigure existing outputs on connector_added
2025-08-20 19:41:43 +02:00
Ian Douglas Scott
2fbf0081ea
Fix compile warnings on nightly
...
Should fix CI test.
2025-08-12 18:03:27 -04:00
Ian Douglas Scott
4031f584ef
Don't crash if GreeterAccessibilityState::config() fails
...
`cosmic-comp` should run without needing the greeter to be running (or
installed).
2025-08-12 18:03:27 -04:00
Ashley Wulber
b3a67bca50
feat: sync state with greeter
2025-08-12 12:51:54 -04: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
6897f81984
kms/device: Don't re-enumerate disabled outputs
2025-08-11 18:47:57 +02:00
Christian Duvholt
1db1d8149b
output_configuration: Set wlr_output_head serial number
2025-08-11 13:59:42 +02:00
Victoria Brekenfeld
680542e4e2
kms/surface: Don't attempt to use overlay planes during animations
2025-08-07 19:40:23 +02:00
Victoria Brekenfeld
66712009fb
kms/surface: Only skip cursor updates if the application renders consistently
2025-08-07 19:40:23 +02:00
Victoria Brekenfeld
a2dda33abe
kms: Add min_vrr refresh rate safety margin
2025-08-07 19:40:23 +02:00
Victoria Brekenfeld
be1424f1ca
render/wayland: filter scanout candidates by frametime estimation
2025-08-07 19:40:23 +02:00
Victoria Brekenfeld
db9380e6db
kms: Fix direct scanout due to wrong node compare
2025-08-07 19:40:23 +02:00
Victoria Brekenfeld
7948a97334
kms/surface: Remove old feedback on node-removal
2025-08-04 17:11:22 +02:00
Victoria Brekenfeld
a409770df7
kms: Correctly handle the source node not being initialized
2025-07-31 19:12:10 +02:00
Victoria Brekenfeld
c688786d42
kms/device: Cleanup unused code
2025-07-28 17:46:46 +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