Accelerazione 3D su VirtualBox
Come certamente avrete compreso dal titolo, questa è l’ultima mia “fissa”, cercare di attivare l’accelerazione 3D su una macchina virtuale con VirtualBox e Vmgl. Sappiamo che VirtualBox, pur essendo un prodotto veramente molto valido, così come spiegato in questo post, non supporta il 3D. Molti si chiederanno: Ma a cosa serve il 3D in una macchina virtuale? Se devo giocarci o voglio allietarmi con effetti particolari non è meglio una bella installazione pulita su una partizione ad hoc?
Tutte obiezioni legittime, ma tant’è. Vi racconto come è andata.
Giorni fa mi è presa la voglia di installare kde 4 su kubuntu 7.10 in VirtualBox; ho seguito la guida ufficiale sul sito di kubuntu e tutto è andato a buon fine. Poi mi sono detto: Perchè non cambiare il tema di kde 4? Ho trovato e seguito questo post di Divilinux sull’applicazione di Slim Glow, un tema per kde 4 che necessita di effetti desktop 3D; così mi sono detto: Perchè non provare a vedere se è possibile abilitare l’accelerazione 3D su VirtualBox?
Nel mio solito girovagare per la rete alla ricerca di informazioni ho trovato dei post su Vmgl.
Prodotto da sviluppatori canadesi è un software che permette il rendering 3D su macchine virtuali, testato su VMware e Xen, ma, in teoria funzionante anche con altri sistemi di virtualizzazione. Ho effettuato il download del file tar.gz dalla home page e seguito le procedure di installazione:
- Scompattare l’archivio e copiarlo nella macchina host (Ubuntu 7.10 nel mio caso) e in quella guest (per me VirtualBox con Kubuntu 7.10);
- aprire il file /vmgl.hg/cr/Linux.mk con un qualsiasi editor di testo e cambiare make=gmake -s in make =make -s, questo a causa del fatto che questo software è fatto anche per sistemi BS;
- assicurarsi di avere installati i seguenti pacchetti: freeglutt3-dev, libxmu-dev, libbz2-dev, zlib1g-dev, libssl-dev, libjpeg-dev;
- in vmgl.hg digitare make e poi make install-host (nella macchina host) e make install-guest (in quella guest);
- in Section “Module” di /etc/X11/xorg.conf inserire Load “vmglext” , quindi restart di xorg;
- far partire stub-daemon in host;
- abilitare l’ X forwarding traimite ssh (in host) e ssh -X (in guest), oppure inserendo DISPLAY=<host_hostname>:0 nel file /etc/environment;
- settare GLSTUB = <host_hostname>:7000 sempre nel file /etc/environment.
Dovremmo essere a posto, solo che al mio glxinfo la mia guest machine risponde: CR Error (maddomlinux:5252): Failed connect to maddomlinux:7000.
Sembra che guest e host non riescano a comunicare, eppure ho anche creato una interfaccia host tap1 modificando lo script di leodav, perfettamente funzionante.
Accetto aiuti da chiunque abbia voglia di contribuire a risolvere questo problema.
Post correlati...
Google pack su linux? by Mad on November 8th, 2007
Girando per la blogosfera ho trovato questo interessante .
My media system su Hardy Heron by Mad on May 7th, 2008
My media system è un media center facile da installare, altrettanto facile da configurare e ricco di funzioni espandibili con l'utilizzo di appositi plugin.
gOS su Ubuntu Gutsy. by Mad on December 18th, 2007
Molti di voi sapranno che gOS è una versione personalizzata di Enlightenment e, oltre a contenere tutte le applicazioni standard di una distro linux, presenta anche link diretti a servizi quali Google docs, Gmail, Facebook, Blogger e così via.
Condividere file con nfs è meglio by Mad on May 10th, 2008
Nel post precedente ho cercato di spiegare come condividere file tra due pc linuc con samba.
Update della guida installazione e configurazione di VirtualBox by Mad on June 12th, 2008
Ho effettuato un update della guida .




















4 Febbraio 2008 alle 5:59 pm
potrebbe essere un problema di X forwarding
se non hai già fatto modifiche in kubuntu nel file :
/etc/kde3/kdm/kdmrc
la riga ServerArgsLocal è commentata di default. dovresti decommentarla lasciandola inalterata.
# This string is subject to word splitting.
# Default is “”
#ServerArgsLocal=-nolisten tcp
5 Febbraio 2008 alle 7:20 pm
Ti ringrazio per il suggerimento, ma la riga in questione era già senza commento.
5 Febbraio 2008 alle 8:13 pm
vero. scusami. ho postato una castronata solenne.
Mi spiego: mi ricordavo di aver cambiato quest’impostazione per far funzionare il forward X11 con kubuntu. a seguito del tuo post sono andato a vedere come l’ho configurata, ed in effetti la riga l’ho commentata (e non viceversa).
Tanto che il copia incolla del post precedente l’ho fatto dal mio file di configurazione così com’è, è la spiegazione data che è toppata.
tanto per non scrivere a vanvera di nuovo :
X11 usa per l’accesso remoto la porta 6000/tcp.
la riga
ServerArgsLocal=-nolisten tcp
blocca la porta. commentandola ovviamente la liberi.
verificando la mia configurazione attuale (X11 forwarding attivato e funzionante) con nmap 127.0.0.1 ottengo :
Interesting ports on localhost (127.0.0.1):
Not shown: 1694 closed ports
PORT STATE SERVICE
22/tcp open ssh
631/tcp open ipp
6000/tcp open X11
5 Febbraio 2008 alle 9:36 pm
In un impeto do frustrazione ho eliminato la kubuntu machine e sto riprovando l’intera procedura di installazione. Comunque appena posso provo e ti faccio sapere.
Ciao!
7 Febbraio 2008 alle 2:09 pm
[...] ← Accelerazione 3D su VirtualBox [...]
17 Febbraio 2008 alle 8:52 pm
quali due comandi precisi hai adoperato per fare questo: “abilitare l’ X forwarding traimite ssh (in host) e ssh -X (in guest)” ?
Tnx
17 Febbraio 2008 alle 9:20 pm
semplicemente ssh hostname: e ssx -X hostname:; comunque puoi tranquillamente adottare il secondo metodo (DISPLAY=…) che funziona egregiamente.
Ti consiglio di leggere anche il post successivo (Habemus 3D su VirtualBox) che è il naturale completamento di questa guida.
Ciao!
9 Luglio 2008 alle 12:13 am
[...] Accelerazione 3D su VirtualBox - 984 views [...]
25 Agosto 2008 alle 11:44 am
ciao
[quote]
1. Scompattare l’archivio e copiarlo nella macchina host (Ubuntu 7.10 nel mio caso) e in quella guest (per me VirtualBox con Kubuntu 7.10);
2. aprire il file /vmgl.hg/cr/Linux.mk con un qualsiasi editor di testo e cambiare make=gmake -s in make =make -s, questo a causa del fatto che questo software è fatto anche per sistemi BS;
3. assicurarsi di avere installati i seguenti pacchetti: freeglutt3-dev, libxmu-dev, libbz2-dev, zlib1g-dev, libssl-dev, libjpeg-dev;
4. in vmgl.hg digitare make e poi make install-host (nella macchina host) e make install-guest (in quella guest);
5. in Section “Module” di /etc/X11/xorg.conf inserire Load “vmglext” , quindi restart di xorg;
6. far partire stub-daemon in host;
7. abilitare l’ X forwarding traimite ssh (in host) e ssh -X (in guest), oppure inserendo DISPLAY=:0 nel file /etc/environment;
8. settare GLSTUB = :7000 sempre nel file /etc/environment.
[/quote]
queste operazioni bisogna eseguirle nel sistema operativo virtualizzato su virtualbox?
grazie
25 Agosto 2008 alle 5:26 pm
host è il sistema installato sul pc mentre guest quello su virtualbox.
Ciao!
1 Settembre 2008 alle 12:44 pm
Il punto 5 e 8 devono essere fatti sul guest, sull’host o su entrambi?
Il punto 7 come si imposta? Per host_hostname si intende l’IP della rete interna creatasi con virtualbox?
1 Settembre 2008 alle 1:14 pm
I punti 5, 7 e 8 solo sul guest; servono rispettivamente a caricare il modulo vmglext che si occupa del recupero (se così si può dire) delle OpenGL dall’ host, a far si che il Server X si colleghi sul DISPLAY dell’ host e alla comunicazione attraverso la porta 7000 col demone stub attivato sull’host.
Se decidi di usare telnet anzichè Ssh (esiste anche la possibilità di usare Vnc ma io non l’ho testata) la variabile DISPLAY la devi settare in /etc/environment sul Guest.
Ciao!
1 Settembre 2008 alle 1:44 pm
Aggiungo: ora mi esce: CR Error(test-vm:5562): Failed connect to 10.0.2.2:6000
Cosa posso fare? Nel PC host, sotto /etc/ssh/ssh_config ho abilitato queste opzioni:
ForwardX11 yes
ForwardX11Trusted yes
e fatto “xhost +” per disabilitare il controllo, permettendo tutti gli host di entrare :S
1 Settembre 2008 alle 1:59 pm
Come non detto, riavviato la macchina virtuale ed ora va!!!
Nel senso… tecnicamente va, praticamente glxinfo riporta tutto corretto ma le applicazioni non si vedono!
Ecco l’errore che mi dice se eseguo un’applicazione da terminale:
“Pack SPU: Couldn’t init X server CR support extension!!”
Ora sono proprio spiantato
1 Settembre 2008 alle 4:02 pm
Prova a mettere il tuo hostname al posto dell’indirizzo ip, naturalmente dopo averlo configurato in /etc/hosts
1 Settembre 2008 alle 4:33 pm
Ho sistemato riavviando una volta di più la macchina guest… boh?
Ora mi compare (spero) l’ultimo errore!
CR Info(giacomo-desktop:5362): Pack SPU: Couldn’t init X server CR support extension!!
Questo quando avvio glxgears o ume-launcher (launcher di Netbook Remix), entrambi utilizzano il 3D ovviamente. Xterm funziona benissimo (non usa il 3D infatti)… Le finestre sono semplicemente bianche… idee?
Grazie