w23 / obs-studio

OBS - Free and open source software for live streaming and screen recording

Home Page:https://obsproject.com/mantis/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

missing displays in framebuffer list

edrex opened this issue · comments

With external plugged, only external is listed:
dual-display
After unplugging external, main display is missing:
single-display

But other times only the laptop display is shown when both are plugged.

Following on from #8 (comment)

I'm working on a project using libdrm and stumbled upon this thread:

I guess this has to do with hotplugging in drm. Framebuffers disappear for me too when no device is plugged.
There is a way to trick the kernel to think there is a device plugged in by passing a parameter at boot time.

video=HDMI-A-1:1920x1080@60 drm.edid_firmware=edid/myedid.dat

As I understand it causes the kms (kernel mode setting) to initialize the crtc no matter if there is a device is plugged.
The second parameter (which i found to be required for some cases) is the location of an edid file.
This file is normally read out through HDMI and contains modes (resolution, refresh rates) available for a
specific monitor. It can either be read out from the display using some command line tool or a generic
edid file can be used.

Here is a link to info on these topics: https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID

btw: the enumeration seems to list "cursor" framebuffers as well - these are the 256x256 sized framebuffers in the dropdown.
They could be filtered out by determining the type when enumerating.

I hope this helps.