Commit graph

808 commits

Author SHA1 Message Date
Vaxry
4fc95d646d
renderer: asynchronously load background tex (#11749)
Bumps required hyprgraphics to 0.1.6

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-09-18 22:10:30 +02:00
Vaxry
91f592a875
workspace: fix relative workspaces with monitor descs 2025-09-18 20:46:57 +01:00
Vaxry
1cb8cd3930
solitary: fix check for config error (#11733)
Adds a blocker for solitary optimizations if there is a hyprerror present
2025-09-17 14:03:49 +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
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
UjinT34
0d45b277d6
internal: Solitary clients with single subsurface & verbose solitary/tearing/DS checks (#11228)
Adds more verbose checks for various conditional rendering mechanisms
2025-08-22 18:24:25 +01:00
UjinT34
4e8875b5e9
hdr: scRGB, HLG and SDR -> HDR fixes (#11499) 2025-08-22 11:13:55 +01:00
Aaron Tulino
3370a6a83d
monitor: fix dpms toggling animations when state is unchanged (#11480) 2025-08-19 19:30:26 +01:00
UjinT34
1d67987459
hdr: fix overrides and missing edid hdr metadata (#11476) 2025-08-19 19:28:52 +01:00
Vaxry
0840103ae0
renderer: improve modeset timings (#11461)
some CRTCs will just happily eat frames and we can't do much. Some will eat one.

Adds a 5-frame buffer to DPMS and Added animations. Better than nothing.
2025-08-17 17:14:29 +01:00
Vaxry
251288ec59
renderer: add dpms animations (#11452) 2025-08-17 08:37:13 +01:00
Vaxry
3d4dc19412
renderer: improve zoom in anims (#11453)
Removes `animations:first_launch_animation` as it's useless now
2025-08-16 20:02:15 +01:00
vaxerski
78c9e2080c framescheduler: fix edge case crashes
rare UAFs because renderMonitor can call onDisconnect (ugh, that should be changed...)

fixes #11073
2025-08-16 16:52:40 +02:00
Kamikadze
beee22a95e
refactor: Use new hyprutils casts (#11377) 2025-08-14 15:44:56 +01:00
vaxerski
cb6589db98 misc: remove commas from device names
ref #11399
2025-08-11 20:01:33 +02: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
Martin
3e35797b18
fix: add climits includes (#11288) 2025-07-31 01:12:05 +02:00
Vaxry
abe29647ae
monitor: fix crash on mutating workspace vec
fixes #11236
2025-07-28 22:08:05 +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
mavonarx
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
Vaxry
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
Vaxry
49abc193f7
framescheduler: check monitor validity in doLater 2025-07-18 12:09:43 +02:00
Tom Englund
b46dc9ee0c
framescheduler: dont if check deleted weakpointer (#11063)
if m_monitor is destroyed the doOnReadable will eventually hit UB on
destruction if checking a destroyed m_monitor. acctually use the
captured mon weak pointer.
2025-07-17 21:59:20 +02:00
UjinT34
e15014e031
protocols/cm: Fix preferred image description (#11026) 2025-07-15 19:33:14 +02:00
Vaxry
6821723b44
splashes: add zacoons' splash
winner of the 4th ricing comp
2025-07-11 23:47:48 +02:00
Tom Englund
e6bb809663 monintor: remove rathandler
is this even used? lets just remove it.
2025-07-11 17:51:04 +02:00
Kamikadze
c6497a7193
internal: Prevent double-free in attemptDirectScanout (#10974) 2025-07-09 14:39:36 +02:00
outfoxxed
78e9eddfb6
core: use new typed signals from hu (#10853) 2025-07-08 18:56:40 +02:00
Vaxry
8f948827a6
Renderer: Implement new render scheduling (#10936)
Implements a new render scheduling method, where we triple buffer when necessary.

Enabled by default, improves FPS on underpowered devices.

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-07-08 12:41:10 +02:00
aphelei
e9c5594186
renderer: add mouse zoom animations (#10882)
Adds animations for the mouse zoom effect.
2025-07-01 11:33:48 +02:00
outfoxxed
3bbdf9dc5a
protocols: add ext-workspace implementation (#10818) 2025-06-26 18:32:44 +02:00
UjinT34
cf7e3aa448
renderer/cm: Add automatic hdr (#9785) 2025-06-23 14:33:09 +02:00
Vaxry
aba2cfe7a8
asyncDialogBox: lock box in fdWrite to prevent a uaf (#10759) 2025-06-16 17:02:08 +02:00
UjinT34
c3894d9288
config/monitor: Add monitor v2 HDR rules (#10623) 2025-06-15 12:15:18 +02:00
Joel-Valenciano
ad85406220
drm-lease: Add Multi-GPU Support (#10099) 2025-06-13 15:17:32 +02:00
Vaxry
412c7dc7f7
renderer: fixup some missing fadeout cases with special
fixes some fadeout missing cases:

- closing last window
- closing above fs
- closing in general

fixes #10283
2025-06-11 17:52:23 +02:00
Kamikadze
0a47575c7f
internal: Use using instead of #define to alias smart pointers (#10673) 2025-06-08 08:13:56 +01:00
Kamikadze
66b99bd277
monitor: ensure autoDir is applied when changed (#10672) 2025-06-07 21:12:43 +01:00
Kamikadze
69c2b2926e
internal: refactor to use empty() (#10599) 2025-05-31 19:49:50 +01:00
Kamikadze
4078e1d17c
refactor: replace all typedef with using (#10594) 2025-05-31 14:02:02 +01:00
Kamikadze
9190443d95
refactor: use std::ranges whenever possible (#10584) 2025-05-30 14:25:59 +01:00
vaxerski
9b327ddfd1 monitor: mark 0, 0 presentation timestamps as invalid
fixes #10562
2025-05-27 21:26:47 +02:00
Nikolaos Karaolidis
90d0b8ecae
core: add auto-center arrangements (#10527)
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-05-27 15:51:59 +01:00
Nikolaos Karaolidis
c2805aad92
config: add maxwidth monitor resolution mode (#10528)
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-05-26 19:25:58 +02:00
Vaxry
d9c8a37811
input: always allow focus to permission popups 2025-05-18 19:34:20 +02:00
Tom Englund
5ceb0ec15d
core: drop the legacy renderer (#10408)
* core: drop the legacy renderer

the legacy renderer is broken and barely used, drop it.

* Nix: drop support for legacyRenderer

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-05-15 10:13:24 +01:00
CyrenArkade
1ce614dfc0
animations: Add option for animating workspaces as if the first and last were adjacent (#10277)
* add option for animating workspaces as if the first and last were adjacent

* change wraparound detection to use IDs instead of dispatcher

* move shouldWraparound from MiscFunctions to Monitor
2025-05-06 03:54:27 +02:00
shane blackthorne
ec93f8a1cd
socket2: add monitorremovedv2 event (#10229) 2025-05-06 03:52:36 +02:00