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: 2557
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 »

Ok, serve uno che ha hw nvida e usa libvirt.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

Grazie mille comunque, magari provo a chiedere anche da qualche altra parte. Se hai consigli sul dove ben vengano, altrimenti potrei iniziare da LQ. Il problema è che ho hardware ormai troppo antico... non sarà facile venirne a capo. Anche il driver nvidia-340.108, non è il massimo dell'integrazione sui sistemi moderni già da qualche anno.

A questo proposito, butto lì una domanda tanto per.
Ma senza avere esigenze estremamente spinte, se uno volesse farsi un PC fisso nuovo o anche partendo da una base discreta pur usata e volesse aggiungerci una scheda video abbastanza ben supportata senza spendere una follia, anche guardando all'usato. Quale diavolo di scheda video sarebbe il caso di acquistare per sfruttarla al 100% su Slackware?

rik70
Iper Master
Iper Master
Messaggi: 2557
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 »

Hai provato con queste impostazioni?

Codice: Seleziona tutto

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="[...]/>
</video>
<graphics type="spice" autoport="yes">
  <listen type="address"/>
</graphics>
<graphics type="egl-headless">
  <gl rendernode="/dev/dri/nvidia0"/>
</graphics>

=========

Oppure, questo altro setup che io utilizzo con virtio-gpu. Non utilizza Spice, quindi per funzionare devi rimuovere lo schermo Spice dai dispositivi, eliminando prima a mano via xml tutti quelli che dipendono da spice - audio, dispositivi di reindirizzamento usb, etc.
L'audio lo potrai aggiungere successivamente come mostrato sotto.

Questo è il codice xml:

Codice: Seleziona tutto

<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">

Codice: Seleziona tutto

<video>
  <model type="virtio" heads="1" primary="yes">
    <acceleration accel3d="yes"/>
  </model>
  <address type="[...]/>
</video>

Codice: Seleziona tutto

  </devices>
  <qemu:commandline>
    <qemu:arg value="-display"/>
    <qemu:arg value="gtk,gl=on,full-screen=off,zoom-to-fit=on"/>
    <qemu:env name="DISPLAY" value=":0"/>
  </qemu:commandline>
</domain>
Nota l'ultima parte di codice, quella che inizia con ' <qemu:commandline>': deve stare in quella posizione, tra i tag di chiusura 'devices' e 'domain'.

Per l'audio:

Codice: Seleziona tutto

    <sound model="ich9">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
    </sound>
    <audio id="1" type="pulseaudio" serverName="/run/user/1000/pulse/native"/>
Ovviamente dovrai modificare l'id dell'utente nel percorso 'serverName' - nell'esempio il mio è 1000

Sulla questione PC poi ti rispondo, ma per ora proseguiamo in tema se sei d'accordo.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

Giusto per non dimenticare l'obiettivo, che era usare Sketchup su win7 virtualizzato.
Il problema è la necessita di accelerazione grafica hardware sul sistema guest.
Non avendo possibilità di pass-through a causa delle limitazioni della mia scheda madre, ecco la possibilità di provare a configurare VirGL.

Ora, mi fai venire un dubbio "di metodo": se per ottenere VirGL si deve passare da Spice, che senso ha nel mio caso la tua configurazione sopra che non lo utilizza?

Per quanto riguarda la prima configurazione del tuo ultimo messaggio, mi sembra la stessa che avevi suggerito ieri a parte un dettaglio, vedi oltre. Ad ogni modo l'avevo provata e avevo ottenuto errore, questo è il mio messaggio in merito:

viewtopic.php?p=360409#p360409

Il dettaglio invece è "nvidia0":

Codice: Seleziona tutto

<gl rendernode="/dev/dri/nvidia0"/>
In quel path, non esiste:

Codice: Seleziona tutto

$ ls /dev/dri
by-path  card0

$ ls /dev/nv*
/dev/nvidia-uvm  /dev/nvidia0  /dev/nvidiactl  /dev/nvram
Infatti nella prova a cui mi riferivo avevo usato:

Codice: Seleziona tutto

<gl rendernode="/dev/nvidia0"/>

rik70
Iper Master
Iper Master
Messaggi: 2557
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:
ven 13 dic 2024, 11:01
: se per ottenere VirGL si deve passare da Spice, che senso ha nel mio caso la tua configurazione sopra che non lo utilizza?
No, non devi passare da spice.
Puoi usare la mia seconda configurazione che non utilizza spice.
Virgl viene esposto nella macchina guest. Questo è un esempio con la mia configurazione su guest Kali Linux:

Codice: Seleziona tutto

direct rendering: Yes
OpenGL renderer string: virgl (AMD Radeon RX 6600 (radeonsi, navi23, LLVM 18.1.8, D...)
Edit
Utilizzo sdl su X/Wayland anziché gtk per visualizzare lo schermo della vm:

Codice: Seleziona tutto

  </devices>
  <qemu:commandline>
    <qemu:arg value="-display"/>
    <qemu:arg value="sdl,gl=core,window-close=off"/>
    <qemu:env name="DISPLAY" value=":0"/>
  </qemu:commandline>

rik70
Iper Master
Iper Master
Messaggi: 2557
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.
Su guest Slackware:
image_2024-12-13_11-52-12.png
image_2024-12-13_11-52-12.png (140.48 KiB) Visto 9742 volte

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

rik70 ha scritto:
ven 13 dic 2024, 11:35
No, non devi passare da spice.
Puoi usare la mia seconda configurazione che non utilizza spice.
OK, mi ero fissato sulla guida che avevi suggerito.
Allora provo.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

No, c'è qualcosa che non torna...
Allora, innanzitutto edito l'XML totale dalla scheda "panoramica" di virt-manager.

1. La parte in fondo, "qemu:commandline":
quando seleziono applica, quella parte lì sparisce.

2. pulse:
Io al percorso "/run/user/1000/pulse/native" non ho nulla. Ma forse è normale, lo crea quando parte la macchina virtuale?
O forse dovevo anche riavviare virt-manager... dopo la modifica?

3. lanciando la VM ecco cosa dice:

Codice: Seleziona tutto

Errore nell'avvio del dominio: internal error: process exited while connecting to monitor: pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA context2024-12-13T13:30:34.399899Z qemu-system-x86_64: could not connect to PulseAudio server

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: pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA context2024-12-13T13:30:34.399899Z qemu-system-x86_64: could not connect to PulseAudio server

rik70
Iper Master
Iper Master
Messaggi: 2557
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:
ven 13 dic 2024, 14:40
1. La parte in fondo, "qemu:commandline":
quando seleziono applica, quella parte lì sparisce.
Devi prima modificare, come detto sopra, la parte iniziale del tag domino, che deve essere

Codice: Seleziona tutto

<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">
Poi aggiungi la parte qemu:commandline e solo dopo applichi le modifiche.
joe ha scritto:
ven 13 dic 2024, 14:40
2. pulse:
Io al percorso "/run/user/1000/pulse/native" non ho nulla. Ma forse è normale, lo crea quando parte la macchina virtuale?
O forse dovevo anche riavviare virt-manager... dopo la modifica?
Nessuna delle due. Il socket ci deve essere nella tua Slackware, se pulse audio è attivo:

Codice: Seleziona tutto

file /run/user/$(id -u)/pulse/native
/run/user/1000/pulse/native: socket

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

Ummm... no, da me non esiste.
Eppure pulseaudio dovrebbe essere attivo:

Codice: Seleziona tutto

$ pgrep -a pulse
3402 /usr/bin/pulseaudio --start --log-target=syslog

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

Invece per quanto riguarda il resto della modifica avevo scordato la prima riga...
Ora continua a non funzionare ma ritorna un errore diverso:

Codice: Seleziona tutto

Errore nell'avvio del dominio: internal error: process exited while connecting to monitor: No protocol specified
2024-12-13T14:02:55.230371Z qemu-system-x86_64: OpenGL is not supported by the display

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: No protocol specified
2024-12-13T14:02:55.230371Z qemu-system-x86_64: OpenGL is not supported by the display

rik70
Iper Master
Iper Master
Messaggi: 2557
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:
ven 13 dic 2024, 15:08
Ummm... no, da me non esiste.
Eppure pulseaudio dovrebbe essere attivo:
Non so, la butto lì: non è che hai pulseaudio avviato in modalità sistema anziché utente?
Nella mia Slack, /etc/rc.d/rc.pulseaudio non è eseguibile.

Se il server audio è attivo in modalità utente, quel sock ci deve essere ed è in quella posizione pure sulla Slack 15.0.
joe ha scritto:
ven 13 dic 2024, 15:09

Codice: Seleziona tutto

libvirt.libvirtError: internal error: process exited while connecting to monitor: No protocol specified
2024-12-13T14:02:55.230371Z qemu-system-x86_64: OpenGL is not supported by the display
E qui si va di fantasia: che desktop usi? Prova su XFCE.

Permessi? Io in /etc/libvirt/qemu.conf ho:

Codice: Seleziona tutto

user = "rik"
e l'utente appartiene al gruppo 'kvm' - ma quest'ultimo penso sia un'altra cosa.

Versione qemu e libvirt?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

Ma "no protocol specified" non dipende da un'equivalente di spice, cioè il protocollo che mette in comunicazione in virt-manager il dispositivo "video" allo schermo virtuale?

Avendo rimosso Spice, non resta nulla nella sezione "Grafica" di virt-manager. Cioè io non ho più "Schermo Spice" e non c'è nient'altro al suo posto. Forse è giusto così e il problema può essere un altro.

L'ambiente desktop dell'host non credo c'entri... o sì?
Faccio presto a provare con Xfce comunque.
Attualmente uso DWM, in effetti è un po' "esotico", ma.

Anche io sono andato a spulciare qemu.conf, e no... nel mio caso era tutto intonso, c'era commentato "# user = root". Provo a metterci "joe".

Per quanto riguarda pulse audio per il momento lascio com'è:

Codice: Seleziona tutto

 ps aux |grep pulse
joe       3402  0.2  0.3 886232 16080 ?        Sl   10:44   0:52 /usr/bin/pulseaudio --start --log-target=syslog
Comunque sembra avviato dall'user semplice.

rik70
Iper Master
Iper Master
Messaggi: 2557
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:
ven 13 dic 2024, 15:56
Ma "no protocol specified" non dipende da un'equivalente di spice, cioè il protocollo che mette in comunicazione in virt-manager il dispositivo "video" allo schermo virtuale?
No, perché tu stai usando un altro modo che non passa per spice.
Quell'errore sembra più a che vedere con un utente(root?) che cerca di usare un applicazione opengl su uno schermo 'aperto' da un altro utente.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3980
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 »

Butto lì questa discussione in cui il tizio sembra aver risolto e l'errore che saltava fuori è abbastanza simile al mio.

https://bbs.archlinux.org/viewtopic.php?id=260000

Comunque provando XFCE non cambia nulla. Stesso errore.
Ora ho provato ad inserire nuovamente la sessione "Egl-headless", ma non funge

Rispondi