Mein Vaio FX505.G4 und GNU/LinuX
Hardware
| Mobile Athlon 1200MHz | PowerNow! Modul für LinuX 2.4 |
| ATI 3D Rage P/M Mobility AGP 2x | Xvideo (2D) Beschleunigung oder Beta 3D Beschleunigung |
| Via Apollo KT133 Chipset | vollständige LinuX Kernelunterstützung |
| Ethernet Controller RTL8139 | vollständige LinuX Kernelunterstützung |
| AC97 Audio Controller (VIA686b) | vollständige Unterstützung mit ALSA |
| AC97 Modem Controller (WinModem) | Beta Treiber (untestet) |
| 60 GB HITACHI_DK23CA Harddisk (30GB Original) | vollständige LinuX Kernelunterstützung |
| 512 MB PC100 SDRAM (256MB original) | vollständige LinuX Kernelunterstützung |
| 8/8/24 HL-DT-ST CD-RW/DVD DRIVE GCC-4080N | vollständige LinuX Kernelunterstützung |
| Via VT82C686 Apollo Super ACPI | teilweise ACPI Unterstützung |
| Via686 USB Controller | vollständige LinuX Kernelunterstützung |
| Texas Instruments 1394 Firewire Controller | vollständige LinuX Kernelunterstützung |
| Texas Instruments PCI1420 PC Card Bus | vollständige LinuX Kernelunterstützung |
| Funktionstasten | Mute und Volume mit hotkeys regeln |
Mobiler Athlon
CPUFreq-Patch
Seit Mitte Februar 2003 teste ich den cpufreq-patch recht erfolgreich. Nach Patchen und Neuübersetzung des Kernels kann man mitecho -n "500000:1200000:powersave" > /proc/cpufreq
die Prozessorfrequenz auf das mögliche Minimum drosseln. Das Zahlenpaar gibt die niedrigst- und höchstmögliche Frequenz in kHz an.
echo -n "500000:1200000:performance" > /proc/cpufreq
gibt wieder Maximalpower zur Verfügung.
Die automatische (lastabhängige) Regelung ist wohl in Arbeit. Leider kann man hier keine Zwischenfrequenzen und auch nicht die Corespannung einstellen, dafür wird cpufreq aber weiterentwickelt.
In den aktuellen AC-Kernel sind aktuelle ACPI und CPUFreq Patches bereits enthalten.
Spannungsanpassung mit CPUFreq
Warnung!!!Wenn die Parameter der Corespannung nicht den Spezifikationen entsprechen bleibt das System stehen, im Extremfall wird Hardware zerstört.
Diese Beschreibung funktioniert für den Kernel 2.6.4.
if (fid == 0x4) //FIXME 0xd=1.35 0xe=1.3 0x13=1.2 0x17=1.1 0x1B=1.0
vid= 0x1B;
if (fid == 0x6)
vid= 0x1B;
einfügt, werden für die Frequenzen bei 500MHz und 600MHz 1000mV statt 1200mV verwendet. Neben dem Energiespareffekt kommt das Notebook so im Ruhebetrieb sogar mit passiver Kühlung aus (Temperatur sinkt bei mir bis auf 47°C).
Weitergehende Versuche für andere Frequenzen aus der Biosliste niedrigere Corespannungen zu verwenden, führten früher oder später zu instabilem Systemverhalten oder ganz zum Stillstand.
Automatische Frequenzregelung
Von Carl Thompson habe ich ein kleines Tool bekommen, das mit dem CPUFreq-Patch die Prozessorfrequenz automatisch regelt.cpufreq -d -i 10 -t /proc/acpi/thermal_zone/THRM/temperature 69 -a /proc/acpi/ac_adapter/ACAD/state
Dieser Aufruf sorgt fuer eine Abfrage jede Sekunde und regelt beim Erreichen von 69°C die Frequenz auf das Minimum herunter. Wann immer die Prozessorauslastung steigt, wird die Frequenz stufenweise auf das Maximum erhoeht und wenn die wieder sinkt stufenweise wieder herunter geregelt. Allerdings hat mein System manchmal "Hänger" im 1/10s Bereich, was für mich persönlich nicht störend ist.
Frequenzregelung mit cpufreqd
Der CPUFreqd wird mittels Regeln in seiner Konfigurationsdatei in /etc/cpufreqd.conf gesteuert. Dort ist es möglich für den Batterie und Netzbetrieb verschiende Strategien zu konfigurieren. Die automatische Frequenzanpassung, die in der aktuellen Version auch mittels PowerNow! funktionieren soll, läuft bei mir nicht.RTDVS
Mittels der auf dieser Seite beschriebenen Anleitung kann man dem Kernel PowerNow!-Fähigkeiten einhauchen.Mit geladenem Modul powernowK7 kann man dann mittels
echo "Frequenz" "Corespannung" > /proc/powernow
die CPU herunter und wieder hochtakten, wobei die Angabe der Corespannung optional ist, sonst werden die aus der Tabelle im Modul genommen.
Warnung!!!
Wenn die Parameter (insbesondere der Corespannung) nicht den Spezifikationen entsprechen bleibt das System stehen, im Extremfall wird Hardware zerstört.
Bei mir konnte ich die Corespannung teilweise erheblich unter die im Modul angegebe senken und das Notebook stabil betreiben. Selbst unter Dauerlast geht die Temperatur so nicht über 64°C.
| Frequenz | Spannung |
| 700 MHz | 1000 mV |
| 1000 MHz | 1200 mV |
ATI 3D Rage P/M Mobility AGP
Derzeit gibt es zwei Möglichkeiten den ATI-Treiber von XFree zu verbessern.
2D-Beschleunigung mit GATOS ATI.2
Den hier erhältlichen Treiber einfach in /usr/X11R6 entpacken (nach vorherigem Backup). Hiermit ist eine ausreichende Performance zum Video gucken gegeben. Dies ist auch die meistgenutzte Variante.2D und 3D Beschleunigung mit Retinal Burn für XFree-4.2.x
Hierfür benötigt man 2 Archive, einen aktuellen Snapshot vom DRI-Branch sowie für Xvideo Unterstützung diesen Patch von Leif L. Delgass.Dann wie folgt:
- den Snapshot vom DRI-Branch entpacken
- das enthaltene Script install.sh ausführen und den Anweisungen folgen
- den Patch von Leif L. Delgass entpacken
- den Inhalt von X11R6-DRI/lib/modules/ nach /usr/X11R6/lib/modules kopieren
2D und 3D Beschleunigung mit Retinal Burn für XFree-4.3.0
Um sowohl DRI als auch Xv Funktionen nutzen zu können benötigt man auch bei der neuesten Version von XFree86 einen Patch. Dank der Arbeit von Leif L. Delgass ist dies jetzt sogar etwas einfacher geworden:- den Binary Patch entpacken
- das install.sh Script ausführen
VIA686b mit ALSA
Mit dem aktuellen ALSA-Packet (0.9.0-RC6)
bekommt man den Soundchip so zum Arbeiten, dass er auch mit KDE-3.x harmoniert (vor allem mit Arts).
Zuerst wird das Packet alsa-libs benötigt: entpacken und in alsa-lib-X/ ./configure ; make ; make install
Dann alsa-driver-X.tar.bz entpacken und in alsa-driver-X/ diesen Befehl ausführen:
./configure --with-cards=via82xx --with-oss=yes --with-sequencer=yes --with-isapnp=no ; make ; make install
Für die restlichen Packete dann jeweils:
./configure ; make ; make install
In /etc/modules.conf sind dann folgende Zeilen hinzuzufügen:
# ALSA Konfiguration
alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 snd-via82xx
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss
options snd cards_limit=1
Nun depmod -a nicht vergessen :-).
Anschliessend sind folgende Module zu laden:
- soundcore
- snd
- snd-via82xx
- snd-mixer-oss
- snd-pcm-oss
Powermanagement mit ACPI
Mit ACPI wird der CPU-Lüfter geregelt
und man kann mittels
cat /proc/thermal_zone/THRM/temperature
die Temperatur des Prozessors
auslesen. Für gkrellm2
habe ich ein Plugin angepasst, um die CPU-Temperatur dort anzeigen zu können.
Mute und Volume mit hotkeys regeln
Hierfür wird folgende Software benötigt:
Nach der Installation von xosd und hotkeys genügt es, die vaio.def in /usr/share/hotkeys/ zu platzieren und die hotkeys.conf nach /etc zu kopieren. Die durch hotkeys angesprochenen Programme (z.B. amute) müssen natürlich auch im System installiert sein. Nun noch, während die grafische Oberfläche schon gestartet ist, hotkeys aufrufen und freuhen, das es funktioniert.Sollte es Schwierirgkeiten mit dem OSD geben, einfach die Zeile osd_font=.... auskommentieren oder selbst anpassen.
Andere Sites zum Thema GNU/Linux und Laptops
- TuxMobil von Werner Heuser
- Linux Laptop von Kenneth E. Harker
- GNU/Linux auf dem Vaio PCG-FX501 von Peter Weissgerber
- Linux on the Sony VAIO FX/FXA series von Markus Gaugusch