Debian Wheezy-Testing su HP 635

Debian-swirl.png Versioni Compatibili

Debian 7 "wheezy"
ERRORE: utilizzare "unstable_2024" come parametro al posto di " Sid "! Vedi qui.


Warning.png ATTENZIONE
L'aggiornamento di fglrx-driver 12.6 e xorg 1.12.1 rendono inutilizzabili i driver AMD/ATI su Wheezy, attualmente è possibile usare solo i driver Radeon


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.

  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 disponibilità 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 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.


  Suggerimento
Ci sono argomenti in questa guida che non vengono trattati come ad esempio la webcam. Tutto ciò che non viene trattato espressamente deve intendersi come funzionante senza bisogno di configurazioni particolari.


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
}

  /etc/asound.conf
Questa configurazione vi risparmia di usare PulseAudio perché permette il mixing delle applicazioni tramite Alsa. Potete quindi usare più applicazioni audiovideo simultaneamente senza blocchi dell'audio.


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.

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.

  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 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:




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