[maillist] Sound-Problem bzw. Vorschlag f. DLD 6.2

Frank Schneider (SPATZ1@t-online.de)
Sun, 01 Aug 1999 14:04:16 +0200

Hallo...

Ich habe (bzw. hatte) folgendes Sound-Problem:

Wenn die Kiste längere Zeit lief, oder aber viel Speicher schnell
verbraucht wurde
(GIMP beim Laden von größeren Bildern) stieg der Sound aus mit der
Meldung
"Couldn´t allocate DMA-Buffer". Ein Restart von X behob das Problem
meist...

Nach Tip eines Kollegen (Danke Spocky!) fand ich in der Kernel-Konfig
unter dem OSS-Sound-Modul den Menüpunkt "Persistent DMA-Buffers". Nach
Aussage der Help dient dieser Punkt genau der Verhinderung dieses
Effekts, indem nämlich der Sound-DMA-Speicher gleich beim Systemstart
fest belegt wird und nicht mehr freigegeben wird.

Leider kann man diesen Punkt nur anwählen, wenn man das ganze
Sound-Zeugs fest in den Kernel reinkompiliert. Damit geht man natürlich
der Möglichkeit verlustig, irgendwann mal den IRQ/DMA/Port der
Soundkarte zu ändern. Bei ISA-Plug-and-Play-Karten dürfte es noch
weitergehende Probleme geben...

Alternativ kann man dem Modul "Sound" den Parameter "dmabuf=1"
übergeben, der dieselbe Wirkung haben soll. (Ist gerade bei mir im
Test...)

Und da beginnt der Knackpunkt:

Wie bringe ich der DLD 6.01 bei, das sie beim Laden dieses Moduls
gefälligst den Parameter
"dmabuf=1" mitübergeben soll ?
Da die OSS-Module "soundcore", "sound" augenscheinlich nirgendo explizit
geladen werden (ein "grep "insmod sound" /etc/init.d/*" ergibt
jedenfalls keine Teffer) war ich etwas ratlos.
Wohlgemerkt, der Parameter muß dem Modul "sound.o" übergeben werden,
nicht dem Sounblaster-Modul "sb", dem der IRQ und Port, etc. übergeben
wird.

Meine jetzige Lösung sieht so aus, das ich in /etc/init.d/sound einfach
alle Sound-Module quasi von Hand lade, und damit den notwendigen
Parameter übergeben kann.
Um mich nicht vollständig von DLDADMIN abzuhängen, hole ich mir die in
/etc/conf.modules stehenden Sound-Parameter (IRQ, Port, DMA) noch rein,
ansonsten ist das aber ein "Horrible Hack".

Weiß einer eine elegantere Lösung ?

Vielleicht sollte man den erwähnten Parameter in die DLD 6.2 fest
einbauen. Er verbraucht halt 64kByte zusätzlichen Speicher, erspart aber
dafür lästige Soundprobleme.
Im Zeitalter der >32MB Maschinen wohl ein akzeptabler Kompromiß...

Solong...
mfg Frank.

--
Frank Schneider, <SPATZ1@T-ONLINE.DE>.                           
-Linux, because: Who needs Gates in a fenceless World ??
... -.-