thinkretro.de

Jun 10, 2017

Atyfb auf dem Dell Latitude CPx H500GT

Seit geraumer Zeit besitze ich einen schon in etwas die Jahre gekommenen (manch einer würde sagen antiken) Dell Latitude CPx H500GT. Ein 14-Zoll Notebook mit einer 500MHz Pentium-III CPU und 256 MB Ram aus dem Jahr 2000. Zwar ist das nichts mit dem man heute noch irgendwen beeindrucken kann, aber das Ding ist in tadelosem Zustand und auf der Tastatur tippen sich die Blogposts wie in Butter ☺. Installiert ist ein aktuelles Debian "Stretch", ohne X - und was soll ich sagen, alles läuft so wie es soll. Zumindest mittlerweile. Ich hatte nämlich bis dato ziemliche Probleme das richtige Kernelmodul für die verbaute ATI Mach64 Grafikkarte zu laden. Nach langem hin-und-her, habe ich jetzt endlich zumindest einen Workaround gefunden mit dem das atyfb-Kernelmodul geladen werden kann.

Einen ersten Schritt in die richtige Richtung brachte das Einfügen der Zeile GRUB_TERMINAL=console in der Datei /etc/default/grub. Gesagt getan und siehe da man kann nun mit sudo modprobe atyfb das richtige Kernelmodul laden.

Das Ganze zu automatisieren war wiederum eine andere Geschichte. Für das Laden spezifischer Kernelmodule zum Bootzeitpunkt ist der SystemD-Dienst systemd-modules-load.d.service zuständig, der zunächst im Ordner /etc/modules-load.d nach *.conf Dateien Ausschau hält und dann die darin genannten Kernelmodule lädt. So weit zur Theorie. Legt man in diesem Verzeichnis eine Datei atyfb.conf und schreibt in diese den gleichnamigen Modulnamen atyfb so sollte dieses beim Systemstart geladen werden. Eigentlich. Nach langem hin und her und nach einem aufmerksamen durchlesen der Ausgabe von journalctl -xe | less fand ich den Hinweis, dass das Kernelmodul nicht geladen werden konnte, weil es auf einer blacklist stand. Das Ganze brachte mich dann wiederum zu der Frage ob so eine Blacklist noch an anderer Stelle als unter /etc/modprobe.d geführt wird und siehe da mit der Brachialmethode grep -r atyfb / 2>/dev/null erschien die verräterische Zeile /lib/modprobe.d/blacklist-fbdev: blacklist atyfb, die ich nur noch auskommentieren musste.

Jedenfalls klappt es nun und das richtige Kernelmodul wird beim Systemstart geladen. So richtig smooth ist diese Methode allerdings noch nicht. Warum auch immer werden Einstellungen, die ich in der Datei /etc/default/console-setup vorgenommen habe nicht beim Start geladen. Hier hilft immer nur ein manuelles systemctl restart console-setup.service. Man kann halt nicht alles haben und vermutlich ist das der Preis, wenn man auf 17 Jahre alter Hardware unterwegs ist ☺.