embear-engineering / drm-framebuffer

A simple application which can be used to test a Linux DRM device
GNU General Public License v3.0
55 stars 21 forks source link

Could not get drm resources #7

Closed FlysoftBeta closed 7 months ago

FlysoftBeta commented 10 months ago
$ sudo ./drm-framebuffer -d /dev/dri/card0 -l
Could not get drm resources
eichenberger commented 10 months ago

Hi @FlysoftBeta What kind of hardware/system are you using? Could it be that you have more than one card available under /dev/dri/ (e.g. a /dev/dri/card1)?

FlysoftBeta commented 10 months ago

What kind of hardware/system are you using?

I‘m using NVIDIA RTX2060, Intel i7-10700, Debian 12

Could it be that you have more than one card available under /dev/dri/ (e.g. a /dev/dri/card1)?

Unfortunately there's only one graphics card, I have no idea why my integrated card is missing here :(

eichenberger commented 10 months ago

Hmm strange, I tested it again on my system (besides several embedded Systems):

~$ sudo ./drm-framebuffer -d /dev/dri/card0 -l
connectors:
Number: 236 Name: eDP-1 Encoder: 235 Crtc: 80
Number: 245 Name: HDMI-A-1 Encoder: 0
Number: 254 Name: DP-1 Encoder: 253 Crtc: 131
Number: 264 Name: DP-2 Encoder: 0
Number: 273 Name: DP-3 Encoder: 0
Number: 282 Name: DP-4 Encoder: 0
Framebuffers:
CRTCs: 80 131 182 233
encoders: 235 244 253 255 256 257 258 263 265 266 267 268 272 274 275 276 277 281 283 284 285 286

I have two things in mind that could cause the issue.

  1. A display manager (e.g. Kwin, Mutter) is blocking the access to the device. However, this is not happening for me and would surprise me.
  2. Could it be that you use the proprietary Nvidia driver and that one doesn't support DRM properly? What kind of devices do you see in the sysfs and what driver is used?
    
    ~$ ls -hal /sys/class/drm/card0/
    total 0
    drwxr-xr-x 12 root root    0 Nov 19 14:07 .
    drwxr-xr-x  4 root root    0 Nov 19 14:07 ..
    drwxr-xr-x  5 root root    0 Nov 19 14:07 card0-DP-1
    drwxr-xr-x  5 root root    0 Nov 19 14:07 card0-DP-2
    .....

~$ cat /sys/class/drm/card0/device/uevent DRIVER=i915 PCI_CLASS=30000

FlysoftBeta commented 10 months ago
total 0
drwxr-xr-x 3 root root    0 Nov 19 22:38 .
drwxr-xr-x 4 root root    0 Nov 19 22:38 ..
-r--r--r-- 1 root root 4.0K Nov 19 22:39 dev
lrwxrwxrwx 1 root root    0 Nov 19 22:39 device -> ../../../0000:01:00.0
drwxr-xr-x 2 root root    0 Nov 19 22:39 power
lrwxrwxrwx 1 root root    0 Nov 19 22:38 subsystem -> ../../../../../../class/drm
-rw-r--r-- 1 root root 4.0K Nov 19 22:38 uevent

DRIVER=nvidia
PCI_CLASS=30000
PCI_ID=10DE:1F08
PCI_SUBSYS_ID=174B:A520
PCI_SLOT_NAME=0000:01:00.0
MODALIAS=pci:v000010DEd00001F08sv0000174Bsd0000A520bc03sc00i00

No connectors? Strange...

eichenberger commented 10 months ago

It really looks like the connectors are missing... Maybe it is related to this? https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting https://bugs.archlinux.org/task/73720

Does it change something if you set nvidia_drm.modeset=1 through the kernel parameters?

FlysoftBeta commented 7 months ago

Hi, I'm sorry but I accidentally cleared my email inbox and didn't see this... But now I switched to Arch Linux with intel GPU and everything worked like a charm.

Again, thanks for your help!

eichenberger commented 7 months ago

Perfect, thanks a lot for the feedback