Tasti Multimediali: configurazione ed uso: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
== Introduzione ==
==Installazione QEMU con qvm86/kqemu per Debian/Ubuntu==


Questo how-to spiegher� come abilitare AIGLX e Compiz su una Debian testing (al momento nome in codice Etch) per utenti che usano scheda video nVidia e Gnome come desktop manager
=== Qemu con supporto qvm86 (libero, ma sperimentale) ===


== Requisiti ==
====1. Fase Preliminare====
Assicuratevi di aver installato i pacchetti necessari a scaricare e compilare il tutto:
* '''ssh''' e '''cvs''' (per scaricare qvm86 occorre andare via cvs remoto)
* '''patch''' (per usare qvm86 con qemu occorre effettuare una piccola patch ai sorgenti di qemu)
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non � ancora compilabile col gcc 4.0)
* '''libsdl1.2-dev'''
* '''zlib1g-dev'''
* '''make'''
* '''kernel-headers-'''''versione_del_kernel_in_uso'' (oppure '''linux-headers-'''''versione_del_kernel_in_uso'' se avete una Ubuntu od usate una Debian unstable con un kernel recente). La versione pu� essere individuata eseguendo il comando <code>uname -r</code>.


* Xorg versione 7.1
====2. Recupero file QEMU====
* Scheda video e driver con supporto AIGLX. In particolare sono supportate:
Scaricate da [http://fabrice.bellard.free.fr/qemu/download.html http://fabrice.bellard.free.fr/qemu/download.html] gli archivi dei codici sorgenti di QEMU, e come '''utente diverso da root''' scompattateli in una directory e poi entrateci.
** Intel da i830 a i945
$ tar zxvf qemu-0.8.0.tar.gz
** ATI Radeon fino alla serie X800
$ cd qemu-0.8.0
** NVIDIA con driver versione 1.0-9xxx scaricabili dal sito ufficiale nVidia (http://www.nvidia.com/object/unix.html). Attenzione si tratta di driver in versione beta, in alcuni casi potrebbero dare problemi, in particolare non � detto che la versione pi� recente sia sempre la migliore.


== Installiamo Compiz ==
====3. Recupero file qvm86====
Scaricate via cvs i sorgenti di qvm86, in modo che siano all'interno della directory dei sorgenti di qemu, sempre con un utente '''diverso da root'''.
$ export CVS_RSH=ssh
$ export CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qvm86
$ cvs -z3 co qvm86


Niente di pi� semplice:
====4. Applicazione patch====
Applicate dalla directory dei sorgenti di qemu la patch provvista da qvm86.
$ patch -p0 < qvm86/patch.qvm86


<pre>$ apt-get install compiz compiz-core compiz-gnome compiz-gtk compiz-plugins</pre>
====5. Configurazione====
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.
Verificate che sia tutto ok, poi compilate il tutto ed installate.
$ ./configure --cc=gcc-3.3
$ make
Se avviando <code>./configure</code> avete errori del tipo che non si riesce a trovare la parte di sviluppo di libsdl, avete scompattato gli archivi come root. Leggete meglio sopra e ricominciate da capo.


== Abilitare AIGLX ==
Se dopo aver avviato <code>make</code> ci sono errori di compilazione, ci si pu� limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione <code>--target-list=i386-softmmu</code> al comando <code>./configure</code>.
$ make clean
$ ./configure --cc=gcc-3.3 --target-list=i386-softmmu
$ make


Per attivare AIGLX andiamo a modificare il file di configurazione di xorg:
Se non ci sono errori, ora potete diventare root ed installare qemu.
$ su
Password:
# make install


<pre>$ nano /etc/X11/xorg.conf</pre>
A questo punto qemu � installato in <code>/usr/local/bin/qemu</code>, ed il modulo qvm86 si trova in <code>/lib/modules/''versione_del_kernel''/misc/qvm86.ko</code>.


e lo modifichiamo in questo modo:
====6. Caricamento modulo====
Prima di eseguire qemu va caricato il modulo del kernel <code>qvm86</code>, va eventualmente creato <code>/dev/qvm86</code> (usato per interagire col kernel) e gli vanno dati permessi adeguati.


<pre>
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev):'''
Section "ServerLayout"
# Queste due operazioni sono da fare come root una volta sola:
    ...
# mknod /dev/qvm86 c 222 0
    Option "AIGLX" "true"
# chmod 666 /dev/qvm86
EndSection
#
# Questa operazione va eseguita come root ad ogni avvio del sistema per usare qemu
# modprobe qvm86


Section "Device"
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev):
    ...
# Queste due operazioni vanno eseguite come root ad ogni avvio del sistema
    Option "AddARGBGLXVisuals" "true"
# modprobe qvm86
    Option "AllowGLXWithComposite" "true"
# chmod 666 /dev/qvm86
EndSection
 
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
* diventate root (<code>su -</code>)
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>qvm86</code>, in modo che il modulo venga automaticamente caricato al boot.
* create il file <code>/etc/modprobe.d/qvm86</code> contenente le seguenti righe:
** per chi '''non ha''' installato il pacchetto udev:
install qvm86 /sbin/modprobe --ignore-install qvm86 \
&& (test -c /dev/qvm86 || mknod /dev/qvm86 c 222 0) \
&& chmod 666 /dev/qvm86
:* per chi '''ha''' installato il pacchetto udev:
install qvm86 /sbin/modprobe --ignore-install qvm86 && chmod 666 /dev/qvm86
 
Una volta caricato il modulo e dati i permessi di lettura a /dev/qvm86 siamo pronti per eseguire il nuovo qemu.
 
Accertatevi che il qemu che andrete ad eseguire '''sia quello compilato in <code>/usr/local/bin/qemu</code>''': potete farlo eseguendo <code>type qemu</code>.
 
=== Qemu col supporto kqemu (proprietario) ===
 
====1. Fase Preliminare====
Assicuratevi di aver installato i pacchetti necessari a compilare il tutto:
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non � ancora compilabile col gcc 4.0)
* '''libsdl1.2-dev'''
* '''zlib1g-dev'''
* '''make'''
* '''gcc'''
* '''kernel-headers-'''''versione_del_kernel_in_uso'' (oppure '''linux-headers-'''''versione_del_kernel_in_uso'' se avete una Ubuntu od usate una Debian unstable con un kernel recente). La versione pu� essere individuata eseguendo il comando <code>uname -r</code>.
 
====2. Recupero file QEMU/KQEMU====
Scaricate archivi dei codici sorgenti di [http://fabrice.bellard.free.fr/qemu/download.html QEMU e KQEMU], e come '''utente diverso da root''' scompattateli in modo che la directory di kqemu venga estratta all'interno della directory di qemu. Quindi entrate nella directory dei sorgenti.
$ tar zxvf qemu-0.8.0.tar.gz
$ tar zxvf kqemu-0.7.2.tar.gz -C qemu-0.8.0
$ cd qemu-0.8.0
 
====3. Configurazione====
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.
Verificate che sia tutto ok e che il supporto kqemu sia attivato, in modo che venga compilato
il modulo corretto per il vostro kernel. Poi compilate il tutto ed installate.
$ ./configure --cc=gcc-3.4
$ make
Se avviando <code>./configure</code> avete errori del tipo che non si riesce a trovare la parte di sviluppo di libsdl, avete scompattato gli archivi come root invece che come utente comune. Leggete meglio sopra e ricominciate da capo.
Chi utilizza Ubuntu Breezy (5.10) definisca anche la variabile di  ambiente CC che punti a gcc-3.4 (<code>export CC='/usr/bin/gcc-3.4'</code>), altrimenti il linking di kqemu verra' fatto con gcc-4.0 (compilatore di default su Ubuntu Breezy 5.10) e in fase di caricamento del modulo si avra' l'errore '''Invalid module format''', poiche' il kernel standard di questa distribuzione e' compilato con gcc-3.4. La variabile va definita prima di eseguire il <code>make</code>; se cio' non e' stato fatto per tempo allora e' necessario entrare nella directory <code>kqemu/</code> ed eliminare quanto gia' compilato con <code>make clean</code>, poi ritornare nella directory principale e rilanciare <code>make</code>.
 
Se dopo aver avviato <code>make</code> ci sono errori di compilazione, ci si pu� limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione <code>--target-list=i386-softmmu</code> al comando <code>./configure</code>.
$ make clean
$ ./configure --cc=gcc-3.4 --target-list=i386-softmmu
$ make
 
Se non ci sono errori, ora potete diventare root ed installare qemu.
$ su
Password:
# make install
 
A questo punto qemu � installato in <code>/usr/local/bin/qemu</code>, ed il modulo kqemu si trova in <code>/lib/modules/''versione_del_kernel''/misc/kqemu.ko</code>.
 
====4. Caricamento modulo====
Prima di eseguire qemu va caricato il modulo del kernel <code>kqemu</code>, va eventualmente creato <code>/dev/kqemu</code> (usato per interagire col kernel) e gli vanno dati permessi adeguati.
 
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev):'''
# Queste due operazioni sono da fare come root una volta sola:
# mknod /dev/kqemu c 250 0
# chmod 666 /dev/kqemu
#
# Questa operazione va eseguita come root ad ogni avvio del sistema
# modprobe kqemu
 
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev):
# Queste due operazioni vanno eseguite come root ad ogni avvio del sistema
# modprobe kqemu major=0
# chmod 666 /dev/kqemu
 
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
* diventate root (<code>su -</code>)
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>kqemu</code>, in modo che il modulo venga automaticamente caricato al boot.
* create il file <code>/etc/modprobe.d/kqemu</code> contenente le seguenti righe:
** per chi '''non ha''' installato il pacchetto udev:
install kqemu /sbin/modprobe --ignore-install kqemu \
&& (test -c /dev/kqemu || mknod /dev/keqmu c 250 0) \
&& chmod 666 /dev/kqemu
:* per chi '''ha''' installato il pacchetto udev:
options kqemu major=0
install kqemu /sbin/modprobe --ignore-install kqemu && chmod 666 /dev/kqemu
 
Una volta caricato il modulo e dati i permessi di lettura a /dev/kqemu siamo pronti per eseguire il nuovo qemu.
 
Accertatevi che il qemu che andrete ad eseguire '''sia quello compilato in <code>/usr/local/bin/qemu</code>''': potete farlo eseguendo <code>type qemu</code>.
 
== Utilizzo QEMU ==
 
===Creazione immagine===
(facoltativo) Creazione di un file immagine per il disco (facoltativo)
$ qemu-img create hd.img 5G
 
===Esecuzione QEMU===
''(cambiare il boot per fare l'installazione da cd etc..)''
 
Per semplicita` qui avviamo qemu da root (gli utenti comuni in Debian solitamente non possono leggere direttamente /dev/cdrom), tuttavia qemu puo` tranquillamente essere eseguito come utente comune (consigliato).
# qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img \
-user-net -pci -m 256 -k it -localtime
 
Le principali opzioni di qemu sono:
 
* '''-m ''megabyte'' ''' --> memoria per l'emulatore = 256MB
* '''-k it''' --> tastiera italiana
* '''-localtime''' --> usa ora locale (default UTC)
* '''-pci''' --> emula scheda di rete rtl8029 PCI
* '''-boot c''' --> avvia dal dico rigido emulato (usare '''-boot d''' per il boot dal cdrom emulato)
* '''-user-net''' --> Il sistema GUEST deve essere configurato in DHCP. Qemu assegna un indirizzo dinamico "10.0.2.15" al SO guest, il quale sar� in grado di pingare solo il suo GW che � "10.0.2.2". Per testare la rete quindi avviare le applicazioni di rete, visto che il ping ''host'' non funziona.
 
=== QEMU Networking ===
 
'''Sezione da revisionare per i cambiamenti nella versione 0.8.0'''
 
Con la soluzione indicata qui sopra, il sistema Guest riesce a navigare in Internet, ma non riesce ad accedere alle risorse del proprio host. La maniera pi� facile per configurare qemu in modo che possa fare entrambe le cose, � quella di installare vde e usare tun/tap con un bridge.
 
Prima di iniziare, dovete verificare che il vostro kernel supporti i seguenti moduli:
  tun: "Network device support" -> "Universal TUN/TAP device driver support"
  IP masquerade: "Networking options" -> "IP: Netfilter Configuration"
  bridging: "Networking options" -> "802.1d Ethernet Bridging"
 
e dovete installare il pacchetto bridge-utils:
apt-get install bridge-utils
 
[http://vde.sourceforge.net Vde] sta per Virtual Distributed Ethernet ed � un programma open source che vi permette di creare un network virtuale. Noi lo utilizzeremo per far fare in modo che il sistema Guest veda se stesso come un'unit� distinta dal sistema host e possa colloquiare con questi.
 
Per quel che ne so io, non esiste (ancora) un pacchetto deb gi� pronto per l'uso, ma per installare vde sono sufficenti poche righe:
wget http://puzzle.dl.sourceforge.net/sourceforge/vde/vde-1.5.9.tar.gz
tar -xvzf vde-1.5.9.tar.gz
cd vde-1.5.9
./configure
make
make install
 
Una volta fatto questo, siete pronti per configurare tun e il bridge:
vde_switch -tap tun0 -daemon
chmod 777 /tmp/vde.ctl
   
   
Section "Extensions"
ifconfig eth0 down
    Option "Composite" "Enable"
brctl addbr br0
    Option "RENDER" "true"
ifconfig eth0 0.0.0.0 promisc up
    Option "DAMAGE" "true"
ifconfig tun0 0.0.0.0 promisc up
EndSection
# l'IP qui sotto � quello del computer host; modificatelo per adeguarlo alle vs esigenze
</pre>
ifconfig br0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255 up
brctl stp br0 off
brctl setfd br0 1
brctl sethello br0 1
brctl addif br0 eth0
brctl addif br0 tun0
# questo invece � l'indirizzo IP del gateway
route add default gw 192.168.0.1
 
NB: Una volta verificato che tutto funziona, queste istruzioni vanno inserite in uno script in modo da essere eseguite automaticamente all'accensione del computer qui ne trovate uno piuttosto grezzo: [http://www.itaca.coopsoc.it/download/sources/vde_qemu vde_qemu], che va salvato in /etc/init.d. Dopodich�:
chmod u+x /etc/init.d/vde_qemu
update-rc.d -n vde_qemu defaults 90
 
Ora tutto � pronto per lanciare qemu, con l'ultima avvertenza che dovete usare l'apposito wrapper vdeqemu:
vdeqemu -hda disk.img -localtime -net nic -net vde
 
NB: con le release pi� recenti di qemu non viene pi� supportato l'argomento -tun-fd che vdeqemu utilizza nella sintassi standard. E' perci� necessario lanciare il wrapper vdeqemu con le opzioni -net nic (per attivare l'emulazione di un interfaccia di rete virtuale) e -net vde (per suggerire a vdeqemu di utilizzare la nuova sintassi di qemu)
 
Potete utilizzare tutte le opzioni di qemu, fuorch� -user-net, che disattiverebbe tun.
 
Ora il sistema guest dovrebbe accedere a tutte le porte del sistema host, in maniera totalmente trasparente: da risorse di rete dovreste vedere il vostro server samba con le sue partizioni; dal browser dovreste accedere alle pagine del vostro server web, etc. etc.


Ok, adesso riavviamo X (ctrl+alt+backspace) e avviamo compiz:
=== Patch per Windows ===


<pre>$ compiz --replace gconf</pre>
Per quanto riguarda l'utilizzo della CPU, a quanto pare Windows 9x non fa un uso corretto della istruzione CPU HLT e quindi spara la cpu a 100% quando � in idle (non fa nulla) e invece la usa regolarmente quando � sotto "sforzo", paradossalmente infatti, se viene utilizzata la cpu di qemu l'utilizzo di cpu si abbassa su linux in proporzione.


Godetevi gli effetti!!
La patch puo' essere scaricata [http://klingon.homelinux.net/files/amnhltm.zip qui], va installata sul Win9x GUEST.


Se volete Compiz in avvio automatico basta, invocare il comando "gnome-session-properties" e inserire il comando precedente nella lista dei programmi in avvio.
==Collegamenti esterni==
*[http://ubuntuforums.org/showthread.php?t=39513 http://ubuntuforums.org/showthread.php?t=39513]
*[http://fabrice.bellard.free.fr/qemu/index.html http://fabrice.bellard.free.fr/qemu/index.html]
*[http://fabrice.bellard.free.fr/qemu/qemu-doc.html http://fabrice.bellard.free.fr/qemu/qemu-doc.html]
*[http://www.debian-administration.org/?article=40 http://www.debian-administration.org/?article=40]
*[http://oui.com.br/n/content.php?article.21 http://oui.com.br/n/content.php?article.21]
*[http://www.carlsonhome.net/computer_help_log.php http://www.carlsonhome.net/computer_help_log.php]
*[http://savannah.nongnu.org/projects/qvm86/ http://savannah.nongnu.org/projects/qvm86/]


== Link ==
==Conributi==
Guida introduttiva a installazione ed uso di [http://wiki.debian.org/Compiz Compix sul wiki ufficiale debian]( in inglese).
[[Utente:Themonkey|Themonkey]] 20:31, Ago 19, 2005 (EDT) The_monk_ey ( skype: the_monk_ey )


[http://guide.debianizzati.org/index.php/Installazione_driver_proprietari_Nvidia Guida all'installazione driver proprietari Nvidia]
[[Utente:ianezz|ianezz]] 17:40, Nov 25, 2005 (CET) ''(per la parte di compilazione ed installazione)''


[http://guide.debianizzati.org/index.php/Installazione_driver_proprietari_Ati Guida all'installazione driver proprietari ATI]
[[Utente:Paulox|Paulox]] 11:13, Dic 21, 2005 (EST) ''(aggiornamento alla versione 0.8.0 e riformattazione della pagina)''


[[Utente:Sancious|Sancious]] 23:13, Dic 13, 2006 (CET) "(aggiornamento linea di comando wrapper vdeqemu in sezione QEMU Networking)"
[[Categoria:Sistema]]
[[Categoria:Sistema]]
37

contributi