Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] [gelöst] QUEMU/KVM ... grundlegendes zu Grafik und Performance  (Read 363 times)

Offline Isegrimm666

  • User
  • Posts: 169
Guten Morgen ...

[PROLOG]
Wie ich im vorangegangenen Post schon schrieb, habe ich mir - als QUEMU/KVM-Noob - nach dieser Anleitung eine Windows 10 - VM über QUEMU/KVM eingerichtet, die auch problemlos läuft ... jedenfalls, soweit es um Produktivsoftware geht.

(Der Hintergrund hierzu war einfach der Umstand, dass ich einige Programme über "WINE" nicht ordnungsgemäß zum Laufen bekam und ich in WINE nicht so fit bin, dass ich das gebacken bekomme.)


Soviel zur Vorgeschichte ...

Jetzt ...

... habe ich mir auf der Windows 10 - VM ein Spiel installiert ... nichts dramatisches, einfach eben nur ein "Point-and-Click-Adventure". Die Installation klappt auf der VM auch erwartungsgemäß einwandfrei ... nur beim Start kippt die VM ab.

Die Fehlermeldung sagte aus, das "OpenGL" und "3D-Beschleunigung" vorausgesetzt wird. Ich habe dann im Netz recherchiert und die Einstellungen in den Hardware-Komponenten "Anzeige Spice" und "Video QXL" entsprechend der Angaben geändert:

Video: "virtio"
3D-Beschleunigung: yes (Haken gesetzt)

Anzeige: SPICE-Server
Listen Typ: None
...
OpenGL: yes (Haken gesetzt)
GPU: NVIDIA

Leider ohne Erfolg, es erscheint beim Starten folgende Fehlermeldung:

Code: [Select]
Fehler beim Starten der Domain: Interner Fehler: process exited while connecting to monitor: src/nv_gbm.c:288: GBM-DRV error (nv_gbm_create_device_native): nv_common_gbm_create_device failed (ret=-1)

2024-10-13T07:48:09.135964Z qemu-system-x86_64: egl: EGL_MESA_image_dma_buf_export not supported
2024-10-13T07:48:09.135997Z 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/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1402, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1379, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: Interner Fehler: process exited while connecting to monitor: src/nv_gbm.c:288: GBM-DRV error (nv_gbm_create_device_native): nv_common_gbm_create_device failed (ret=-1)

2024-10-13T07:48:09.135964Z qemu-system-x86_64: egl: EGL_MESA_image_dma_buf_export not supported
2024-10-13T07:48:09.135997Z qemu-system-x86_64: egl: render node init failed

... die mir allerdings - als Noob - wenig sagt. Offensichtlich ist es nicht möglich, die Hardwarebeschleunigung der Grafikkarte des Hosts (Acer Nitro 5) an die "Grafikkarte" der VM weiterzugeben.

Auszug aus "Neofetch":

Code: [Select]
OS: Siduction (siduction giants) x86_64
Host: Nitro AN515-58 V1.06
Kernel: 6.11.3-1-siduction-amd64
...
Resolution: 1920x1080
...
CPU: 12th Gen Intel i7-12700H (20) @ 4.600GHz
GPU: Intel Alder Lake-P GT2 [Iris Xe Graphics]
GPU: NVIDIA Geforce RTX 3070 Ti Laptop GPU
Memory: 3336MiB / 31811MiB

Also bin ich nochmal ins Netz und habe in der "Debian-Wiki" unter "NvidiaGraphicsDrivers" folgende Vorgehensweise gefunden, die ich auch umgesetzt habe:

Code: [Select]
[09:23:53][isegrimm@T-A-K-A-Y-A:/etc/apt/sources.list.d]$ lspci -nn | egrep -i "3d|display|vga"
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [Geforce RTX 3070 Ti Laptop GPU] [10de:24a0] (rev a1)

Über "nvidia-detect" habe ich dann nochmal alles nachgeprüft:

Code: [Select]
[09:24:03][isegrimm@T-A-K-A-Y-A:/etc/apt/sources.list.d]$ nvidia-detect
Detected NVIDIA GPUs:
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [Geforce RTX 3070 Ti Laptop GPU] [10de:24a0] (rev a1)

Checking card: 00.0 VGA compatible controller
Your card is supported by all driver versions.
Your card is also supported by the Tesla 470 drivers series.
It is recommended to install the
    nvidia-driver
package.

Obwohl ich wusste, dass ich das paket "nvidia-driver" bereits installiert hatte, führte ich trotzdem ein:

Code: [Select]
doas apt update && doas apt install nvidia-driver
... aus und erhielt erwartungsgemäß:

Code: [Select]
nvidia-driver ist schon die neueste Version (550.107.02-0~siduction.2).
(Da das System ein Dual-Boot-System ist, habe ich das Spiel auf der Windows-Partition installiert und dort läuft es auch fehlerfrei. Ziel ist aber nach wie vor, den "Windows-10-Guest" so zu konfigurieren, dass ich nicht zu dieser "Krücke" greifen muss.)

Gibt es dazu eine unkomplizierte Möglichkeit?

------

Update (2024-10-13, 17:16h):

Offensichtlich gibt's derzeit noch keine stabile Lösung.  :-\
« Last Edit: 2024/10/13, 17:19:30 by Isegrimm666 »

Offline towo

  • Administrator
  • User
  • *****
  • Posts: 3.019
Re: QUEMU/KVM ... grundlegendes zu Grafik und Performance
« Reply #1 on: 2024/10/13, 10:20:36 »
Es gibt keine 3D Beschleunigung für Win in Qemu, zumindest im Moment nicht, da es schlicht keinerlei Windows Treiber gibt. Es gibt einen Developer, der an der Umsetzung von VMWareSVGA arbeitet, das ist das, was  VBox für Windows-Gäste benutzt. Das ist aber schwer experimentell und funktioniert auch noch nicht wirklich.
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Offline Isegrimm666

  • User
  • Posts: 169
Re: QUEMU/KVM ... grundlegendes zu Grafik und Performance
« Reply #2 on: 2024/10/13, 10:26:52 »
Danke ... dann muss die Krücke eben noch ein bißchen halten.  :-X

Die geschilderten Möglichkeiten, also das "Durchschleifen" der GPU in die VM, verbunden mit dem Deaktivieren der GPU im Host (ähnlich einem USB-Device), war dann für mich auch nicht der Weg, da ich Host und Guest parallel nutze, abhängig vom jeweils erforderlichen Programm.