OSS:
Szerintem igen, valami kimaradt a kernelfordításból. Úgy tudom, hogy a DMA-terület csak bizonyos (alacsony) címtartományban lehet, ehhez rendszerinduláskor le kell foglalni ott egy blokkot, hogy a DMA majd tudja használni. Erre van valahol egy opció a kernel paraméterezésénél, de nem emlékszem, melyik...
ALSA:
> Ha újra futtatom az alsaconfot elindul és újra betölt mindent.
Hát akkor nézz egy lsmod-ot, és mazsolázd ki, hogy mi az, ami újraindítás után nincs bent, de alsaconf után bent van. Mondjuk irányítsd át fájlba:
$ lsmod > modulok-indulas
$ alsaconf
$ lsmod > modulok-alsaconf
Ha ALSA-t használsz, akkor is szükséged lesz egy OSS-felületre, mert sok program még csak azt ismeri. Az ALSA-nak viszont van teljesen jól működő OSS-felülete is. Az snd-pcm-oss és az snd-mixer-oss modulok kellenek hozzá.
Egyébként ezt ,,szépen'' úgy szokás megcsinálni, hogy nem mindent az /etc/modules-be írsz (oda minél kevesebbet, csak amit nagyon muszáj), hanem az /etc/modutils könyvtárban csinálsz egy külön fájlt a hangnak. Nekem ilyen van:
------- /etc/modutils/hang --------
alias char-major-14-0 snd-mixer-oss
alias char-major-14-3 snd-pcm-oss
pre-install snd-mixer-oss modprobe snd-emu10k1
pre-install snd-pcm-oss modprobe snd-emu10k1
-----------------------------------
Ez azt teszi, hogyha valami meg akarja nyitni a /dev/dsp-t (az a (14,3)-as kódú driver), akkor az snd-pcm-oss modul betöltődik, de a pre-install sor miatt előtte betölti az snd-emu10k1 modult. Neked az emu10k1 helyett valami más lesz (nézd meg a hardvertáblázatot az alsa-project.org oldalon, biztos benne lesz, hogy melyik modul kell Neked).
Ezen kívül ott van nálam az /etc/modutils/alsa-base fájl is, amit az alsaconf tett oda, a többi abban van leírva - azt nem bántom.
Ha bármit változtatsz az /etc/modutils könyvtárban, ne felejtsd el kiadni az update-modules parancsot, hogy összerakja a modules.conf fájlt.
man update-modules
man 5 modules.conf
man 5 modules