sabato 26 dicembre 2009

Asus K50IJ / X5DIJ audio

(English version available at http://moosesoom.blogspot.com/2009/12/asus-k50ij-x5dij-audio-english.html)

Aggiornamenti:
13 Feb 2010: Il pacchetto linux-backports-modules-alsa-`uname -r` deve essere installato manualmente ad ogni installazione di nuovi kernel.
12 Feb 2010: Ora e' possibile aggiornare alsa installando il pacchetto linux-backports-modules-alsa-`uname -r`
30 Dic 2009: Aggiornato link alsa-driver da 1.0.22 a 1.0.22.1

Pare che dopo qualche successino parziale siamo arrivati a configurare in maniera decente l'audio dei notebook Asus serie K50 (k50ij, x5dij, etc...) con Ubuntu Karmic Koala 9.10.

Vi consiglio di leggere bene il post prima di procedere con l'installazione in quanto sono possibili alcune alternative.

Disinstallazione pulseaudio

sudo apt-get remove --purge pulseaudio

Installazione alsa 1.0.22

Traduzione e adattamento da http://monespaceperso.org/blog-en/2009/12/17/upgrade-alsa-1-0-22-on-ubuntu-karmic-koala-9-10/

Prima di aggiornare ALSA, vediamo la versione attualmente installata sul nostro sistema:
cat /proc/asound/version

dovremmo ottenere qualcosa di simile:
Advanced Linux Sound Architecture Driver Version 1.0.20.

Per evitare problemi durante l'aggiornamento di Alsa-utils, dobbiamo fermarlo con il comando seguente:
sudo /etc/init.d/alsa-utils stop

Dobbiamo installare i tool necessari alla compilazione e i kernel headers:
sudo apt-get -y install build-essential ncurses-dev gettext xmlto
sudo apt-get -y install linux-headers-`uname -r` libncursesw5-dev

Andiamo nella nostra home e scarichiamo l'ultima versione di alsa-driver, alsa-lib and alsa-utils :
cd ~
rm -rf ~/alsa* ~/.pulse*
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.22.1.tar.bz2
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.22.tar.bz2
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.22.tar.bz2

Creiamo una nuova directory per la compilazione e installazione. Copiamo in questa directory i 3 file scaricati:
sudo rm -rf /usr/src/alsa
sudo mkdir -p /usr/src/alsa
cd /usr/src/alsa
sudo cp ~/alsa* .

Estraiamo il contenuto dei 3 tar file:
sudo tar xjf alsa-driver*
sudo tar xjf alsa-lib*
sudo tar xjf alsa-utils*

Compiliamo e installiamo alsa-driver:
cd alsa-driver*
sudo ./configure
sudo make
sudo make install

Compiliamo e installiamo alsa-lib :
cd ../alsa-lib*
sudo ./configure
sudo make
sudo make install

Compiliamo e installiamo alsa-utils :
cd ../alsa-utils*
sudo ./configure
sudo make
sudo make install

Se come me ottenete il seguente errore durante l'esecuzione dell'ultimo “sudo ./configure” :
checking form.h presence... yes
checking for form.h... yes
checking for new_panel in -lpanelw... no
configure: error: panelw library not found

Dovete aggiugere i seguenti link simbolici (solo in presenza dell'errore) e rilanciare il comando “sudo ./configure” :
sudo ln -s libpanelw.so.5 /usr/lib/libpanelw.so
sudo ln -s libformw.so.5 /usr/lib/libformw.so
sudo ln -s libmenuw.so.5 /usr/lib/libmenuw.so
sudo ln -s libncursesw.so.5 /lib/libncursesw.so

Rimuoviamo i 3 tar file dalla home in quanto non piu' necessari (a meno che non li vogliate conservare per installazioni successive):
rm -f ~/alsa-driver*
rm -f ~/alsa-lib*
rm -f ~/alsa-utils*

Riavviamo il computer. la versione di ALSA installata dovrebbe essere la 1.0.22. Verifichiamolo con il comando:
cat /proc/asound/version

dovremmo ottenere qualcosa di simile:
Advanced Linux Sound Architecture Driver Version 1.0.22.
Compiled on Dec 17 2009 for kernel 2.6.31-16-generic (SMP).

Giusto per essere sicuri che tutto sia ben configurato, eseguiamo il comando:
sudo alsaconf

e facciamo ripartire il computer un'altra volta.

Installazione backport-alsa

La procedura precedente in certi casi terminava con l'audio non funzionante. Lanciando il comando
aplay -l

viene visualizzato solo
**** List of PLAYBACK Hardware Devices ****

invece di elencare le schede audio disponibili (mentre questo vengono elencate correttamente dal comando cat /proc/asound/cards). Allo stesso tempo, lanciano il comando
alsamixer

viene visualizzata la segnalazione seguente:
This sound device does not have any controls.


In questi casi tutto e' tornato a posto installando i moduli alsa da backport:
sudo apt-get install linux-backports-modules-alsa-2.6.31-17-generic


Installazione vecchia configurazione audio (pre pulseaudio) e installazione icona audio in tray

All'inizio di questo post abbiamo rimosso pulseaudio, purtroppo questo e' talmente integrato in Karmic Koala che cosi' facendo perdiamo il controllo del volume nel pannello di Gnome e la possibilita' di configurare l'audio del nostro computer dal menu System-Preferences-Sound.

Traduzione e adattamento da http://resonance.org/~josh/ubuntu.html

Josh Green ha ha creato i pacchetti che includono un applet mixer. Per riavere il vecchio mixer e i tool di Gnome basati su gstreamer, installiamo il pacchetto gnome-media da Ubuntu Jaunty. Questo consentira' al pulsante "Controllo Volume" di funzionare con l'applet del mixer.

Pacchetti binari i386 gnome-applets:

gnome-applets_2.28.0-0unofficial1_i386.deb (MIRROR)
gnome-applets-data_2.28.0-0unofficial1_all.deb (MIRROR)

Link ai pacchetti gnome-media di Ubuntu Jaunty 9.04, scarichiamo quelli appropriati per la nostra architettura di CPU:

gnome-media-common
gnome-media

In caso si voglia compilare i pacchetti gnome-applets, per altre architeture diverse da i386 o per incorporare nuove modifiche, ecco i sorgenti e una patch preparata da Josh. Questo non e' necessario se pensate di usare i pacchetti binari i386 linkati precedentemente.
Estraete il pacchetto gnome-applets da qualche parte, applicate la patch di Ubuntu, seguita dalla petch "mixer_revival".
Compilate come fareste con qualsiasi pacchetto debian.

gnome-applets_2.28.0.orig.tar.gz
gnome-applets_2.28.0-0ubuntu2.diff.gz
gnome-applets_mixer_revival_patch1.diff (MIRROR)

Questa soluzione e' molto pulita ma al momento e' funzionante solo su sistemi i386 (32 bit), non avendo nessuna voglia di ricompilare il tutto per il mio amd64 (64 bit) ho preferito usare la soluzione seguente.

Installazione icona audio in tray e configurazione hotkeys per mute, volume up, volume down

Per il controllo volume e' possibile in alternativa utilizzare gli script che potete scaricare QUI.

Requisito fondamentale e' aver installato i pacchetti python-alsaaudio e python-gnome2-extras.

Per controllare il volume con i tasti dedicati presenti sulla tastiera del computer viene utilizzato uno script presente nel pacchetto appena scaricato. Sarebbe stato piu' semplice eseguire delle chiamate direttamente al comando amixer, pero' in questo modo e' stato possibile gestire le notifiche in OSD.

Estraete i file nella directory /usr/local/bin (dovete usare sudo o diventare root)

N.B.: per poter utilizzare questi script sul mio asus ho dovuto modificare tutte le occorrenze della stringa "Master" in "Master Front"

Aggiungete volbar.py e alsavol.py in "System - Settings - Startup programs".

Aprite "System - Settings - Keyboard shortcuts" e aggiungete uno shortcut personalizzato con nome "alsa mute" e comando "/usr/local/bin/alsa_master_mute". Ora assegnate il tasto "Mute" a questo shortcut"

Aprite "System - Settings - Keyboard shortcuts" e aggiungete uno shortcut personalizzato con nome "alsa down" e comando "/usr/local/bin/alsa_master_down". Ora assegnate il tasto "Volume Down" a questo shortcut"

Aprite "System - Settings - Keyboard shortcuts" e aggiungete uno shortcut personalizzato con nome "alsa up" e comando "/usr/local/bin/alsa_master_up". Ora assegnate il tasto "Volume Up" a questo shortcut"

Probabilmente ci sono soluzioni piu' eleganti, questa comunque funziona.

Nota: Sembra che Totem sia stato patchato per non funzionare con ALSA. I suoi controlli dell'audio sono settati su "muto" e disabilitati (grigi). A parte questo si vive benissimo anche senza pulseaudio :)

Installazione vecchia configurazione audio (pre pulseaudio)

Per ovviare al mancato funzionamento dei settaggi audio in mancanza di Pulseaudio (nel caso abbiate seguito come me il secondo metodo per sistemare l'icona di controllo audio nel pannello) occorre:

Scaricare QUESTO PACCHETTO
Estrarne il contenuto in una directory qualsiasi.
Copiare l'eseguibile adatto al vostro sistema (32 o 64 bit) nella directory /usr/local/bin.
Copiare il file sound-properties.glade nella directory /usr/share/gnome-control-center/glade (crearla in caso non esista gia')

Eseguire il file /usr/local/bin/gnome-sound-properties per configurare l'audio del vostro sistema; ecco i settaggi impostati al momento sul mio computer:



Settaggi alsamixer: playback senza cuffie inserite


Settaggi alsamixer: playback con cuffie inserite

(notare che "Front" viene automaticamente messo in stato di muto (MM))

Settaggi alsamixer: capture
(la linea "Capture" corrisponde al microfono della cuffia, "Capture 1" non so)



Settaggi alsamixer: visione di insieme



Linkografia / Approfondimenti

[Karmic] Get back Alsa Mixer Applet
Mixer applet for karmic that doesn't depend on pulse
Upgrade Alsa (1.0.22) on Ubuntu Karmic Koala 9.10
ALSA Gnome panel applet in Ubuntu 9.10 Karmic
https://bugs.launchpad.net/ubuntu/+source/gnome-media/+bug/400973

1 commento:

Tuxpat ha detto...

Complimenti... ho risolto un problema