https://bugs.freedesktop.org/show_bug.cgi?id=107309
Bug ID: 107309 Summary: libGL error: MESA-LOADER: failed to retrieve device information on virgl Product: DRI Version: XOrg git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: libdrm Assignee: dri-devel@lists.freedesktop.org Reporter: vliaskovitis@suse.com
Created attachment 140732 --> https://bugs.freedesktop.org/attachment.cgi?id=140732&action=edit xf86drm: Correctly parse pci device information for virtio gpu
Mesa 18.1.3-201.1 kernel 4.17.5-1-default libdrm 2.4.92-1.2
glxinfo | grep -i renderer OpenGL renderer string: virgl
LIBGL_DEBUG=verbose glxgears libGL error: MESA-LOADER: failed to retrieve device information libGL: using driver virtio_gpu for 4 libGL: OpenDriver: trying /usr/lib64/dri/tls/virtio_gpu_dri.so libGL: OpenDriver: trying /usr/lib64/dri/virtio_gpu_dri.so
Adding some debug drmMsg() prints, I found that the MESA-LOADER error message happens because drmGetDevice2() returns -ENODEV. And that happens because drmParseSubsystemType() returns -EINVAL.
drmParseSubsystemType() expects /sys/dev/char/DRM_MAJOR:0/device/subsystem to be one of pci, usb, platform, hostix. But virtio-gpu has bus subsystem virtio:
ls -al /sys/dev/char/226:0/device/subsystem lrwxrwxrwx 1 root root 0 Jul 19 17:39 /sys/dev/char/226:0/device/subsystem -> ../../../../bus/virtio
ls -al /sys/dev/char/226:128/device/subsystem lrwxrwxrwx 1 root root 0 Jul 19 17:39 /sys/dev/char/226:128/device/subsystem -> ../../../../bus/virtio
I am not sure if this is a cosmetic error, or if it matters. I am attaching a proposed patch.
Since the virtio-gpu device is actually a pci device, we can still parse the correct information from the corresponding pci device:
ls -al /sys/dev/char/226:0 lrwxrwxrwx 1 root root 0 Jul 20 13:30 /sys/dev/char/226:0 -> ../../devices/pci0000:00/0000:00:02.0/virtio0/drm/card0
i.e. use /sys/dev/char/226:128/../../../ instead of /sys/dev/char/226:128/ for virtio devices.
to parse subsystem, and subsequently pci bus and pci device information.
(Let me know if bugzilla is still the place to report bugs, or if https://gitlab.freedesktop.org/mesa/drm is now the preferred location)
https://bugs.freedesktop.org/show_bug.cgi?id=107309
--- Comment #1 from Emil Velikov emil.l.velikov@gmail.com --- The message is harmless since Mesa falls back to use the DRM driver name.
That said, a slightly better (I'm obviously biased) solution has been on the list for ~month [1]. Just double-checked and pushed it to master.
[1] https://lists.freedesktop.org/archives/dri-devel/2018-June/181067.html
https://bugs.freedesktop.org/show_bug.cgi?id=107309
Emil Velikov emil.l.velikov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
https://bugs.freedesktop.org/show_bug.cgi?id=107309
--- Comment #2 from Vasilis LIaskovitis vliaskovitis@suse.com --- Cool, thanks!
dri-devel@lists.freedesktop.org