Commit graph

250 commits

Author SHA1 Message Date
UjinT34
c2369bc3ab
drm: Avoid excessive atomic properties updates (#95)
* do not set cursor planeProps unless smth changed

* do not skip cursor state flag setting

* drm: scan only cards and not outputs, safeguard against null renderer (#106)

* drm: dont scan card outputs

no need to scan for card[0-9]* and probe card0-eDP etc if they are kms,
bootvga and rendernodes etc. skip the wildcard and remove a unused
size_t variable.

* drm: dont commit state if renderer is missing

setting certain env vars to force egl implentations makes the render
creation fail on the second gpu. instead of causing a coredump,
safeguard commitState and let the monitor turn blank instead.

* props: bump version to 0.5.0

* drm: Validate conn before dereference in CDRMAtomicRequest::commit() (#108)

During startup, CDRMAtomicImpl::reset() may emit a call to method
commit of a CDRMAtomicRequest instance with member "conn" uninitialized,
leading to a segfault. Validate the the pointer before dereference it as
a workaround.

Fixes: 55ac962 ("DRM: preliminary atomic support")
Closes: https://github.com/hyprwm/aquamarine/issues/107

Signed-off-by: Yao Zi <ziyao@disroot.org>

* buffer: remove useless forward def

* drm: clearer flow when rescanning connectors (#113)

* consolidates into checkOutput for clearer flow when rescanning connectors

* add error log

* drm: allow multigpu blit from explicit to implicit (#114)

* version: bump to 0.5.1

* flake.lock: update

* flake.nix: gcc13 -> gcc14 (#118)

* drm: udev scan only drm_minor, not connectors (#119)

* drm: log errno set by drmModeAtomicCommit (#120)

* drm: moved null check for renderer to shouldBlit() (#109) (#121)

* drm: only fail INVALID format when enabled (#122)

* flake.lock: update

* drm: only clear buffers when fullReconfigure succeeds (#124)

* core/drm: Add HDR Support (#112)

* version: bump to 0.6.0

* drm: limit udev drm_minor to Linux after a132fa41be (#129)

Not implemented by libudev-devd yet:

[ERR] [AQ] drm: No gpus in scanGPUs.
[ERR] [AQ] drm: Found no gpus to use, cannot continue
[ERR] [AQ] DRM Backend failed

* do not set cursor planeProps unless smth changed

* test separate cursor commits

* do not change hdr blob unless asked to

* rebase

* split atomic commit processing and move hdr & colorspace into modeset

* fix wide color gamut flag & cleanup

* remove unused debug var

---------

Signed-off-by: Yao Zi <ziyao@disroot.org>
Co-authored-by: Tom Englund <tomenglund26@gmail.com>
Co-authored-by: Vaxry <vaxry@vaxry.net>
Co-authored-by: Ziyao <ziyao@disroot.org>
Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com>
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
Co-authored-by: Richard Henninger <56615615+richen604@users.noreply.github.com>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2025-01-10 18:38:51 +00:00
Jan Beich
5bc315ed56
drm: limit udev drm_minor to Linux after a132fa41be (#129)
Not implemented by libudev-devd yet:

[ERR] [AQ] drm: No gpus in scanGPUs.
[ERR] [AQ] drm: Found no gpus to use, cannot continue
[ERR] [AQ] DRM Backend failed
2025-01-07 11:35:34 +00:00
4846091641 version: bump to 0.6.0 2025-01-05 19:40:53 +01:00
UjinT34
aeab812e0f
core/drm: Add HDR Support (#112) 2025-01-05 14:44:39 +00:00
Ikalco
f7082bef81
drm: only clear buffers when fullReconfigure succeeds (#124) 2025-01-01 20:36:46 +00:00
eecb74dc79
flake.lock: update 2024-12-23 00:27:26 +02:00
Ikalco
5e3f6013e9
drm: only fail INVALID format when enabled (#122) 2024-12-21 23:14:38 +01:00
Richard Henninger
a23e9a9bdf
drm: moved null check for renderer to shouldBlit() (#109) (#121) 2024-12-18 16:01:56 +01:00
Ikalco
ae2bf9192d
drm: log errno set by drmModeAtomicCommit (#120) 2024-12-18 15:55:53 +01:00
Ikalco
a132fa41be
drm: udev scan only drm_minor, not connectors (#119) 2024-12-17 02:58:49 +01:00
Austin Horstman
3375378354
flake.nix: gcc13 -> gcc14 (#118) 2024-12-16 22:22:52 +01:00
8e77618b40
flake.lock: update 2024-12-16 17:59:57 +02:00
9441860f40 version: bump to 0.5.1 2024-12-13 22:42:36 +00:00
Ikalco
9fc2d8e1fb
drm: allow multigpu blit from explicit to implicit (#114) 2024-12-09 22:14:39 +01:00
Ikalco
1af9816244
drm: clearer flow when rescanning connectors (#113)
* consolidates into checkOutput for clearer flow when rescanning connectors

* add error log
2024-12-07 17:53:24 +01:00
7dea26bba0 buffer: remove useless forward def 2024-12-06 15:15:24 +00:00
Ziyao
4468981c1c
drm: Validate conn before dereference in CDRMAtomicRequest::commit() (#108)
During startup, CDRMAtomicImpl::reset() may emit a call to method
commit of a CDRMAtomicRequest instance with member "conn" uninitialized,
leading to a segfault. Validate the the pointer before dereference it as
a workaround.

Fixes: 55ac962 ("DRM: preliminary atomic support")
Closes: https://github.com/hyprwm/aquamarine/issues/107

Signed-off-by: Yao Zi <ziyao@disroot.org>
2024-11-18 19:43:51 +00:00
b31a6a4da8 props: bump version to 0.5.0 2024-11-16 16:34:41 +00:00
Tom Englund
3b00e96f90
drm: scan only cards and not outputs, safeguard against null renderer (#106)
* drm: dont scan card outputs

no need to scan for card[0-9]* and probe card0-eDP etc if they are kms,
bootvga and rendernodes etc. skip the wildcard and remove a unused
size_t variable.

* drm: dont commit state if renderer is missing

setting certain env vars to force egl implentations makes the render
creation fail on the second gpu. instead of causing a coredump,
safeguard commitState and let the monitor turn blank instead.
2024-11-13 11:10:16 +00:00
UjinT34
545f506a63
drm: fix fences according to spec (#105) 2024-11-11 21:29:19 +00:00
ae32a98232 version: bump to 0.4.5 2024-11-11 13:05:37 +00:00
Vaxry
e6c392aa2c
DRM: Add a dumb allocator (#104)
Adds a drm_dumb allocator to the DRM allocator for nvidia hw cursors.
2024-11-11 13:04:23 +00:00
f5ed91d122 version: bump to 0.4.4 2024-11-09 14:40:00 +00:00
a49bc3583f
nix: add stdenvAdapters 2024-11-07 10:40:22 +02:00
Maximilian Seidler
8d732fa8af
drm: guard cursorFB buffer in restoreAfterVT (#100) 2024-10-21 17:13:19 +01:00
André Silva
e6ea0e0808 nix: libseat renamed to seatd 2024-10-21 11:22:30 +03:00
9874e08eec version: bump to 0.4.3 2024-10-14 11:39:51 +01:00
Ikalco
7c1322da25
drm: fix leases not having a backend attached (#97) 2024-10-14 11:36:46 +01:00
65dd97b5d2 version: bump to 0.4.2 2024-10-07 19:41:44 +01:00
Vaxry
d352c0dd98
DRM/Output: Implement CTM support (#92)
* flake.lock: update hyprutils

---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-10-07 19:40:37 +01:00
b82fdaff91 wayland: log compositor name in startup 2024-09-25 11:45:04 +01:00
Maximilian Seidler
203fc0f4e4
headless: add a default mode for headless outputs (#87) 2024-09-24 20:09:40 +01:00
Vaxry
8b728612a9
Session: only dispatch udev in dispatchPendingEventsAsync if on linux (#86) 2024-09-24 00:48:00 +01:00
752d0fbd14
Nix: fix cross-compilation 2024-09-18 16:14:17 +03:00
dawsers
dc399a37d3
gbm: fix modifier list not updating when renderable list is empty (#84) 2024-09-17 14:29:08 +01:00
e4a1320311 props: bump version to 0.4.1 2024-09-08 00:51:38 +01:00
9996d365ad gbm: don't select opaque pixel formats for cursor 2024-09-08 00:51:37 +01:00
Ikalco
a8eb8ae014
drm: add AQ_NO_MODIFIERS to try to mitigate hardware limitations (#77) 2024-09-06 01:00:39 +01:00
aac97a1fd1 version: bump to 0.4.0
also bump sover to 3
2024-09-02 11:16:50 +02:00
Ikalco
dd9890d2bc
drm: allow disabling commit, even if pageFlipPending (#72) 2024-09-01 19:48:15 +02:00
f8a687dd29
flake.lock: update 2024-09-01 17:11:21 +03:00
moetayuko
e12b0a9c67
gbm: override gbm_bo_get_modifier results for modifier-based allocation (#71)
Fixes https://github.com/hyprwm/Hyprland/issues/7577
2024-09-01 12:03:52 +02:00
16bbbcba65 wayland: send 1280x720 if w/h is 0 in configure 2024-08-31 14:02:08 +02:00
865cd94f97 gbm/drm: conform to different scanout requirements for different planes
ref https://github.com/hyprwm/Hyprland/issues/7005
2024-08-31 13:52:04 +02:00
b9ab839ab3 output: always emit a destroy event in ~dtor 2024-08-31 12:42:00 +02:00
cff00196f0
flake.nix: remove libinput overlay 2024-08-30 14:09:59 +03:00
Ikalco
561f50bfae
drm: don't connect before crtcs are guaranteed (#68) 2024-08-29 15:51:04 +02:00
23c7925dd3 gbm: improve automatic format selection 2024-08-28 15:01:37 +02:00
Tom Englund
7cc3d3179c
misc: make for loops const reference (#66)
we all like the dreams and prayers that compilers can optimize things
further with const.
2024-08-27 20:04:26 +02:00
Ikalco
abb3c81c59
drm: recheck crtcs before connecting on udev event (#65) 2024-08-26 20:36:16 +02:00