Files
RedBear-OS/local/config/drivers.d/30-graphics.toml
T
vasilito a00c13e5c7 drivers: redox-drm wins virtio-gpu bind for the VirGL desktop path
driver-manager had a priority tie for QEMU virtio-gpu (vendor 0x1AF4, class
0x03): redox-drm (generic class @60) vs virtio-gpud (@60). If virtio-gpud won,
it registered display.virtio-gpu (VT scanout only) and never provided
/scheme/drm/card0, starving KWin/the compositor. redox-drm had priority-61
entries for Intel and AMD but none for VirtIO. Add a priority-61 redox-drm entry
for vendor 0x1AF4 class 0x03 (subclass omitted — QEMU virtio-gpu is subclass
0x80) so the VirGL path deterministically binds redox-drm and gets a real DRM
card0. virtio-gpud remains as fallback.
2026-07-24 13:19:23 +09:00

62 lines
1.5 KiB
TOML

# Graphics and display drivers
# vesad runs as an init-managed service from initfs (framebuffer console) and
# has no rootfs binary, so it is not spawnable here and must not be listed.
[[driver]]
name = "redox-drm"
description = "DRM/KMS display driver (AMD + Intel + VirtIO)"
priority = 60
command = ["/usr/bin/redox-drm"]
[[driver.match]]
class = 0x03
[[driver]]
name = "virtio-gpud"
description = "VirtIO GPU driver"
priority = 60
command = ["/usr/lib/drivers/virtio-gpud"]
[[driver.match]]
vendor = 0x1AF4
class = 0x03
# Intel GPU — matched specifically for the display class
[[driver]]
name = "redox-drm"
description = "Intel GPU display driver"
priority = 61
command = ["/usr/bin/redox-drm"]
[[driver.match]]
vendor = 0x8086
class = 0x03
subclass = 0x00
# AMD GPU — matched specifically for the display class
[[driver]]
name = "redox-drm"
description = "AMD GPU display driver"
priority = 61
command = ["/usr/bin/redox-drm"]
[[driver.match]]
vendor = 0x1002
class = 0x03
subclass = 0x00
# VirtIO GPU (QEMU virtio-gpu / VirGL, e.g. 1AF4:1050 class 03) — bind redox-drm
# at higher priority than the base virtio-gpud (@60) so the desktop path gets a
# real /scheme/drm/card0 (redox-drm's built-in VirtIO KMS driver) instead of the
# display.virtio-gpu VT-only scanout. Subclass is intentionally omitted:
# QEMU reports virtio-gpu as class 0x03 subclass 0x80, not 0x00.
[[driver]]
name = "redox-drm"
description = "VirtIO GPU display driver (VirGL/KMS)"
priority = 61
command = ["/usr/bin/redox-drm"]
[[driver.match]]
vendor = 0x1AF4
class = 0x03