Übers Wochenende habe ich mich meinem Problem gewidmet, bei gestartetem Chromium keinen Sound mehr über mplayer ausgeben zu können.
Hardware: SupremeFX X-Fi* Soundkarte, analoges Logitech 5.1 System
Ich wusste, dass meine Karte nicht hardwaremixing-fähig ist, also war dmix die erste Anlaufstelle. Laut Arch-Wiki ist dmix allerdings ab ALSA 1.0.9rc2 automatisch aktiv, also habe ich da nicht weiter gedreht und nach Alternativen gesucht.
OSS4 ist die Neuimplementierung des alten Unix Standard-Audiosystems, und erfreulicherweise vollständig kompatibel, d.h. ich hätte keine Anwendungen patchen müssen – also erste Wahl.
Die Installation lief problemlos (vgl. Wiki), allerdings wird meine tolle Soundkarte noch nicht offiziell unterstützt und ich bekam nur Stereo-Output, mit dem Kopfhörerausgang als primärem Ausgabemodul.
Nachdem die beiden existierenden direkten Hardware ansprechenden Möglichkeiten ausgeschöpft waren also ran an die Soundserver – allen voran PulseAudio als prominentestem Vertreter. Auch hier lief die Installation reibungslos; nach ein paar Eingriffen in die Configs gem. Wiki hatte ich ein statisches 5.1 Setup mit 48000Hz und Upsampling. Problem hierbei: ein penetrantes Kratzen im hochfrequenten Bereich, das alle Stimmen extrem blechern wirken ließ, neben einem viel zu schwachen Subwoofer-Kanal. Hat mich an meine Windows-Zeit erinnert, als ich mit einer Audigy 2 und denselben Boxen mal die Bass-Umleitung aktiviert hatte. Hierfür habe ich keine Lösung gefunden, also nächster Versuch.
JACK war meine letzte Idee, und ebenfalls schnell aufgesetzt (de facto war hier eigentlich nichts aufzusetzen, da bereits installiert – musste nur gestartet werden). Problem mit JACK war mal wieder das Multiplexing, bei parallelen Zugriffen bekam der zweite Client Device or Ressource busy.
Etwas genervt von der Rumprobiererei galt der letzte Blick wieder dmix, und siehe da: ein manuell per /etc/asound.conf eingebundenes dmix ermöglicht nun mplayer und flash-Audio parallel – ganz ohne Soundserver
# /etc/asound.conf:
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dsp0 {
type plug
slave.pcm "dmixer"
hint {
show on
description "dmix dsp0"
}
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 8192
rate 48000
}
}
ctl.dmixer {
type hw
card 0
}
Genervt hat übrigens die ganze Zeit über auch knotify4, dass ständig alle möglichen devices blockierte und des Öfteren mit SEGFAULT abstürzte. Hier warte ich gespannt auf KDE 4.5, wo selbiges komplett überholt sein soll.
* Ein von ASUS groß als X-Fi mit EAX4 beworbenes Müll-Teil, was eigentlich einen ganz anderen Chip besitzt und sich nur ähnlich einer X-Fi verhält. Wird von so gut wie keinem Spiel als EAX-fähig erkannt und sorgt bei unzähligen Usern für Probleme, siehe Foren.
Tags: alsa, asus, dmix, jack, linux, oss, oss4, pulseaudio, sound, x-fi
Unkategorisiert, linux |
23. August 2010 20:16 Uhr |
Kommentare (1)
Beim Ändern von ignore-Regelsätzen für logcheck unterlaufen mir ganz gern Tippfehler in komplexeren Ausdrücken. Dumm nur, wenn ich das erst beim nächsten Cron-Run merke, in Form einer solchen Meldung:
egrep: Unmatched ) or \)
Toll: weder Regelsatz noch Zeilennummer werden genannt, also manuell suchen. Da es sich aber meist um umfangreiche Regelsätze handelt und ich (selbst bei gefundenem Satz) keine Möglichkeit gefunden habe, egrep die Zeilennummer des ungültigen Ausdrucks zu entlocken, entstand auf die Schnelle folgendes simples Script:
#!/bin/bash
if [ $# -ne 1 ]; then
echo "usage: $0 RULES_FILE"
exit 1
fi
if ! [ -r "$1" ]; then
echo "unable to read $1"
exit 1
fi
LINES=$(wc -l "$1" | cut -d ' ' -f 1)
for I in $(seq $LINES); do
echo "line $I..."
echo "foo" | egrep "$(cat "$1" | head -n $I | tail -n 1)"
done
exit 0
Es gibt bestimmt auch irgendeine elegantere Lösung, aber vielleicht erspart es ja jemandem die nervige Sucherei
Meinen Core i7-920 (2.67GHz Standardtakt) hatte ich bis vor kurzem noch per BCLK auf 3.6GHz übertaktet, was bei den 2009er Modellen erfreulicherweise recht zuverlässig funktioniert – ambitioniertere Tuner jagen die Dinger sogar permanent auf über 4GHz hoch. Negativer Nebeneffekt der Sache: Hitze. Der (alte) Core i7 hat mit 130W TDP auf Standardtakt schon eine recht hohe Verlustleistung; übertaktet entwickelt er sich dann endgültig zum Hitzkopf.
Trotz Wasserkühlung knackte mein Exemplar so nicht selten die 70°C – Marke, was mir im Hinblick auf den Sommer einige Sorgen bereitete. Zugegeben, mein System hat in Punkto Kühlungsdesign zwei entscheidende Defizite: 1.) Im Kreislauf hängt neben CPU auch eine GTX 280 als GraKa, die nicht unerheblich zur Hitze beiträgt. 2.) Der Rechner steht eingekeilt zwischen Schreibtisch-Seitenteil, Schrank und Tischplatte, sodass nur nach vorne Luft zu- und wegströmen kann.
Das alles veranlasste mich kürzlich zu einem konkreten Benchmark mit linpack:
Intel(R) LINPACK data
Current date/time: Fri May 7 19:49:37 2010
CPU frequency: 3.610 GHz
Number of CPUs: 8
Number of threads: 8
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 21000
Leading dimension of array : 21000
Number of trials to run : 100
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 3528424096, at the size = 21000
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
21000 21000 4 252.846 24.4215 3.959026e-10 3.178913e-02
21000 21000 4 252.587 24.4466 3.959026e-10 3.178913e-02
21000 21000 4 252.602 24.4451 3.959026e-10 3.178913e-02
21000 21000 4 252.614 24.4439 3.959026e-10 3.178913e-02
21000 21000 4 252.531 24.4520 3.959026e-10 3.178913e-02
21000 21000 4 252.550 24.4501 3.959026e-10 3.178913e-02
21000 21000 4 252.500 24.4549 3.959026e-10 3.178913e-02
21000 21000 4 252.466 24.4583 3.959026e-10 3.178913e-02
21000 21000 4 252.481 24.4568 3.959026e-10 3.178913e-02
21000 21000 4 252.489 24.4560 3.959026e-10 3.178913e-02
21000 21000 4 252.467 24.4582 3.959026e-10 3.178913e-02
21000 21000 4 252.475 24.4574 3.959026e-10 3.178913e-02
21000 21000 4 252.482 24.4567 3.959026e-10 3.178913e-02
21000 21000 4 252.477 24.4573 3.959026e-10 3.178913e-02
Intel(R) LINPACK data
Current date/time: Mon May 10 20:33:50 2010
CPU frequency: 2.670 GHz
Number of CPUs: 8
Number of threads: 8
Parameters are set to:
Number of tests : 1
Number of equations to solve (problem size) : 21000
Leading dimension of array : 21000
Number of trials to run : 100
Data alignment value (in Kbytes) : 4
Maximum memory requested that can be used = 3528424096, at the size = 21000
============= Timing linear equation system solver =================
Size LDA Align. Time(s) GFlops Residual Residual(norm)
21000 21000 4 342.691 18.0188 3.959026e-10 3.178913e-02
21000 21000 4 342.756 18.0154 3.959026e-10 3.178913e-02
21000 21000 4 342.765 18.0149 3.959026e-10 3.178913e-02
21000 21000 4 342.770 18.0146 3.959026e-10 3.178913e-02
Summa summarum also ~25% Performance-Einbuße, genau der linearer Weise erwartete Wert. Nun zu den Auswirkungen auf die Temperaturen:
|
CPU idle |
CPU Last |
Case |
Wasser |
| OC’ed |
47°C |
75°C |
38°C |
43°C |
| norm. |
42°C |
53°C |
31°C |
33°C |
Alle Werte außer “CPU Last” beziehen sich auf eine Uptime von ca. 4h bei normalem Office-Workload und einer Raumtemperatur von ca. 23°C.
Fazit: 25% weniger (theoretische) CPU-Performance für 30% bessere Temperaturwerte – für den Sommer ein wie ich finde fairer Tausch. Zumal bei den einzigen wirklich Rechenintensiven Anwendungen (Games!) hauptsächlich GPU und weniger CPU belastet wird.
Hier noch die relevanten Settings für beide Modi:
|
BCLK |
Multipl. |
DRAM Freq. |
VCore |
| OC’ed |
180.0MHz |
20.0 |
DDR3-1443MHz |
1.18750V |
| norm. |
133.0MHz |
20.0 |
–* |
–* |
Die *-Werte werden noch nachgeliefert. Am VCore könnte man sicher noch etwas Undervolting betreiben, hier heißt das Ziel <1.0V
Auch mich hat der DeNIC-Ausfall am Mittwoch ziemlich geschickt

Bleibt nur zu hoffen, dass die Provider ihre DNS-Caches flushen ^^
Vor einiger Zeit hatte ich mir die wenigen noch existenten, exotischen Betriebssysteme angesehen, darunter Haiku. Damals war es allerdings noch in einem viel früheren Entwicklungsstadium und nur in Qemu lauffähig.
Gestern kam ich durch Zufall wieder auf die Homepage und bemerkte die nun existierende Alpha-Version, die nun endlich benutzbar zu sein schien. In einer VirtualBox testete ich das System:

Bootscreen

Installer bei der Arbeit

Desktop

Filemanager

Terminal

ulimit -a

vim

top
Filemanager, shell, vim, baseutils – alles da
Und nun das Highlight: BeZilla (basierend auf Firefox 2.0):

BeZilla
Tja, macht insgesamt einen sehr benutzbaren Eindruck. Leider wurde der von VirtualBox emulierte Netzwerkadapter nicht erkannt, so konnte ich keine Onlineinhalte testen.
Mit einem Mailclient und diversen Multimedia-Anwendungen (Mediaplayer, Archivmanager, Editor, rudimentäre Bildbearbeitung) wäre wahrscheinlich für jede Standardaufgabe schon eine Anwendung dabei. Umsteigen wollte ich zwar nicht gerade, aber Haiku wird langsam eine benutzbare Alternative zu den üblichen Kandidaten bei der Systemauswahl.
Dank funktionierendem gcc steht nun auch der Portierung nichts mehr im Wege, eine Paketverwaltung ist auch schon geplant.
Beim Herunterfahren des Systems musste ich schmunzeln, als mich Haiku à la Win95 zum manuellen Ausschalten des Systems aufforderte

kein ACPI
In den kommenden Tagen wird es wahrscheinlich einige Downtimes der Seite geben, ich ziehe auf einen neuen Server um und wechsle gleich mal sämtliche Dienste
Apache -> lighttpd, qmail –> exim4, proftpd –> vsftpd, um nur die größten zu nennen. Lots of fun, immerhin mache ich das freiwillig
Kurzfassung: Windows Vista verträgt sich sowohl bei der Basisinstallation als auch bei der Installation des SP2 offenbar nicht mit LVM-Setups.
Die ganze Geschichte: Kürzlich kam ich in Verlegenheit, einem mit einer Fedora 11 verheirateten Vista Business das Service Pack 2 zu verpassen. Der Auftrag schien trivial, alles schon x mal gemacht. Überraschender weise ließ sich das SP2 jedoch absolut nicht zur Kooperation überreden und scheiterte immer nach dem Reboot im Abschnitt 3 mit dem “unbekannten Fehler” 80096004.
Nach etlichen gelesenen Knowledgebase-Artikeln und erfolglosen Fummlereien wie dem Umbenennen von system32\catroot2 versuchte ich eine Neuinstallation von Vista, welche aber ebenfalls scheiterte: alle Platten wurden gefunden, die Zielpartition konnte formatiert werden, aber beim Bestätigen wurde “kein Systemvolume gefunden, das den Anforderungen entspricht”. Ein letzter Versuch mit komplett eliminierter Partitionstabelle und somit leerer Platte brachte dann die scheinbare Ursache ans Tageslicht:
Es lag nicht an SATA/RAID, nicht an irgendwelchen fehlenden Treibern oder einem defekten Installationsmedium, sondern an der Fedora-Installation, mit dessen LVM-Setup sich Windoof anscheinend nicht verträgt. Ein Versuch mit einer nicht-LVM-Installation funktionierte jedenfalls einwandfrei.
Das SP2 ließ sich dann übrigens auch installieren
Genervt von der Tatsache, dass man in der Windowswelt schon nach Zusatz-Software suchen muss, um ein einfaches .iso auf eine Scheibe zu backen, um ein neues Installationsmedium zu erhalten, war es dann noch ein weiteres “Highlight”, dass die gefundene und viel gepriesene Software zu doof war, das Brennen eines DVD+R Rohlings mit einem ausschließlichen DVD-R Brenner zu verweigern und stattdessen Defekte im Recorder meldete.
Ein weiteres Kapitel mit der Überschrift: “Warum ich mir nicht vorstellen kann, wieder zu Windows zu wechseln”…

Thunar mal anders
Nach einigen nervigen Tagen mit einem unangekündigten libjpeg-update und dadurch ausgeschaltetem Imageviewer, einem vergeigten Wordpress-Updateversuch auf 2.8.1 und gestern dann diesem Resultat wird mir wieder bewusst, was bleeding edge bedeutet…

Über Pfingsten ist mal wieder Zeit zum Basteln geblieben. Die S100 bekam einen aktiven CPU-Fan (leider habe ich noch keine Möglichkeit gefunden, die CPU-Temperatur auszulesen) nebst zugehörigem Retro-Kippschalter unter der klappbaren Frontblende, einen mittleren Papst-Lüfter als Case-Fan und einen Netzschalter. Außerdem wurden diverse Kabelführungen verbessert und der Anschluss fürs externe Netzteil versenkt.
(keine Kommentare wegen der abenteuerlichen Verbindungsstellen, wird noch gefixt
)
Die vergangenen Tage war leider meine Netzanbindung… öhm… nennen wir es diskret, weshalb einige Nachträge folgen werden.
Wie immer wird einem immer erst dann bewusst, wie abhängig man von einem Dienst ist, wenn selbiger mal ausfällt…