You are not logged in.
Hello.
I want to try out 3D acceleration and OpenGL in a virt-manager Fedora Workstation 40 VM via VirtIO graphics.
I've learnt that it's not straightforward with Nvidia (I have nvidia-open installed and an RTX 4060),
so I found a few guides all of which recommend adding this to the VM XML:
<graphics type="egl-headless">
<gl rendernode="/dev/nvidia0"/>
</graphics>
However, even with this graphics device added, the VM still can not start:
Unable to complete install: 'internal error: process exited while connecting to monitor: failed to get driver name for fd 3
MESA-LOADER: failed to retrieve device information
failed to get driver name for fd 3
2024-09-16T11:34:29.274122Z qemu-system-x86_64: egl: EGL_MESA_image_dma_buf_export not supported
2024-09-16T11:34:29.274171Z qemu-system-x86_64: egl: render node init failed'
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
installer.start_install(guest, meter=meter)
File "/usr/share/virt-manager/virtinst/install/installer.py", line 695, in start_install
domain = self._create_guest(
^^^^^^^^^^^^^^^^^^^
File "/usr/share/virt-manager/virtinst/install/installer.py", line 637, in _create_guest
domain = self.conn.createXML(initial_xml or final_xml, 0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/libvirt.py", line 4545, in createXML
raise libvirtError('virDomainCreateXML() failed')
libvirt.libvirtError: internal error: process exited while connecting to monitor: failed to get driver name for fd 3
MESA-LOADER: failed to retrieve device information
failed to get driver name for fd 3
2024-09-16T11:34:29.274122Z qemu-system-x86_64: egl: EGL_MESA_image_dma_buf_export not supported
2024-09-16T11:34:29.274171Z qemu-system-x86_64: egl: render node init failed
Am I doing something wrong? Or am I out of luck?
I basically just want to create a couple of gaming VMs to allow my friends to use the resources of my PC to play while they're over.
So far, I've only been able to do so with a Windows 11 dualboot and Hyper-V GPU partitioning, but the performance was just slightly not enough,
so I've decided to try and do something similar on Arch and Linux guests, and VirtIO is so far the closest thing I could find.
Thanks.
Offline
gl rendernode="/dev/nvidia0
I would expect the card to be accessed through /dev/dri/something , are you sure /dev/nvidia0 exists on your host ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
/dev/nvidia0 does exist on my system
[mine_diver@ABLPHA ~]$ ls /dev | grep nvidia0
nvidia0
I have also tried /dev/dri/renderD128, but it throws a different error
Unable to complete install: 'internal error: process exited while connecting to monitor: 2024-09-16T13:14:33.265005Z qemu-system-x86_64: egl: eglInitialize failed: EGL_NOT_INITIALIZED
2024-09-16T13:14:33.265112Z qemu-system-x86_64: egl: render node init failed'
Offline
Getting the feeling that this might be a "nvidia-open" bug, not sure how to switch safely to "nvidia" though to test.
Offline
Nope, switched to "nvidia", regenerated UKIs, still same errors for both paths.
Edit: after googling for a while longer, I've stumbled upon a couple of reports about newer Nvidia drivers simply breaking EGL.
Examples:
1. https://gitlab.freedesktop.org/mesa/mesa/-/issues/11549
2. https://forums.opensuse.org/t/nvidia-eg … s/178593/3
So, I'm getting the impression that there's nothing I can do for now.
Last edited by mine_diver (2024-09-17 21:43:17)
Offline
The mesa report is with the nividia 555 driver, the other one looks like it is about the nvidia 550 driver.
Since forum users have reported issues with nvidia 550 - 555 and 560 , that are NOT present with nvidia 535 there's atleast one more thing left to try:
Switch to https://aur.archlinux.org/pkgbase/nvidia-535xx-utils .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
How would I go about doing that? Doesn’t seem like "yay" is able to replace the installed driver with the older one, it just says that they conflict and stops.
Offline
How would I go about doing that? Doesn’t seem like "yay" is able to replace the installed driver with the older one, it just says that they conflict and stops.
Please post the command you used and the full output it generated.
https://bbs.archlinux.org/viewtopic.php?id=57855
Offline
Yeah, sorry, it was late so I wanted to respond with at least something.
Here's the command:
yay -S nvidia-535xx-utils
And the error:
looking for conflicting packages...
:: nvidia-535xx-utils-535.183.01-2 and nvidia-utils-560.35.03-2 are in conflict. Remove nvidia-utils? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing nvidia-utils breaks dependency 'nvidia-utils=560.35.03' required by lib32-nvidia-utils
:: removing nvidia-utils breaks dependency 'nvidia-utils=560.35.03' required by nvidia
-> error installing: [/home/mine_diver/.cache/yay/nvidia-535xx-utils/nvidia-535xx-utils-535.183.01-2-x86_64.pkg.tar.zst] - exit status 1
I understand what the error means, but I don't know how to resolve it safely.
Offline
Install all the resulting nvidia-535xx packages in the same transaction, i.e.
yay -S nvidia-535xx-utils lib32-nvidia-535xx-utils nvidia-535xx-dkms
if yay can't resolve this properly either use pacman -U on the packages directly, or remove the old ones ignoring packaging conflicts with
pacman -Rdd nvidia {lib32-,}nvidia-utils
Online
Thanks, successfully installed now.
However, I've just tried all the previous approaches (egl-headless, /dev/nvidia0, /dev/dri/renderD128, and normal setup via Spice config) and all of them still throw the same error.
So, I guess something else is broken?
Offline
Hi, any updates?
Offline
Hi, any updates?
Strange. Not an expert in the topic but your spice is not listening and it also seems like the error you have there relates to a socket.
Can't be so sure, though.
Online
nicksm1 wrote:Hi, any updates?
Strange. Not an expert in the topic but your spice is not listening and it also seems like the error you have there relates to a socket.
Can't be so sure, though.
Rather the problem's in libvirt, pure qemu is working with gl. Anyway, having the same problem for a long time now, and I've just gave up trying. Still waiting for fix
Offline