Changes

From Studiosg
Jump to navigationJump to search
Created page with 'Benvenuti nella pagina Wiki di Simone Giustetti. Languages: [http://www.giustetti.net/wiki/index.php/en/virtualbox_3d_acceleration English] - '''Italiano''' ---- == Accelera…'
Benvenuti nella pagina Wiki di Simone Giustetti.


Languages: [http://www.giustetti.net/wiki/index.php/en/virtualbox_3d_acceleration English] - '''Italiano'''

----


== Accelerazione 3-D in Virtualbox ==



Nel corso dell'articolo vedremo come '''abilitare l'accelerazione grafica 3-D''' per una macchina virtuale su cui sia installata una distribuzione Slackware Linux.



Virtualbox <nowiki>&egrave;</nowiki> un prodotto di virtualizzazione: un programma in grado di creare Pc virtuali su cui installare un sistema operativo e far girare programmi come se si trattasse di macchine reali. Tra le molte caratteristiche che Virtualbox emula vi <nowiki>&egrave;</nowiki> l'accelerazione 3-D; aggiunta ufficialmente con la versione 2.x del programma.
Dato un sistema ospite '''dotato dell'opportuno hardware''', il sistema virtuale ospitato <nowiki>&quot;</nowiki>opportunamente configurato<nowiki>&quot;</nowiki> pu<nowiki>&ograve;</nowiki> usufruire dell'accelerazione grafica hardware.

Si supponga di utilizzare il pacchetto ufficiale di Virtualbox scaricato dal sito:
http://www.virtualbox.org/wiki/Downloads


Si supponga inoltre di aver installato il software sul sistema ospite ed aver creato una macchina Linux virtuale. Sulla macchina virtuale <nowiki>&egrave;</nowiki> stato installato un sistema operativo Linux Slackware versione 13.1: l'ultima release stabile. Per abilitare l'accelerazione 3-D <nowiki>&egrave;</nowiki> necessario eseguire le seguenti operazioni:


== Abilitare la funzionalità nella configurazione della macchina. ==

Aperta la console di Virtualbox si selezioni la macchina desiderata e si apra la finestra delle opzioni mediante click del mouse sul pulsante Settings. Nella maschera cos<nowiki>&igrave;</nowiki> aperta si selezioni l'opzione Display ed infine si spunti l'opzione "Enable 3D Acceleration".


== Installare le Guest Addin ==

Avviata la macchina virtuale, si apra il men<nowiki>&ugrave;</nowiki> Devices e si selezioni l'opzione Devices->CD/DVD Devices->VboxGuestAdditions.iso.
Dopo essersi collegati come '''utente root''' sul sistema si esegua il mount del cdrom tramite il comando:
root@darkstar04:~# mount /mnt/cdrom

Spostandoci nella directory /mnt/cdrom il comando ls -la dovrebbe rendere l'elenco degli eseguibili:
root@darkstar04:~# ls -la /mnt/cdrom/
total 30226
dr-xr-xr-x 4 root root 2048 2010-06-08 13:19 .
drwxr-xr-x 10 root root 4096 2006-09-26 05:09 ..
dr-xr-xr-x 3 root root 2048 2010-06-08 13:19 32Bit
dr-xr-xr-x 2 root root 2048 2010-06-08 13:19 64Bit
-r-xr-xr-x 1 root root 222 2010-06-02 18:33 AUTORUN.INF
-r-xr-xr-x 1 root root 3276240 2010-06-08 13:10 VBoxLinuxAdditions-amd64.run
-r-xr-xr-x 1 root root 2825676 2010-06-08 13:18 VBoxLinuxAdditions-x86.run
-r-xr-xr-x 1 root root 11205632 2010-06-08 13:09 VBoxSolarisAdditions.pkg
-r-xr-xr-x 1 root root 7657512 2010-06-08 13:04 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x 1 root root 5691768 2010-06-08 13:01 VBoxWindowsAdditions-x86.exe
-r-xr-xr-x 1 root root 277008 2010-06-08 13:00 VBoxWindowsAdditions.exe
-r-xr-xr-x 1 root root 4890 2010-06-08 13:14 autorun.sh

Si lanci il pacchetto adatto all'architettura della macchina virtuale. VBoxLinuxAdditions-x86.run per macchina virtuale a 32 bit e VBoxLinuxAdditions-x86.run per una a 64.
root@darkstar04:~# bash ./VBoxLinuxAdditions-x86.run

Il programma di installazione provveder<nowiki>&agrave;</nowiki> a compliare ed installare i moduli necessari rendendo a video un eloquente resoconto delle operazioni eseguite.
Terminata l'installazione si provi a lanciare una sessione grafica. La versione di X distribuita con Slackware 13.1 dovrebbe essere in grado di avviarsi senza che sia presente un file /etc/X11/xorg.conf. In caso di problemi si provveda a creare detto file lanciando il comando xorgsetup e rispondendo ad alcune semplici domande. Il comando eseguir<nowiki>&agrave;</nowiki> una scansione dello hardware e produrr<nowiki>&agrave;</nowiki> un file xorg.conf adeguato.


== 




Configurazione della macchina virtuale ==


Per alcune distribuzioni Linux, l'esecuzione dei due passi precedenti <nowiki>&egrave;</nowiki> sufficiente per abilitare la funzionalit<nowiki>&agrave;</nowiki> di accelerazione. In Slackware, a causa di una disomogeneit<nowiki>&agrave;</nowiki> dei percorsi ove vengono installati driver e librerie, bisogna eseguire ancora alcune operazioni.
I sintomi del problema sono:

1 – Basso framerate. Lanciato, il programma ''glxgears'' render<nowiki>&agrave;</nowiki> un frame rare di circa 300 frame al secondo. Un valore decisamente basso che evidenzia l'impiego di un driver software e non dell'accelerazione hardware.

2 – Il file di log della sessione X, /var/log/X.log.x ove x è un numero compreso tra 0 e 9 che indica la sessione grafica aperta, riporter<nowiki>&agrave;</nowiki> stringhe di errore simili a:
(EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/vboxvideo_dri.so failed (/usr/lib/xorg/modules/dri/vboxvideo_dri.so: cannot open shared
object file: No such file or directory)
(EE) AIGLX: reverting to software rendering
Il messaggio specifica che non essendo stato trovato il driver opportuno il sistema far<nowiki>&agrave;</nowiki> ricorso al rendering software.

Per ovviare al problema devono essere creati due collegamenti in modo che Virtualbox possa trovare i driver necessari. Si eseguano i seguenti comandi:
ln -s /usr/lib/xorg/modules/dri /usr/lib/dri
ln -s /usr/lib/VBoxOGL.so /usr/lib/xorg/modules/dri/vboxvideo_dri.so

Si riavvii quindi il server X.
Si potr<nowiki>&agrave;</nowiki> subito constatare un miglioramento nel frame rate che dovrebbe ora aggirarsi sui 1500 frame al secondo.
Il log file della sessione conterr<nowiki>&agrave;</nowiki> ora le stringhe:
(EE) AIGLX error: vboxvideo does not export required DRI extension
(EE) AIGLX: reverting to software rendering
che non sembrano creare effettivi problemi al processo.

Le operazioni sin qui descritte devono essere eseguite dall'utente root. Per garantire che l'accelerazione 3-D funzioni anche per con permessi inferiori si deve:

Aggiungere l'utente al gruppo ''video''

Impostare i permessi 0666 per il modulo dri di X modificando opportunamente il file /etc/X11/xorg.conf

Verificare che le regole di creazione dei device file relativi a Virtualbox non siano apannaggio esclusivo di root. Nella directory /etc/udev/rules.d dovrebbe esistere il file 60-vboxadd.rules il quale dovrebbe contenere due righe:
KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660"
KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0666"
nel caso il file non sia presente lo si dovr<nowiki>&agrave;</nowiki> creare e popolare con le righe riportare sopra.


Link esterni
----
* [http://www.virtualbox.org/ Home page del progetto]
* [http://it.wikipedia.org/wiki/VirtualBox La pagina Wikipedia relativa]


----

Languages: [http://www.giustetti.net/wiki/index.php/en/virtualbox_3d_acceleration English] - '''Italiano'''

Navigation menu