3
0
mirror of https://github.com/hyprwm/Hyprland.git synced 2026-02-05 21:35:43 +00:00
Commit Graph

96 Commits

Author SHA1 Message Date
97c8a2f1cf protocolMgr: remove IME / virtual input protocols from sandbox whitelist 2026-01-05 18:53:29 +01:00
6d3b17ee83 render/cm: various updates, remove old protocols (#12693)
* fix named primaries

* default to gamma22

* mark mastering primaries as supported

* remove xx-cm and frog support

* immutable primaries and image descriptions

* clang-format
2025-12-27 18:01:46 +01:00
6175ecd4c4 debug: move to hyprutils' logger (#12673) 2025-12-18 17:23:24 +00:00
bb963fb002 protocols/cursor-shape: impl version 2 (#12270) 2025-11-30 15:05:31 +00:00
8e8bfbb0b1 protocols: add Fifo-v1 and commit-timing-v1 (#12052)
* protocols: add Fifo-v1

introduce fifo-v1

* fifo: only present locked surfaces

dont present to unlocked surfaces and commit pending states from the
fifo protocol.

* fifo: cformat

cformat

* protocols: add committiming and surface state queue

introduce CSurfaceStateQueue and commit-timing-v1

* fifo: schedule a frame if waiting on barrier

if we are waiting on a barrier the state doesnt commit until the next
refresh cycle meaning the monitor might have no pending damage and we
never get onPresented to unlock the barrier, moment 22. so schedule a
frame.

* fifo: properly check monitor intersection

check for m_enteredoutputs or monitor intersection if client hasnt bound
one yet, and dont fifo lock it until the surface is mapped.

* buffer: try to merge states before committing them

try to merge states before committing them meaning way less churn and
surface commits if a surface sends multiple small ones while we wait for
buffer readyness from either fifo locks or simply fences.

* buffer: dont commit states past the buffer

certain changes are relative to the buffer attached, cant go beyond it
and apply those onto the next buffer.

* buffer: set the lockmask directly

cant use .lock since the state hasnt been queued yet, set the lockmask
directly when exporting buffer fence.

* fifo: dont fifo lock on tearing

dont fifo lock on tearing.

* buffer: queue the state directly

queue the state directly and use the .lock function instead of directly
modify the lockMask on the state.

* buffer: revert creating texture at commit time

fifo barriers introduces such long wait that upon commit time a
race happends with current xdg configure implentation that the buffer
and image is actually destroyed when entering commitState, doing it at
buffer creation time with EGL_PRESERVED_KHR means it sticks around until
we are done. so revert 82759d4 and 32f3233 for now.

* buffer: rename enum and lockreasons

eLockReason and LOCK_REASON_NONE.

* fifo: workaround direct scanout lock

workaround cursor commits causing fifo to get forever locked, this
entire thing needs to be worked out.
2025-11-06 13:25:49 +00:00
ea42041f93 protocols: implement pointer-warp-v1 (#11469) 2025-08-29 22:16:40 +02:00
aaedce596e protocols: implement ext-data-control (#11323)
This protocol has superseded wlr-data-control
2025-08-15 15:38:28 +01:00
310fc629b0 protocols: fix presentation time proto version (#11306) 2025-08-02 13:40:28 +02:00
ecc04e8ba7 drm: check syncobj timeline support before advertising protocol (#11117)
Prevents crashes on systems where DRM driver lacks syncobj timeline
support (e.g., Apple Silicon with Honeykrisp driver). Applications
like Zed and WezTerm would crash with 'Timeline failed importing'
when trying to use explicit sync.

Fixes #8158 #8803

---------

Co-authored-by: mvonarx <matthias.vonarx@sitrox.com>
2025-07-23 23:11:07 +02:00
d84699d8e5 opengl: detect android fence support and disable explicit if it's missing (#11077)
Checks for explicit sync support via the android fences, and falls back to implicit sync if it isn't
2025-07-19 12:38:41 +02:00
78e9eddfb6 core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
3bbdf9dc5a protocols: add ext-workspace implementation (#10818) 2025-06-26 18:32:44 +02:00
86b5e3bfbc config: nuke explicit_sync settings
were not used anymore, explicit is on by default
2025-06-19 14:58:03 +02:00
d037c54260 protocols: support xdg-shell v7
there's nothing special we need to add for this rev
2025-06-15 12:21:16 +02:00
ad85406220 drm-lease: Add Multi-GPU Support (#10099) 2025-06-13 15:17:32 +02:00
d14f81e6ac protocols: whitelist wp_color_manager_v1 for security_context (#10723)
Now that `wine` (and `proton`) supports Wayland it makes sense to allow the `wp_color_manager_v1` in Flatpak for native HDR without the need for `gamescope`!
2025-06-13 00:27:30 +02:00
69c2b2926e internal: refactor to use empty() (#10599) 2025-05-31 19:49:50 +01:00
d9cad5e1b6 protocols: refactor class member vars (core) (#10259) 2025-05-03 16:02:49 +02:00
ce821294e2 managers: refactor class member vars (#10242) 2025-05-02 17:07:20 +02:00
50e1bec85f helpers: refactor class member vars (#10218) 2025-04-30 23:45:20 +02:00
23ecce0e7a protocols: add support for xdg-system-bell-v1 2025-04-29 18:32:21 +01:00
a9549dbca0 protocols: add Hyprland toplevel mapping implementation (#9775) 2025-04-24 18:10:57 +02:00
241a4935a2 compositor: refactor class member vars (#10141) 2025-04-22 15:23:29 +02:00
a4f7d7c594 protocols: add xdg_toplevel_tag_v1 support
Adds a new windowrule to target windows by xdgTag, xdgtag:
2025-04-21 22:30:27 +01:00
cca0f48b74 renderer: add an option to disable cm and auto-skip cm if not necessary
fixes #9641

adds render:cm_enabled default true
2025-03-18 11:30:08 +00:00
f1ef724a87 protocols: Ensure protocol dtors are called in ProtocolManager dtor (#9521) 2025-03-03 01:57:49 +01:00
32a3d84d74 protocols: fix wrong iface for xdg_dialog
fixes #9498
2025-02-26 20:49:31 +00:00
6787fe8933 protocols: Support wp color management proto (#9444)
Adds support for the recently merged w-p CM protocol alongside the (now deprecated) old CM WIP protocols
2025-02-26 15:56:37 +01:00
f83fe9986b protocols: add version 2 of ext-idle-notify-v1 protocol (#8959)
Signed-off-by: James Ramsey <james.jehiel.ramsey@gmail.com>
Co-authored-by: James Ramsey <james.jehiel.ramsey@gmail.com>
2025-02-11 15:58:43 +01:00
31431a9271 protocols: Support content-type-v1 proto (#9226) 2025-02-02 20:25:29 +01:00
373108102c protocols: implement hyprland-ctm-control rev 2 (#9267)
* protocols: implement hyprland-ctm-control v2

* bump h-p and nix
2025-02-02 18:31:04 +01:00
465cf66df1 protocols: add hyprland_surface_v1.set_visible_region implementation (#9120) 2025-01-23 22:57:33 +01:00
0a1ae48a9f core: move all shared_ptrs from the STL to hyprutils (#9143) 2025-01-23 21:55:41 +01:00
407453166c protocols: add hyprland_lock_notify_v1 implementation (#9092) 2025-01-19 18:21:36 +00:00
830350a1f7 core: Add support for HDR and color management protocols (#8715) 2025-01-07 18:32:50 +00:00
dde3e082c9 protocols: add hyprland_surface_v1 implementation (#8877) 2025-01-01 23:34:02 +00:00
098e491a43 protocols: mark primarySelection as not privileged
fixes #8479
2024-11-15 00:47:34 +00:00
f044e4c951 internal: Move CMonitor to SP (#8178)
* move monitors to sp

* XD
2024-10-19 23:03:29 +01:00
1bf63dfdcd protocols: Add support for hyprland-ctm-control-v1 (#8023)
* initial ctm support

* flake.lock: update

* Meson: bump required versions and add ctm proto

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-10-08 16:59:15 +01:00
da86aac0f5 security-context: implement protocol
fixes #7318
2024-10-06 14:07:07 +01:00
6fbfeefc71 protocolmgr: don't expose the fallback output 2024-10-05 14:40:03 +01:00
488efab636 single-pixel-buffer: new protocol impl
fixes #6624
2024-09-30 00:58:16 +01:00
1ac2fc3f7e protocols: destroy new xdgDialog protocol at right time (#7600) 2024-08-31 21:07:23 +02:00
1c9d56998d xdg-dialog: implement new protocol 2024-08-30 15:53:44 +02:00
72c7818ae6 misc: constify the remaining for loops (#7534)
now we roll loops at blazing constified speed.
2024-08-26 20:24:30 +02:00
640d161851 renderer: Explicit sync fixes (#7151)
Enables explicit sync by default for most platforms

`misc:no_direct_scanout` -> `render:direct_scanout`
2024-08-06 15:52:19 +02:00
3b9b5346b8 protocols: Move globalshortcuts impl (#7102)
* move global shortcuts to hyprwayland-scanner

* remove wayland-scanner from deps

* fix the thing
2024-07-30 23:33:56 +02:00
60b663e276 protocols: move text-input-v1 to hyprwayland-scanner (#7096)
* move text-input-v1 to hyprwayland-scanner

* vro
2024-07-29 18:14:19 +02:00
ec672b1ab9 protocols: move screencopy and toplevel export to hyprwayland-scanner (#7065)
* move screencopy and toplevel export to hyprwayland-scanner

* oops
2024-07-27 16:02:02 +01:00
3e543d2ce8 core: Properly shutdown wl display (#7018)
* correctly destroy wayland globals

* properly shutdown and cleanup hyprland

* appease the nitpick gods and some comments
2024-07-24 19:07:36 +02:00