Zvuk

Zvuk v Linuxu lze zprovoznit v zásadě dvojím způsobem - buď využijeme podporu v jádře pro daný typ zvukové karty (pokud existuje) nebo pomocí balíčku alsa. V obou případech potřebujeme zkompilovat jádro (viz. kapitola 6) s podporou zvuku:
CONFIG_SOUND=y
Nyní blíže k jednotlivým variantám:
* jádro 2.4.XX:
aktivujeme podporu pro příslušný typ v jádře. Po kompilaci a instalaci nového jádra se o funkčnosti můžeme přesvědčit povelem
cat /dev/sndstat
Není-li uvedeno žádné zařízení či je-li uvedeno v závorkách, zvuková karta nebyla zprovozněna.
* alsa:
V jádře je třeba mít zakompilovanou pouze obecnou podporu zvuku, bez konkrétní karty. Dále potřebujeme balíčky alsa-base, alsa-source, alsaconfig. Dále spustíme konfiguraci příkazem alsaconf, kde vybereme příslušnou kartu a zkompilujeme alsa-moduly (viz. příloha B.1) Podpora zvuku se spouští ve startovacích skriptech
/etc/init.d/alsa start
Kontrolu funkčnosti provedeme v souborech nacházejících se v adresáři /proc/asound/cards.
* jádro 2.6.XX:
jádra této řady mají již vestavěnou podporu zvuku na bázi ALSA (Advanced Linux Sound Architecture) s podporou pro většinu zvukových karet. V nastavení jádra v oddílu Sound aktivujeme:
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
a dále podporu pro příslušný typ zvukové karty v oddílu Sound $\rightarrow$ PCI devices. Nakonec nainstalujeme jen balíčky alsa-base, alsa-utils. Informace o zvukových zařízeních pak najdeme v adresáři /proc/asound.
Po instalaci jádra s podporou zvuku jsou obvykle všechna zvuková zařízení ztlumena. Nastavení hlasitosti lze provádět v různých prográmcích, za všechny zmíníme dva grafické front-endy xmix z balíčku xmixer a tkmixer ze stejnojmenného balíčku. Samozřejmě lze použít i základní nástroj alsamixer z balíčku alsa-utils.

Přistupovat ke zvukovým zařízením mohou pouze členové skupiny audio. Proto příslušné uživatele musíme přidat do zmíněné skupiny, např. přímo editací souboru /etc/group.

Pozor - před prvním použitím (tj. po instalaci nového jádra) je potřeba nastavit hodnoty mixeru pomocí prográmku alsamixer a tyto hodnoty uložit (pomocí příkazu alsactl store). Uložení nastavení pak můžeme zkontrolovat v souboru /var/lib/alsa/asound.state.

Na další problém jsme narazili v distribuci sarge, kde se po rebootu obnovuje prvotní nastavení mixeru. To znamená, že změní-li uživatel hodnoty např. pomocí tkmixer, po rebootu se obnoví původní hodnoty zapsané příkazem alsactl store (viz. minulý odstavec). Toto chování můžeme změnit v souboru /etc/default/alsa nastavením

alsactl_store_on_shutdown="always autosave"


Tomáš Davídek, poslední změna 2007-05-29