Debian Wheezy-Testing su HP 635
Versioni Compatibili Debian 7 "wheezy" ERRORE: utilizzare "unstable_2024" come parametro al posto di " Sid "! Vedi qui. |
Descrizione
Guida per l'installazione e l'ottimizzazione di Debian Wheezy/Testing su portatile HP 635. Questa guida presuppone una conoscenza intermedia di GNU/Linux e di Debian.
Introduzione
L'HP 635 è un portatile di fascia medio/bassa, molto economico, che può vantare di essere uno dei pochi portatili che viene ancora venduto con preinstallato un sistema GNU/Linux: Suse Linux Enterprise Desktop 11. Questa versione enterprise di GNU/Linux, a mio avviso, ha delle politiche troppo restrittive sulla disponibilità dei pacchetti reperibili nei repository e questo ne pregiudica l'utilizzo, si possono aggirare queste restrizioni in due modi:
- aggiungendo i repository di OpenSuse (la via semplice e immediata)
- installando un sistema operativo GNU/Linux più libero e flessibile come Debian (la via faticosa ma più soddisfacente)
Io tratterò del secondo metodo anche se vorrei avvisare tutti che il portatile così come viene venduto è perfettamente funzionate in ogni suo aspetto. Infatti installando Debian ho avuto non pochi problemi a risolvere uno ad uno ogni piccolo problema, perché il portatile non funziona completamente out-of-the-box; inoltre, prima di dedicarmi all'installazione di Debian, non ho studiato la configurazione di SLED e quindi ogni settaggio è stato il faticoso frutto di analisi, studio e tentavi vari, che però hanno reso questa guida sicuramente più soddisfacente da scrivere.
Faccio presente che l'hardware di questo portatile supporta il kernel amd64, quindi consiglio di usare la versione a 64bit di Debian; inoltre ho preferito installare Debian Testing (che al momento è ancora Wheezy) per poter giovare di un kernel più aggiornato e per avvalermi delle ultime novità in ambito software e di Desktop Enviroment; e che la scelta di quest'ultimo è ricaduta su XFCE4.8.
Per cui questa guida sarà idealmente divisa in due parti: una prima parte dedicata all'installazione che dovrebbe essere simile a tutti gli ambienti; e una seconda parte dedicata all'ottimizzazione che sarà dedicata ad XFCE, per cui molte soluzione potrebbero non essere adatte a Gnome3 e addirittura potrebbero rivelarsi inutili.
Hardware
- Processore: 2x AMD E-450 APU with Radeon(tm) HD Graphics
- Memoria: 1650MB (848MB used)Operating System
- Scheda grafica integrata: AMD Radeon HD 6320 GraphicsX11
- Risoluzione video: 1366x768
- Scheda audio: HDA-Intel - HDA ATI SB
- Scheda ethernet: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
- Scheda wifi: AR9285 Wireless Network Adapter (PCI-Express)
Output di LSPCI
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Complex 00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Wrestler [Radeon HD 6320] 00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] 00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 42) 00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40) 00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40) 00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge (rev 40) 00:14.5 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 00:15.0 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) 00:15.1 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1) 00:15.3 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB900 PCI to PCI bridge (PCIE port 3) 00:16.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:16.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 0 (rev 43) 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 1 00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 2 00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 3 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 4 00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 6 00:18.6 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 5 00:18.7 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 7 02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01) 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05) 07:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
Installazione
Per l'installazione di Debian Testing vi rimando alla guida ufficiale e alla guida Debianizzata che posso essere validi assistenti anche per Testing. L'immagine settimanale di Debian Testing Xfce4 la potete scaricare da qui
Avviare Debian la prima volta
Contrariamente a quanto credete una volta installata Debian (sia Squeeze che Wheezy) potreste avere delle spiacevoli sorprese se avviaste normalmente il sistema da grub. Quindi vi esorto a non farlo perché potreste trovarvi con lo schermo completamente illeggibile e di conseguenza con il computer inutilizzabile; se dovesse capitarvi non vi spaventante ma tenenete premuti insieme i tasti alt e stamp premete in sequenza r e i s u b per riavviare da kernel il PC.
ATTENZIONE È importante, prima di avviare il pc per la prima volta, modificare i parametri di avvio dell'immagine del kernel |
Modificate la stringa che lancia l'immagine del kernel aggiungendo dopo quiet la stringa radeon.modeset=0 se non dovesse funzionare provate con radeon.modeset=1
A questo punto se volete utilizzare i driver open source Radeon non vi resta che modificare il file /etc/default/grub nel modo descritto sotto per evitare di avere problemi col monitor e la scheda grafica al prossimo riavvio:
GRUB_CMDLINE_LINUX_DEFAULT="quiet radeon.modeset=X"
Dove per X si intende il valore che avete utilizzate per avviare la prima volta il portatile.
Ottimizzazione hardware
Semplici indicazioni per il riconoscimento dell'hardware da parte del sistema operativo.
Installazione dei firmware
Questo è un portatile rognoso che funziona meglio con i firmware chiusi per cui consiglio a tutti di installarli. Per farlo però dovete avere attivi nei vostri repository le sezioni contrib e non-free. Se non sapete di cosa sto parlando vi consiglio prima di leggere questa guida. Posto che tutto è in ordine, da terminale possiamo installare i seguenti pacchetti:
# aptitude install firmware-atheros firmware-linux firmware-realtek rfkill
Verifica dell'hardware audio e video
Audio
Verificate se l'audio funziona correttamente con:
$ cat /proc/asound/cards 0 [Generic ]: HDA-Intel - HD-Audio Generic HD-Audio Generic at 0x90444000 irq 44 1 [SB ]: HDA-Intel - HDA ATI SB HDA ATI SB at 0x90440000 irq 16
In ogni caso per un uso ottimale di Alsa vi consiglio di creare il file /etc/asound.conf con i seguenti parametri:
pcm.!default { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:1,0" period_time 0 period_size 1024 buffer_size 4096 rate 44100 } bindings { 0 0 1 1 } } ctl.dmixer { type hw card 1 }
Se avete problemi con il riconoscimento dell'audio tramite applet (come ne ho avuto io con Xfce4.8) controllate che sia installato il pacchetto gstreamer0.10-alsa.
Suggerimento Verificate che al momento della vostra installazione quale versione di gstreamer sia attualmente di base in Debian, perché potreste ritrovarvi ad esempio gstreamer0.11 |
Video
Per verificare che il driver video sia funzionante installiamo il pacchetto mesa-utils e controlliamo se è abilitata l'accelerazione 3D tramite modulo radeon
glxinfo | grep vendor && glxinfo | grep render
Se non avete avvisi di qualche errore significa che tutto è correttamente funzionante.
Ottimizzazione video
Qualora non aveste problemi con i driver Radeon le impostazioni di default non sono sufficienti per avere una buona resa. Per prima cosa consiglio di usare i driver Gallium per il 3D e per farlo bisogna installare il pacchetto libgl1-mesa-dri-experimental, installato e riavviato il server grafico dovreste avere questo output dal terminale:
glxinfo | grep vendor && glxinfo | grep render server glx vendor string: SGI client glx vendor string: Mesa Project and SGI OpenGL vendor string: X.Org direct rendering: Yes OpenGL renderer string: Gallium 0.4 on AMD PALM GL_EXT_vertex_array_bgra, GL_NV_conditional_render,
Per quanto da Squeeze in poi non serva generare un file xorg.conf è necessario per potere avere una visione decente crearlo e aggiungere i parametri che vi suggerisco:
# nano /etc/X11/xorg.conf
E incollare questo:
## Migliorare le prestazioni video Section "Device" Option "EnablePageFlip" "true" Option "AccelDFS" "on" # disabilitare se avete instabilità Option "RenderAccel" "true" Option "AccelMethod" "EXA" # disabilitare se avete instabilità Option "EXAVSync" "true" Identifier "Card0" Driver "radeon" BusID "PCI:0:1:0" EndSection Section "Extensions" Option "Composite" "Enable" EndSection Section "DRI" Mode 0666 EndSection
Con queste impostazioni non ho problemi di tearing e sono in grado di riprodurre video in HD, certo la CPU è sottoposta ha un elevato consumo di risorse.
Tasti funzione
Di default nel bios i tasti funzione sono attivati senza bisogno di combinarli con il tasto fn, quindi se non voleste questa impostazione dovrete entrare nel bios e modificare tale parametro. A questo punto dell'installazione funzionano i seguenti tasti funzioni:
- F2: diminuisce la luminosità del monitor
- F3: aumenta la luminosità del monitor
- F4: non funziona (e non so neanche cosa faccia)
- F5: carica la pagina principale di Iceweasel
- F6: traccia indietro con Listen (uso questo riproduttore musicale)
- F7: funziona il play con Listen ma non funziona come pausa
- F8: traccia avanti con Listen
- I tasti F9, F10, F11 gestiscono l'audio ma con XFCE4.8 non funzionano, per il loro funzionamento rimando a questa sezione.
- F12: per far funzionare il tasto di spegnimento del wifi bisogna innanzi tutto lanciare questo comando:
# rfkill list 0: hp-wifi: Wireless LAN Soft blocked: no Hard blocked: no 1: hp-bluetooth: Bluetooth Soft blocked: no Hard blocked: no 2: phy0: Wireless LAN Soft blocked: no Hard blocked: no 3: hci0: Bluetooth Soft blocked: no Hard blocked: no
Dopo di ché la combinazione fn+F12 sembra funzionare correttamente; la descrizione di questa procedura è puramente empirica.
Installazione driver video AMD/ATI
Prima di iniziare vi rimando alla lettura del wiki ufficiale
Installazione dei pacchetti necessari
Da terminale scaricate i pacchetti per l'installazione:
# aptitude -r install linux-headers-$(uname -r) fglrx-control fglrx-driver
Disabilitare i moduli Radeon
Ricordando sempre che ci stiamo basando su XFCE4.8 Debian Wheezy/Testing, dobbiamo disattivare alcuni moduli del kernel ma per farlo prima dobbiamo disattivare il server grafico. Entrate in una console e loggatevi preferibilmente come amministratori:
# invoke-rc.d lightdm stop
Disabilitiamo i moduli readeon e drm:
# modprobe -r radeon drm
Non vi preoccupate se da errore perché tanto bisogna riavviare il sistema, basta un semplice reboot da console come amministratore o sudo e il gioco è fatto.
Configurare i driver proprietari
Sempre con il server grafico disattivato (disattivatelo alla schermata di login) lanciamo il comando:
# aticonfig --initial
Riattiviamo il server grafico:
# invoke-rc.d lightdm start
Una volta loggati dentro l'ambiente apriamo un terminale e verifichiamo che sia tutto in ordine:
$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: AMD Radeon HD 6320 Graphics OpenGL version string: 4.2.11566 Compatibility Profile Context
Sfruttiamo l'accelerazione video
L'HP 635 monta un'uscita HDMI, significa che la scheda video integrata è in grado di visualizzare i video in HD ma per farlo bisogna installare e impostare correttamente i driver VAAPI
Per prima cosa installiamoli:
# aptitude install xvba-va-driver vainfo
E poi verifichiamo se funzionano:
$ vainfo libva: VA-API version 0.32.0 Xlib: extension "XFree86-DRI" missing on display ":0.0". libva: va_getDriverName() returns 0 libva: Trying to open /usr/lib/i386-linux-gnu/dri/fglrx_drv_video.so libva: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit
Se c'è questo errore allora dobbiamo compiere altre modifiche. Il "workaround" che sto per proporre è del tutto empirico e frutto di tentativi, però funziona:
1. creare il file /etc/environment e copiare all'interno:
LIBVA_DRIVER_NAME=xvba LIBVA_DRIVERS_PATH=/usr/lib/va/drivers
2. creare la cartella /usr/lib/va/drivers/ e creare un collegamento simbolico al file fglrx_drv_video.so
# mkdir /usr/lib/va && sudo mkdir /usr/lib/va/drivers # ln -s /usr/lib/dri/xvba_drv_video.so /usr/lib/va/drivers/xvba_drv_video.so
3. entrare nella console e disattivare il server grafico e dare il seguente comando:
# aticonfig --initial -f
4. riavviare il server grafico e da terminale fare la prova, dovreste avere questa risposta:
$ vainfo libva: VA-API version 0.32.0 libva: User requested driver 'xvba' libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.so libva: va_openDriver() returns 0 vainfo: VA-API version: 0.32 (libva 1.0.15) vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0 vainfo: Supported profile and entrypoints VAProfileH264High : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD
Ora abbiamo attivato l'accelerazione hardware che possiamo ad esempio sfruttare con un programma come VLC.
Ottimizzazioni particolari per XFCE4.8
Una serie di trucchi per migliorare l'esperienza d'uso con questo ambiente grafico.
Abilitare i tasti speciali per la gestione dell'audio con Alsa
Il demone Xfce4-volumed non riesco a farlo funzionare per cui l'applet sulla tray non funziona, vi consiglio di togliere l'avvio di quel demone dalle preferenze. Senza di esso i tasti FN per l'audio possono essere attivati anche se non trovo il modo per lanciare una notifica, basta comunque rimapparli. Andare nel 'gestore delle impostazioni', 'tastiera' e 'scorciatoie' per rimappare i tasti volume con i seguenti parametri:
amixer -c 1 set Master 5%+ amixer -c 1 set Master 5%- amixer -c 1 set Master toggle
Abilitare i tasti speciali per la gestione dell'audio con pulse
ATTENZIONE Queste indicazioni sono pensate espressamente per pulse audio |
Se preferite installare pulse perché è un gestore audio più moderno rispetto ad alsa e molti programmi multimediali si appoggiano alla sua infrastruttura. Per impostare pulse vi rimando alla guida debianizzata.
Possiamo rimappare i tasti funzione in XFCE per associare i comandi ma per farlo tramite pulse dobbiamo utilizzare questo script che vi consiglio di mettere in una cartella invisibile (la mia l'ho chiamata .scripts) della home da lanciare all'avvio creando una voce in 'gestore impostazioni', 'sessione e avvio', 'avvio automatico' e 'aggiungi' nome e posizione dello script:
#!/bin/bash #### Create ~/.pulse/mute if not exists ls ~/.pulse/mute &> /dev/null if [[ $? != 0 ]] then echo "false" > ~/.pulse/mutefi ####Create ~/.pulse/volume if not exists ls ~/.pulse/volume &> /dev/null if [[ $? != 0 ]] then echo "65536" > ~/.pulse/volume fi CURVOL=`cat ~/.pulse/volume` #Reads in the current volume MUTE=`cat ~/.pulse/mute` #Reads mute state if [[ $1 == "increase" ]] then CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs. if [[ $CURVOL -ge 65536 ]] then CURVOL=65536 fi elif [[ $1 == "decrease" ]] then CURVOL=$(($CURVOL - 3277)) if [[ $CURVOL -le 0 ]] then CURVOL=0 fi elif [[ $1 == "mute" ]] then if [[ $MUTE == "false" ]] then pactl set-sink-mute 0 1 echo "true" > ~/.pulse/mute exit else pactl set-sink-mute 0 0 echo "false" > ~/.pulse/mute exit fi fi pactl set-sink-volume 0 $CURVOL echo $CURVOL > ~/.pulse/volume # Write the new volume to disk to be read the next time the script is run.
Andare nel 'gestore delle impostazioni', 'tastiera' e 'scorciatoie' per rimappare i tasti volume con i seguenti parametri:
amixer set Master 5%+ amixer set Master 5%- amixer set Master toggle
Abilitare il tapping
Il tapping non è attivo di default ma possiamo attivarlo lanciando un comando all'avvio
synclient TapButton1=1
Consiglio di installare il pacchetto gpointing-device-settings per modificare i parametri del tapping.
Attivare e disattivare il touchpad
Su SLED 11 funzionava l'attivazione/disattivazione del touchpad tramite doppio colpo sull'angolo alto a sinistra. Con Debian non sono riuscito a risolvere questo problema ma ho trovato una procedura altrettanto valida:
#!/bin/bash ####################################### # DESCRIPTION: Toggles Touchpad ON/OFF # DATE: 15.4.2011 # AUTHOR: ssnjara ####################################### # Check if Touchpad is ON and set "var" acording var=`synclient | grep TouchpadOff | cut -d\= -f2` # if ON turn OFF, else turn ON if [ $var -eq 0 ] then synclient TouchpadOff=1 notify-send -i dialog-error "Touchpad disabled!" else synclient TouchpadOFF=0 notify-send -i dialog-information "Touchpad enabled!" fi #END
Infine mappare il comando con una nuova combinazione di tasti (io ho usato super + F4).
Webography
L'elenco dei siti che ho consultato per la realizzazione di questa guida:
- http://forums.debian.net/viewtopic.php?f=17&t=74879&sid=f97777b64cb1a2bc7768e81921082af7&start=15
- http://www.randomprojects.org/wiki/HP_635#Audiohttp://wiki.debian.org/it/AtiHowTo
- http://wiki.debian.org/it/ATIProprietary
- http://h20000.www2.hp.com/bizsupport/TechSupport/DocumentIndex.jsp?lang=en&cc=us&contentType=SupportManual&prodTypeId=321957&prodSeriesId=5086719&manualLang=it
- http://forum.xbmc.org/showthread.php?tid=99154
- http://crunchbanglinux.org/forums/post/107491/#p107491
- https://bbs.archlinux.org/viewtopic.php?id=67197
- http://ssnjara.wordpress.com/2011/06/11/touchpad-onoff-shortcut-key-on-xubuntu-11-04-eeepc1005ha/
- http://www.alsa-project.org/main/index.php/Asoundrc
Guida scritta da: Danielsan 14:07, 1 mag 2012 (CEST) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |