Commit graph

534 commits

Author SHA1 Message Date
usering-around
38169c8fdd
input: support xkb v2 format (#11482) 2025-09-11 19:42:20 +02:00
Vaxry
02bb350bb3
screencopy: add force 8 bit to fix 10b screensharing (#11623)
ref https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/270
2025-09-08 11:07:04 +02:00
Dominick DiMaggio
bce43f74eb
presentation: handle vrr for v1 clients (#11608) 2025-09-06 19:43:03 +02:00
Vaxry
4e785d12a9
protocols/kde-deco: fix tug of war in deco mode
fixes #11591
2025-09-04 10:16:54 +01:00
jmanc3
00423bb738
plugins: expose csd functionality (#11551) 2025-09-02 11:49:24 +02:00
Ikalco
ea42041f93
protocols: implement pointer-warp-v1 (#11469) 2025-08-29 22:16:40 +02:00
UjinT34
05a1c0aa73
renderer: Fix CM for DS and SDR passthrough (#11503) 2025-08-29 13:31:07 +02:00
Vaxry
81bf4eccba
input: Add fully configurable trackpad gestures (#11490)
Adds configurable trackpad gestures
2025-08-28 11:20:29 +02:00
Vaxry
d7cf95b515
tablet: remove old comment 2025-08-27 22:16:46 +02:00
Vaxry
0ed880f3f7
protocols/activation: revert send an invalid token when serial isn't valid (#11505)
This reverts commit d9cf1cb78e.

See discussion in #11505
2025-08-24 22:59:41 +02:00
Tom Englund
b329ea8e96
syncobj: use rendernode for timelines (#11087)
* syncobj: use rendernode for timelines

use rendernode for timelines instead of the drmfd, some devices dont
support to use the drmfd for this.

* opengl: use rendernode if available

use rendernode if available for CHyprOpenglImpl

* MesaDRM: use the m_drmRenderNodeFD if it exist

try use the rendernode we got from AQ if it exist.

* linuxdmabuf: use rendernode if available

use the rendernode if available already from AQ

* syncobj: prefer rendernode over displaynode

prefer the rendernode over the displaynode, and log a error if
attempting to use the protocol without explicit sync support on any of
the nodes.

* syncobj: check support on both nodes always

check support on both nodes always so it can be used later for
preferring rendernode if possible in syncobj protocol.

* syncobj: remove old var in non linux if else case

remove old m_bDrmSyncobjTimelineSupported from non linux if else case
that will fail to compile on non linux. the nodes sets support by
default to false, and if non linux it wont check for support and set it
to true.

* build: bump aq requirement

bump to 0.9.3 where rendernode support got added.

* flake.lock: update

* renderer: glfinish on software renderer

software renderers apparently bug out on implicit sync, use glfinish as
with nvidia case on implicit paths.

* flake.lock: update

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-08-24 22:32:13 +02:00
Tom Englund
ced38b1b0f
disable buffer readability checks on intel (#11515)
* dmabuf: disable buffer read check on intel

readability checks directly on buffer fds on some intel laptops is
broken, see https://gitlab.freedesktop.org/drm/intel/-/issues/9415

* sync: use rvalue ref in addwaiter doonreadable

use rvalue reference in addwaiter and doonreadable, because we store the
function in the SReadableWaiter a lot of the time, move it into place
there when that happends or let it go out of scope after function call.
2025-08-24 08:57:37 +01:00
Ross
d9cf1cb78e
protocols/activation: send an invalid token when serial isn't valid (#11505) 2025-08-23 11:45:00 +01:00
UjinT34
4e8875b5e9
hdr: scRGB, HLG and SDR -> HDR fixes (#11499) 2025-08-22 11:13:55 +01:00
Tom Englund
1a0ed00f74
protocols/wayland: use UP and rvalue refs for callbacks (#11471)
use UP and rvalue refs in CWLCallbackResource and m_callbacks.
2025-08-18 16:42:19 +01:00
Kamikadze
bca96a5d3b
protocols: Fix fading out windows with noscreenshare being visible (#11457) 2025-08-17 20:17:22 +01:00
Nihal Jere
aaedce596e
protocols: implement ext-data-control (#11323)
This protocol has superseded wlr-data-control
2025-08-15 15:38:28 +01:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
JS Deck
2be309de1d
virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214) 2025-08-04 21:29:39 +02:00
Vaxry
77068c781d
screencopy: multiply box pos by scale
fixes #11299
2025-08-03 13:28:24 +02:00
Vaxry
e1e23eb9bd
screencopy: avoid crash on cm disabled
fixes #11310

closes #11312
2025-08-02 14:35:20 +02:00
Vaxry
9607e3b5a8
screencopy: un-hdr screencopy buffers for cm-unaware clients (#11294) 2025-07-31 18:07:59 +02:00
Vaxry
a907ecd4ff
opengl: improve render fn arg clarity (#11286) 2025-07-31 16:23:09 +02:00
Maxime Nordier
23be1db1e3
dnd: drop on tablet pen tip up (#11270) 2025-07-30 22:37:36 +02:00
Tom Englund
36a8b2226f
renderer: use CRegion foreach over getRects (#10980)
instead of allocating and returning a vector, use forEach to directly
call a function on the rects.
2025-07-30 11:54:09 +02:00
Vaxry
43966cc787
foreign-toplevel: update monitor properly on changed
fixes #11197
2025-07-29 21:59:35 +02:00
xqso
5c8d675eed
ci: correct tar command for xz compression & fix typos (#11213) 2025-07-25 17:19:23 +02:00
Vaxry
31cc7f3b87
core: move workspace ptrs to weak (#11194)
Fixes some race conditions that come up in tests. We only clean up workspaces when we render a frame. With this, they are always cleared instantly.
2025-07-24 00:36:29 +02:00
Tom Englund
6ca7c14b58
CTM: check for finite value aswell (#11185)
checking for < 0.F will not catch NaN or inf values, use std::isfinite
aswell.
2025-07-23 12:09:19 +02:00
Vaxry
462729d865
protocols/subcompositor: fix subsurface sorting (#11136) 2025-07-20 19:42:40 +02:00
Thomas Müller
bf1602d9f9
renderer: implement wp-color-management-v1 transfer functions (#11084) 2025-07-20 18:20:27 +02:00
MrFantOlas
ae3cc48f22
protocols/gamma: support pipes (#11076)
Add support for pipes and potentially other valid file descriptors. Add check for more data on the socket than the required amount as per protocol.

---------

Co-authored-by: Alexandre Teixeira <alexandre.teixeira@etu.emse.fr>
2025-07-18 23:20:17 +02:00
Vaxry
a05c797e4a
compositor: properly set infinite region on null input
fixes #11065
2025-07-17 22:04:20 +02:00
UjinT34
e15014e031
protocols/cm: Fix preferred image description (#11026) 2025-07-15 19:33:14 +02:00
UjinT34
bc764f7065
protocols: Remove incorrect CM proto debug check and fix preferred image description (#11023) 2025-07-14 22:54:43 +02:00
Vaxry
d0f58baf29
screencopy: ignore hidden windows in noscreenshare
fixes #11002
2025-07-12 18:22:47 +02:00
Tom Englund
b5433bb753 singlepixel: move to unique ptrs
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
bcb96c5532 presentation: move to unique ptrs
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
f22b5971d1 dmabuf: move to unique ptrs
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
87653077f8 cursorshape: use unique ptrs
less refcounting.
2025-07-10 14:09:00 +02:00
Tom Englund
a21882be33 ctmcontrol: move to unique ptrs
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
37be9a8959 alphamodifier: move to unique ptrs
less refcounting, move by rvalue.
2025-07-10 14:09:00 +02:00
Tom Englund
f5af40afce renderpass: use unique ptr instead of shared ptr
lets use unique ptrs instead of refcounting shared ptr when its not
needed, use rvalue reference to construct in vector directly.
2025-07-10 14:09:00 +02:00
outfoxxed
78e9eddfb6
core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
Tom Englund
2f34ef141b
compositor: fix race to finish on null buffer (#10970)
if a null buffer is commited and a pending state is awaiting, drop the
pending state so we dont end up in race to finish brokeness.
2025-07-08 18:55:46 +02:00
Tom Englund
bb958a9e13 pass: overload TexPass constructor
overload it with a rvalue to allow us to move the data directly avoiding
an extra copy. because SRenderData is not trivially copyable.
2025-07-07 18:09:34 +02:00
Tom Englund
ceec1943ff compositor: dont send around int max values
we know the buffersize use it instead of int max values that can
potentially cause math issues and slowdowns. minor improvement to
glmark2 aswell.
2025-07-07 18:09:34 +02:00
Tom Englund
54369adffa
internal: iso C++ prohibits anonymous structs (#10955)
turn on -Wpedantic and name the anonymous struct.
2025-07-07 16:18:06 +02:00
Tom Englund
9adacef70b
buffer: check if buffer fd already readable (#10894)
check if buffer fd is already readable, to avoid a lot of unnecessery
systemcalls and churn.
2025-07-01 11:32:17 +02:00
Tom Englund
8c37d2ce25
sessionlock: restore cursor if hidden on unlock (#10889)
if session locks have hidden the cursor its gonna be missing unless a
new cursor shape is set, hovering windows makes us get one, moving the
wallpaper/desktop does not. set it again to left_ptr as is default on
compositor start.
2025-07-01 11:31:10 +02:00