Debian Wheezy-Testing su HP 635

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Debian-swirl.png 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.

Warning.png ATTENZIONE
Questa guida non si pone l'obbiettivo di creare un'installazione completamente libera di Debian ma punta a proporre la massima ottimizzazione del sistema con tutti gli strumenti disponibile su 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 gestione dei pacchetti reperibili nei repository e questo ne pregiudica l'utilizzo, si possono aggirare queste restrizioni in due modi:

  1. aggiungendo i repository di OpenSuse (la via semplice e immediata)
  2. 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 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 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 tenendo premuti insieme i tasti alt e stamp premete in sequenza r e i s u b per riavviare da kernel il PC.

Warning.png 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 in questo modo per permettere al PC di ripartire 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

Se non viene riconosciuto correttamente potreste aver bisogno di creare il file /etc/asound.conf con i seguenti parametri:

pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Info.png /etc/asound.conf
Io personalmente ho dovuto fare queste modifiche con il kernel 686-PAE ma non sono state necessarie con il kernel AMD64.


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.

Video

Per verificare che il driver video sia funzionante installiamo il pacchetto mesa-utils e controlliamo se è abilitato l'accelerazione 3D tramite modulo radeon

glxinfo | grep vendors && glxinfo | grep rendering

Se non avete avvisi di qualche errore significa che tutto è correttamente funzionante.

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 funziona per il loro funzionamento rimando alla sezione Abilitare i tasti speciali per la gestione dell'audio con pulse in fondo alla guida.
  • F12: per far funzionare il tasto di spegnimento del wifi bisogna innanzi tutto lanciare questo comando:
$ sudo 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' 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...

A questo punto il "workaround" è 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 [b]/usr/lib/va/drivers/[/b] e creare un collegamento simbolico al file [b]fglrx_drv_video.so[/b]

sudo mkdir /usr/lib/va && sudo mkdir /usr/lib/va/drivers
sudo 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:

sudo aticonfig --initial -f

4. riavviare il server grafico e da terminale fare la prova dovreste avere questa risposta:

vainfolibva: VA-API version 0.32.0libva: User requested driver 'xvba'libva: Trying to open /usr/lib/va/drivers/xvba_drv_video.solibva: va_openDriver() returns 0vainfo: VA-API version: 0.32 (libva 1.0.15)vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0vainfo: Supported profile and entrypoints      VAProfileH264High               :    VAEntrypointVLD      VAProfileVC1Advanced            :    VAEntrypointVLD

Ora abbiamo attivato l'accelerazione hardware che possiamo ad esempio sfruttare con VLC.


Ottimizzazioni particolari per XFCE4.8

Una serie di trucchi per migliorare l'esperienza d'uso con questo ambiente grafico.

Bulb.png Suggerimento
Sto consigliando l'utilizzo di diversi 'script', ricordati di renderli eseguibili per poterli utilizzare. In Xfce puoi farlo cliccando col tasto destro e spuntando la voce 'permetti di eseguire il file come programma'


Abilitare i tasti speciali per la gestione dell'audio con pulse

Warning.png ATTENZIONE
Queste indicazioni sono pensate espressamente per pulse audio


Ho preferito 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 existsls ~/.pulse/mute &> /dev/nullif [[ $? != 0 ]]then    echo "false" > ~/.pulse/mutefi####Create ~/.pulse/volume if not existsls ~/.pulse/volume &> /dev/nullif [[ $? != 0 ]]then    echo "65536" > ~/.pulse/volumefiCURVOL=`cat ~/.pulse/volume`     #Reads in the current volumeMUTE=`cat ~/.pulse/mute`          #Reads mute stateif [[ $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            fielif [[ $1 == "decrease" ]]then    CURVOL=$(($CURVOL - 3277))    if [[ $CURVOL -le 0 ]]    then        CURVOL=0            fielif [[ $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    fifipactl set-sink-volume 0 $CURVOLecho $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 10%+ 
amixer set Master 10%- 
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:




Guida scritta da: Danielsan 10:17, 1 mag 2012 (CEST) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized