virt-manager sketchup enable hardware acceleration

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
rik70
Iper Master
Iper Master
Messaggi: 2552
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: virt-manager sketchup enable hardware acceleration

Messaggio da rik70 »

joe ha scritto:
gio 12 dic 2024, 14:17
No, ho solo "Auto".
Se non trova il percorso del dispositivo drm, non vai da nessuna parte.

Hai qualcosa in

Codice: Seleziona tutto

/dev/dri/by-path/
/dev/dri/render*
?

Se sì, creati una nuova macchina virtuale e gli dai in pasto l'hdd dove hai l'installazione di win.

Riassumendo:
- per il Video:

Codice: Seleziona tutto

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="pci" domain=[etc, etc]"/>
</video>
- per lo schermo Spice

Codice: Seleziona tutto

<graphics type="spice">
  <listen type="none"/>
  <image compression="off"/>
  <gl enable="yes" rendernode="/dev/dri/by-path/pci-0000:00:02.0-render"/>
</graphics>

rik70
Iper Master
Iper Master
Messaggi: 2552
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: virt-manager sketchup enable hardware acceleration

Messaggio da rik70 »

P.s.
Se anche in quel modo ti da lo stesso errore e hai '/dev/dri/renderD128' o similare, prova ad aggiungere il percorso a mano editando il codice xml visto sopra.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Dunque, in "dri" ho sta roba:

Codice: Seleziona tutto

/dev/dri/
├── by-path
│   └── pci-0000:02:00.0-card -> ../card0
└── card0
si vede l'indirizzo pci, per cui se invece di ricreare la macchina virtuale provassi direttamente ad editare l'XML dello "Schermo Spice"?

Che adesso è così:

Codice: Seleziona tutto

<graphics type="spice">
  <listen type="none"/>
  <image compression="off"/>
  <gl enable="yes"/>
</graphics>
Potrei modificarlo come segue:

Codice: Seleziona tutto

<graphics type="spice">
  <listen type="none"/>
  <image compression="off"/>
  <gl enable="yes" rendernode="/dev/dri/by-path/pci-0000:02:00.0-card"/>
</graphics>
Potrebbe funzionare?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Spetta poi però devo modificare anche l'XML del video virtio che al momento è come segue:

Codice: Seleziona tutto

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
In particolare l'indirizzo PCI, non direi che corrisponde. Intendo, andrebbe messo quello del dispositivo "dri" del mio post precedente?

Codice: Seleziona tutto

/dev/dri/by-path/pci-0000:02:00.0-card
Come si tradurrebbe nella corrispondente stringa "address type"?
Dove nel tuo esempio hai messo "ecc ecc" intendo...

Nel mio caso ricalcando l'indirizzo del dri che poi è quello della mia scheda video:

Codice: Seleziona tutto

<address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
Si vede anche da "lspci -D":

Codice: Seleziona tutto

0000:02:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
Potrei fare una prova rapida...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Provato e non funziona.
Allora, se ho ben capito in Video Virtio, l'indirizzo non dovrebbe avere grossi problemi, inoltre se lì inserisco quello della mia scheda video dà errore anche solo all'applicazione della modifica, a naso sembra che lo riconosca come già in uso e in qualche modo non gli vada bene:

Codice: Seleziona tutto

Errore nella modifica della configurazione della VM: Errore dell'XML: Attempted double use of PCI Address 0000:02:00.0

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 345, in change_config_helper
    define_func(**define_args)
  File "/usr/share/virt-manager/virtManager/details/details.py", line 1359, in change_cb
    return self.vm.replace_device_xml(devobj, newxml)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 657, in replace_device_xml
    self._redefine_xmlobj(xmlobj)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 391, in _redefine_xmlobj
    self._redefine_xml_internal(origxml, newxml)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 374, in _redefine_xml_internal
    self._define(newxml)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1137, in _define
    self.conn.define_domain(xml)
  File "/usr/share/virt-manager/virtManager/connection.py", line 554, in define_domain
    return self._backend.defineXML(xml)
  File "/usr/lib64/python3.9/site-packages/libvirt.py", line 4495, in defineXML
    raise libvirtError('virDomainDefineXML() failed')
libvirt.libvirtError: Errore dell'XML: Attempted double use of PCI Address 0000:02:00.0
Invece se lascio video virtio così come sta, e modifico solo la sezione "schermo spice", la modifica me la lascia fare.
Però se poi tento di avviare la VM ecco cosa salta fuori:

Codice: Seleziona tutto

Errore nell'avvio del dominio: internal error: process exited while connecting to monitor: 2024-12-12T16:00:59.775413Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T16:00:59.775500Z 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/lib64/python3.9/site-packages/libvirt.py", line 1373, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: internal error: process exited while connecting to monitor: 2024-12-12T16:00:59.775413Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T16:00:59.775500Z qemu-system-x86_64: egl: render node init failed

rik70
Iper Master
Iper Master
Messaggi: 2552
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: virt-manager sketchup enable hardware acceleration

Messaggio da rik70 »

joe ha scritto:
gio 12 dic 2024, 16:29
Dunque, in "dri" ho sta roba:

Codice: Seleziona tutto

/dev/dri/
├── by-path
│   └── pci-0000:02:00.0-card -> ../card0
└── card0
Ti manca la parte 'render' :

Codice: Seleziona tutto

/dev/dri/by-path/pci-0000:03:00.0-render -> ../renderD128
Senza non può funzionare.

Sei con nVidia?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Azzarola, sì sono coi proprietari nvidia-legacy, la GPU la vedi da lspci, "Geforce 210/ GT218". È una roba proprio basicissima...
Ecco i driver:

Codice: Seleziona tutto

/var/log/packages/nvidia-legacy340-driver-340.108-x86_64-2_SBo_oclfix
/var/log/packages/nvidia-legacy340-kernel-340.108_5.15.145-x86_64-1_SBo_edit

rik70
Iper Master
Iper Master
Messaggi: 2552
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: virt-manager sketchup enable hardware acceleration

Messaggio da rik70 »

joe ha scritto:
gio 12 dic 2024, 17:59
Azzarola, sì sono coi proprietari nvidia-legacy, la GPU la vedi da lspci, "Geforce 210/ GT218". È una roba proprio basicissima...
Ecco i driver:

Codice: Seleziona tutto

/var/log/packages/nvidia-legacy340-driver-340.108-x86_64-2_SBo_oclfix
/var/log/packages/nvidia-legacy340-kernel-340.108_5.15.145-x86_64-1_SBo_edit
Eh, allora auguri :occasion9:

Com'è che diceva Torvalds?

rik70
Iper Master
Iper Master
Messaggi: 2552
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: virt-manager sketchup enable hardware acceleration

Messaggio da rik70 »

Qui un tizio dice:
I had to change the rendernode from /dev/dri/renderD128 to /dev//nvidia0

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Questo?!
https://www.youtube.com/watch?v=Q4SWxWIOVBM
Warning Uncensored!

Vado a vedere il link del tizio... grazie come al solito delle risposte rik!

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Ho provato, praticamente così:

Codice: Seleziona tutto

    <video>
      <model type="virtio" heads="1" primary="yes">
        <acceleration accel3d="yes"/>
      </model>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
    </video>
    <graphics type="spice" autoport="yes">
      <listen type="address"/>
    </graphics>
    <graphics type="egl-headless">
      <gl rendernode="/dev/nvidia0/>
    </graphics>
Le due sessioni graphics producono praticamente due hardware "schermo":
- Schermo Spice
- Schermo Egl-headless

Alla fine la modifica viene accettata ma all'avvio della VM ottengo un errore:

Codice: Seleziona tutto

Errore nell'avvio del dominio: 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-12-12T18:52:02.719853Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T18:52:02.720593Z 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/lib64/python3.9/site-packages/libvirt.py", line 1373, in create
    raise libvirtError('virDomainCreate() 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-12-12T18:52:02.719853Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T18:52:02.720593Z qemu-system-x86_64: egl: render node init failed

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Aggiungo qualche info:

Codice: Seleziona tutto

# inxi -Gx
Graphics:
  Device-1: NVIDIA GT218 [GeForce 210] vendor: ASUSTeK driver: nvidia
    v: 340.108 bus-ID: 02:00.0
  Display: server: X.Org 1.20.14 driver: loaded: nvidia unloaded: nouveau
    resolution: 1920x1200~60Hz
  OpenGL: renderer: GeForce 210/PCIe/SSE2 v: 3.3.0 NVIDIA 340.108
    direct render: Yes
OpenGL sembra esserci con "renderer". In teoria...

rik70
Iper Master
Iper Master
Messaggi: 2552
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: virt-manager sketchup enable hardware acceleration

Messaggio da rik70 »

Da quello che ricordo, il driver proprietario non utilizza 'dri' per l'accelerazione 3d, ma un modo tutto 'suo' che i dev di nvidia rivendicano in ambiente Linux.
Mah...

Ad ogni modo, hai provato semplicemente con:

Codice: Seleziona tutto

<graphics type="spice">
  <listen type="none"/>
  <image compression="off"/>
  <gl enable="yes" rendernode="/dev/nvidia0"/>
</graphics>

Codice: Seleziona tutto

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  [...]>
</video>
** /dev/nvidia0 esiste?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Sì esiste. Non ho idea di cosa sia, vedo solo che è un file speciale...
Provo come hai detto.

Codice: Seleziona tutto

Errore nell'avvio del dominio: internal error: process exited while connecting to monitor: failed to get driver name for fd 10
MESA-LOADER: failed to retrieve device information
failed to get driver name for fd 10
2024-12-12T20:10:59.218310Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T20:10:59.218984Z 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/lib64/python3.9/site-packages/libvirt.py", line 1373, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: internal error: process exited while connecting to monitor: failed to get driver name for fd 10
MESA-LOADER: failed to retrieve device information
failed to get driver name for fd 10
2024-12-12T20:10:59.218310Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T20:10:59.218984Z qemu-system-x86_64: egl: render node init failed
Niente da fare...
Ultima modifica di joe il gio 12 dic 2024, 21:12, modificato 1 volta in totale.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3975
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: virt-manager sketchup enable hardware acceleration

Messaggio da joe »

Codice: Seleziona tutto

Errore nell'avvio del dominio: internal error: process exited while connecting to monitor: failed to get driver name for fd 10
MESA-LOADER: failed to retrieve device information
failed to get driver name for fd 10
2024-12-12T20:10:59.218310Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T20:10:59.218984Z 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/lib64/python3.9/site-packages/libvirt.py", line 1373, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: internal error: process exited while connecting to monitor: failed to get driver name for fd 10
MESA-LOADER: failed to retrieve device information
failed to get driver name for fd 10
2024-12-12T20:10:59.218310Z qemu-system-x86_64: egl: eglGetDisplay failed: EGL_BAD_ALLOC
2024-12-12T20:10:59.218984Z qemu-system-x86_64: egl: render node init failed

Rispondi