Gentoo and KDE4

Everyone wanting to upgrade to KDE4 with Gentoo should be adviced not to trust the official guide completely. It’s a good start but incomplete and misleading. You should have a look at it nevertheless:

http://www.gentoo.org/proj/en/desktop/kde/kde4-guide.xml

You should know the following facts before getting yourself into trouble:

  • You need KDE 3.5.10 (unstable) prior to KDE 4 if you plan to use both along each other. Some applications of KDE 3.5.10 will break nevertheless, at least if you install without kdeprefix (see below). You will be blocked otherwise.
  • You don’t need an unstable portage 2.2 for EABI 2. Well, you kind of need it nevertheless. portage 2.1.6.* IS portage 2.2 but with all new features (except EABI 2) disabled. If you have enough time, know Python and want to help the portage developers please do it, you know where you find them. If you run a more experimental system (you are unmasking KDE 4, right?), you could unmask 2.2 nevertheless and help Gentoo by testing and submitting bug reports.
  • You need to unmask lots and lots of packages. You can use this file and NOT the file you get there (both are linked in the KDE4 guide but the last one is for kde-testing overlay only). Unfortunately you will need to unmask even more. You can use unmasker, a nice tiny tool that does all that nasty unmasking stuff for you while you can do better things. Following the comments you will end up with a directory /etc/portage.keywords/ and some files in it. Emerge will use all of them. Have a look at the generated file(s) and modify/comment/delete any lines you don’t like. There will be some (e.g. SVN versions).
  • Before starting that huge 250 ebuild session (twice that size if you need KDE 3.5.10), make sure you have kdeprefix in your USE flags! The guide says it would not be necessary to use it but trust me: it is if you want to save yourself some headaches.
  • Having compiled all ebuilds and noticing random crashes and disfunctionality? Start dbus and hald first – you need them in KDE4 or you get weird problems. (that’s not in the guide either :( )
  • Using unstable xorg 1.5 and have no keyboard anymore? Or are you just wondering why you should use 1.5? See this short thread.
  • You use NVidia drivers and see flickering red or black checkerboards covering your videos? Well, guess you are using Amarok. It took almost a year to find that out. Just exit Amarok or open and close the playlist and control window a few times, the flickering will disappear. BTW that also happened with Compiz Fusion and KDE 3.5.
  • Having stability problems? Make sure you use nvidia-drivers 180.27 or 180.29 for the time being, do NOT use 180.37 for now.
  • Your icons disappeared? Check for the Inherits=hicolor setting to be correct (find the icon set configs and possible options for Inherits using locate index.theme), also check for deprecated icons (folder icons etc.) and switch them. Maybe it also helps to upgrade to QT 4.5 and of course x.org 1.5 if you didn’t do that already; this could also fix some weird stuff going nuts in your system tray. Still missing icons? Bad luck I guess. The Oxygen icon set still seems incomplete and Inherits doesn’t seem to work in all cases, so you may try switching to some other icons instead. (Although this is 4.2, isn’t it? But what did other distributions do to fix it if it’s really incomplete/broken?)

These won’t be the only problems you come across, and I wrote some of them from memory because I upgraded about a month ago. Maybe it’s not sufficient what I wrote but it should save you at least 5 hours of work (or even more) figuring everything out yourself.

Good luck!

Darstellungsfehler in Compiz

Wo ich grad meinen Desktop entmiste fielen mir auch wieder 2 kleine Screenshots auf, die Darstellungsfehler in Compiz Fusion zeigen. Dabei wurden Anzeigen (insbesondere Texte) mehrfach überschrieben, wenn sich der betroffene Teil des Fensters während des Updates außerhalb des sichtbaren Desktopbereichs befand:

Der Fix war einfach eine weitere Option in die Device-Section einzufügen:

Option "UseCompositeWrapper" "true"

X, MythTV, VDR und XXV

Nachdem ich meinen Hauptrechner aufgerüstet hatte, fiel die alte Hardware für meinen VDR ab und da ich damit nun in der Lage war endlich mehr als nur 10 Farben im OSD ausgeben zu können ohne daß alles crasht (ich hatte meinen VDR vorher mit einer DXR3-Dekoderkarte zu laufen), beschloss ich einen Versuch mit X-Server und Softdevice zu wagen. Da der VDR optisch nicht ganz so hübsch ansprechend ist wie MythTV entschloss ich mich letzteres einfach mal auszuprobieren, traf dann aber auf Probleme die mich wieder zum VDR zurückgeführt haben. Und der sieht gar nicht mehr so schlecht aus auf der neuen Hardware.

Alle Angaben im Beitrag beziehen sich auf Gentoo. Continue reading “X, MythTV, VDR und XXV”

UUIDs verwenden

Da seit gestern eine Festplatte Probleme hat beim Systemstart hochzukommen (warum auch immer, die letzten 3 Wochen lief sie einwandfrei) und mir so sämtliche Mountpoints durcheinander gekommen sind, bin ich nun dazu übergegangen, UUIDs anstelle der Partitionsnummern zu verwenden. Dazu muss in der /etc/fstab lediglich anstelle von z.B. /dev/sd.. ein UUID= gefolgt von der jeweiligen, über ls -al /dev/disk/by-uuid ermittelten ID gesetzt werden.

Die IDs erscheinen möglicherweise in 2 verschiedenen Längen:

NTFS: 6220109320107071
Linux: 707fec45-b39b-4905-88b0-da454e9bf91d

In der /etc/fstab u.a.:
UUID=6220109320107071 /mnt/winf ntfs-3g auto,noatime 0 0

Über Google finden sich auch einige Vorschläge diese als Kernel-Option in der Form root=UUID=... anzugeben, allerdings ist dies kein Standard-Feature des Kernels und erfordert eine Ergänzung per initrd. Letztlich ist das aber eh in den meisten Fällen Schwachsinn, denn wenn eine Festplatte ihre Nummer wechselt, kann zumindest GRUB eh seine Stages nicht mehr finden und kommt gar nicht erst bis zum Kernel. ;)

Für Linux-Soft-RAIDs kann die Angabe der UUIDs bei den Mountpoints entfallen – im Superblock des RAIDs ist bereits eine “Preferred Minor”-Angabe enthalten, welche für die korrekte /dev/md-Nummer sorgen soll. Wenn ich mich nicht irre, werden die Linux-Soft-RAID-Devices übrigens auch standardmäßig über ihre UUID identifiziert.

Compiz-Bug in Java

Bei Verwendung von 3D-Desktops unter Linux, wie z.B. Compiz(-Fusion), kommt es zu einem Bug der mir bisher noch gar nicht aufgefallen war. Mit Swing entwickelte Anwendungen zeigen (teilweise reproduzierbar) ein leeres Fenster:

Abhilfe schafft das Installieren von libXP und Wechsel des Toolkits via export AWT_TOOLKIT=MToolkit. Laut Kommentar im Fedorablog ist das aber nur ein grober Workaround, da anschließend wohl einige Maße nicht mehr stimmen.

Sun hat dafür auch einen Bugreport. Das Problem ist allerdings schon ziemlich alt. Scheinbar wird oder wurde daran zwar gearbeitet aber angesichts des Alters und der bisher nur sporadisch greifenden Fixes ist fraglich, wann das Problem endgültig behoben wird. Hilft wohl erstmal nur, bei Swing-Entwicklung Compiz abzuschalten. :(

uvesafb mit mehr als 60Hz

Nachdem nun schon seit einer Weile vesafb nicht mehr aktiv war, wollte ich letztens die Auflösung des Konsolen-Framebuffers wieder erhöhen. Dabei stellte sich heraus, daß vesafb durch uvesafb abgelöst wurde, welches einige Funktionen in den Userspace verlagert. Außer der Aktivierung der Kerneloption werden noch (unter Gentoo) eine Neukompilierung von klibc und als Userspace-Teil v86d benötigt. Eine genaue Anleitung gibts auf der Projektseite beim Autor.

Gegenüber vesafb ändert sich im besten Fall nicht viel in den Kernelparametern. In meinem Fall lautete der neue Eintrag:

video=uvesafb:ywrap,1280x1024-32@85

Nur auf 85Hz kam ich nach einem Reboot leider nicht, stattdessen flimmerte der Monitor mit 60Hz vor sich hin. Scheinbar können von vielen Nvidia-Karten die Werte des Monitors nicht ausgelesen werden. Allerdings lassen sich ersatzweise 3 Parameter übergeben, mit denen der Wechsel in die höhere Bildwiederholrate gelingt:

  1. maxhf – maximale horizontale Frequenz
  2. maxvf – maximale vertikale Frequenz
  3. maxclk – Takt des Grafikchips

Die ersten beiden Werte hat man schonmal in /etc/X11/xorg.conf eingetragen, Section Monitor, in meinem Fall HorizSync 30.0 - 96.0 und VertRefresh 50.0 - 160.0. Den Takt verrät Xorg beim Start und lässt sich im Logfile wiederfinden. cat /var/log/Xorg.0.log | grep -i hz liefert bei mir: (--) NVIDIA(0): STN SAMTRON (CRT-1): 350.0 MHz maximum pixel clock

So lassen sich dann folgende Parameter ergänzen: video=uvesafb:ywrap,1280x1024-32@85,maxhf:96,maxvf:160,
maxclk:350

dmesg meldet dann:
uvesafb: NVIDIA Corporation, NV28 Board, Chip Rev A0, OEM: NVIDIA, VBE v3.0
uvesafb: protected mode interface info at c000:e740
uvesafb: pmi: set display start = c00ce785, set palette = c00ce80a
uvesafb: pmi: ports = b4c3 b503 ba03 c003 c103 c403 c503 c603 c703 c803 c903 cc03 ce03 cf03 d003 d103 d203 d303 d403 d503 da03 ff03
uvesafb: VBIOS/hardware doesn't support DDC transfers
uvesafb: monitor limits: vf = 160 Hz, hf = 96 kHz, clk = 350 MHz
uvesafb: scrolling: ywrap using protected mode interface, yres_virtual=4915
uvesafb: framebuffer at 0xd8000000, mapped to 0xf8880000, using 24576k, total 65536k

Linux auf dem iBook G4

Linux läuft bekanntlich überall. Daß es nicht überall gleich gut läuft ist auch bekannt. Daß es aber – in meinen Augen – nahezu unbrauchbar auf dem iBook G4 ist, hat selbst mich überrascht. Aber erstmal von Anfang an:

Motivation
Mein iBook wurde unter OS X subjektiv immer langsamer. Besonders wenn einige große Anwendungen, wie z.B. Eclipse liefen, dann war das arme Notebook einfach beim Multitasking überfordert. Das kann u.a. am RAM gelegen haben (512MB), muss aber nicht zwangsläufig, da es einige Zeit zuvor – subjektiv – schneller und flüssiger lief. Nachdem ich letztes Jahr auf dem Desktop zum Arbeiten komplett auf Linux umgestiegen bin, fingen mich auch einige andere Dinge an zunehmend zu nerven, so z.B. das irrsinnig langsame – wenn überhaupt noch funktionierende – X11 (brauche ich z.B. für Inkscape) oder das seltsame, unkomfortable Terminal an dem man sich dauernd stößt sobald man via SSH woanders einloggt. Java 1.6 gibts auch nicht und obs das für PPC überhaupt noch geben wird ist eh fraglich. Das Speichermanagement erscheint mir sehr ineffektiv (abgesehen vom statischen Linken aller Programme) und ob sich Leopard performancemäßig lohnen würde stand auch in den Sternen. Was tun, sprach Zeus? Ganz klar: Linux muss her! Also Backup gefahren, Partitionen neu aufgesetzt, OS X reinstalliert und Gentoo Live-CD eingelegt. Das war im Oktober und ich war guter Dinge. Leider sollte meine Euphorie schnell verfliegen….

Es folgt eine ziemlich lange Anleitung zur Lösung vieler vor allem plattformspezifischer Probleme. Continue reading “Linux auf dem iBook G4”

Gentoo: emerge ein Timeout geben

Beim wöchentlichen emerge –sync trat bei mir grad folgender Fehler auf:

timed out
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(276) [receiver=2.6.9]

Woran auch immer das gerade gelegen haben mag, folgende Zeilen für die make.conf, die ich in einem Thread im Gentoo-Forum gefunden habe, konnten mir weiterhelfen:

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" # Round Robin für europäische Server
PORTAGE_RSYNC_INITIAL_TIMEOUT=500 # setzt das Timeout für rsync auf 500 Sekunden

Warum man Versionsnummern nicht im Nachhinein umbenennen sollte…

Wer zur Zeit ein Update auf den Linux-Kernel 2.6.23 durchführt und eine alte Nvidia-Grafikkarte benutzt, den könnte eine Überraschung erwarten. Die alten 1.0.96xx-Treiber von Nvidia kompilieren damit nämlich nicht mehr nachdem nun schon vor einiger Zeit die GeForce 4-Serie zu “legacy” erklärt und von neueren Treibern ausgenommen wurde. Allerdings gibt es dennoch einen funktionierenden Treiber, nämlich 96.xx. Nvidia hat – warum auch immer – die Versionsnummern nachträglich umbenannt und sorgt damit jetzt ganz gut für Verwirrung. Schön wenn man dann alle Treiber >= 1.0.9700 auf mask gesetzt hat. :P

Opera 9.50 behebt Flash-Problem

Unter Linux war es aufgrund einer Inkompatibilität mit neueren GTK-Versionen schon seit einiger Zeit nicht mehr möglich, das Adobe Flash-Plugin mit Opera zu benutzen. Die aktuelle Beta-Version von 9.50 behebt dieses Problem nun endlich. Unter Last laufen Flash-Filme allerdings nur sehr langsam ab, im Gegensatz zum Firefox.