- GPU : NVIDIA GeForce GTX 1660 SUPER (driver 590.48.01)
- Connectorr : HDMI-A-1 → TV Samsung 2560x1440
- Session : KDE Plasma sur Wayland
- Capture : KMS via
/dev/dri/card1(nvidia-drm) - Permissions : OK (user in
videogroup,/dev/dri/card1accessible)
Sunshine use KMS/DRM to capture the screen. But when the Samsung TV is off, the DRM connector switch to "disconnected", KMS planes doesn't have any active framebuffer, and Sunshine do not find any monitor.
Plan : make the GPU think there is always a screen connected by injecting the EDID of the Samsung TV via Kernel params.
-
File :
/sys/class/drm/card1-HDMI-A-1/edid(available only if TV is on) -
Target :
/usr/lib/firmware/edid/samsung-tv.binsudo mkdir -p /usr/lib/firmware/edid/ sudo cp /sys/class/drm/card1-HDMI-A-1/edid /usr/lib/firmware/edid/samsung-tv.bin
- File :
/etc/mkinitcpio.conf - update
FILES=()in :FILES=(/usr/lib/firmware/edid/samsung-tv.bin)
- File :
/etc/default/limine - Add at the end of line
KERNEL_CMDLINE[default]the params :drm.edid_firmware=HDMI-A-1:edid/samsung-tv.bin video=HDMI-A-1:edrm.edid_firmware=HDMI-A-1:edid/samsung-tv.bin→ force EDID of the TV on this connectorvideo=HDMI-A-1:e→ force the connector to be enabled
- Final version :
KERNEL_CMDLINE[default]+="quiet nowatchdog splash rw rootflags=subvol=/@ root=UUID=068e3dcb-7850-4b6b-baea-1e05a3925fd7 resume=UUID=7a1d8d9f-9a66-4612-b0f1-a5c93c3c64fc drm.edid_firmware=HDMI-A-1:edid/samsung-tv.bin video=HDMI-A-1:e"
sudo mkinitcpio -Psudo limine-updatecat /sys/class/drm/card1-HDMI-A-1/status