LABYRINTHOFORM

EIN ANFANG, EIN ENDE. UND DAS DAZWISCHEN...

Nachdem die langersehnte Version 3.6 des Feuerfuchses jetzt veröffentlicht wurde musste ich selbige natürlich auch gleich ausprobieren – aber irgendetwas war anders als sonst…

UPDATE: LÖSUNG GEFUNDEN, SH. WEITER UNTEN :)

Das Font-Rendering im Firefox 3.6 (installiert über die Downloadpakete von mozilla.org) ist etwas schlechter als in der Version 3.5 aus den Ubuntu-Repositories und entspricht nicht den Einstellungen in Gnome (“LCD-Subpixel”, “RGB”, “gering”).

Also fix gesucht und entsprechende Workarounds hauptsächlich von ubuntuforums.org ausprobiert (diverse ~/.fonts.conf-Varianten, /etc/fonts/conf.d/10-*-Löschungen) – aber so richtig geholfen hat das alles leider nicht.

Sehr schade eigentlich, auch die Variante aus den mozilla-daily Repositories schafft keine Abhilfe – bleibt da wirklich nur “warten auf Ubuntu 10.04″ ? Irgendwo hatte ich gelesen dass evtl. die Ubuntu-Firefox Modification Erweiterung etwas damit zu tun haben könnte, möglicherweise hilft selbst-compilieren des Lieblingsbrowsers? Einigermassen benutzbar ist FF 3.6 – aber wenn man weiss dass es auch schöner geht…

Zwei interessante Links zum Thema Firefox/Ubuntu gibts noch dazu: Firefox Troubleshooting Thread von ubuntuforums.org und Firefox 3.6 FAQ von linuxundich.de.

Die Lösung: Selbst compilieren

So, nachdem ich über Verlinkungen in einem Ubuntuusers-Thread hierhin gelangt bin musste ich das doch noch ausprobieren:

Source von Mozilla heruntergeladen und in /usr/local/src entpackt, irgendwelche Patches habe ich nicht verwendet.

Ein von mir leicht angepasster auf-gut-Glück ./configure-Aufruf + angepasste Konfiguration, als Miniscript zusammengefasst (Edit 4.2.2010 – --enable-optimize ergänzt, danke für den Hinweis.):

#!/bin/sh
# Originalscript von Mäuseturm hier:
# http://forum.ubuntuusers.de/topic/ 
# thunderbird-3-0-fuer-64bit-kompilieren/
#
# i686, O3-Optimierung wegelassen
OPTIMIZE="-march=i686 -mtune=i686 -pipe -fomit-frame-pointer"

# Aus Mäuseturms Script übernommen:
MOZILLA_OFFICIAL=1
BUILD_OFFICIAL=1

# Div. Anpassungen, 32Bit, Verzeichnisse,...
./configure --build=x86_32-linux-gnu 
            --prefix="/opt/firefox" 
            --includedir="/usr/include" 
            --mandir="/usr/share/man" 
            --infodir="/usr/share/info" 
            --libexecdir="/usr/lib/firefox" 
            --sysconfdir=/etc 
            --localstatedir=/var 
            --srcdir=. 
            --with-user-appdir=".firefox" 
            --with-system-jpeg=/usr 
            --with-system-zlib=/usr 
            --with-system-nspr 
            --with-system-nss 
            --with-distribution-id=com.ubuntu 
            --enable-optimize="$OPTIMIZE" 
            --enable-application=browser 
            --enable-extensions=default 
            --enable-official-branding 
            --enable-libxul 
            --enable-system-cairo 
            --enable-xinerama 
            --enable-canvas 
            --enable-pango 
            --enable-startup-notification 
            --disable-debug 
            --disable-debug-modules 
            --disable-debugger-info-modules 
            --disable-dependency-tracking 
            --disable-installer 
            --disable-install-strip 
            --disable-profilesharing 
            --disable-strip 
            --disable-strip-libs 
            --disable-elf-dynstr-gc 
            --disable-updater 
            --disable-xprint 
            --disable-ldap 
            --disable-logging 
            --disable-javaxpcom 
            --disable-crashreporter 
            --disable-mochitest 
            --disable-tests 
            --disable-maintainer-mode 

Dann gebaut, dauert auf einem Samsung NC10 etwa 1,5 Stunden…

$ sudo make

… und installiert, als Installationsverzeichnis wurde bei ./configure bereits /opt/firefox angegeben:

$ sudo make install

Fertig. Das erste Mal wurde Firefox 3.6 dann händisch per Direktaufruf in /opt/firefox/bin gestartet um sicherzugehen dass auch wirklich die gewünschte Version läuft, das Fontrendering ist wieder wunderprächtig, auch Extensions/Bookmarks laufen ohne weiteres Basteln (und das obwohl ich in ./configure “.firefox” als Userdir angegeben hatte, hm…) – bisher bin ich recht zufrieden. Man sollte wirklich niemals “nie” sagen, irgendwie geht es doch immer.

Dann noch frisch für den einfachen “firefox”-Aufruf verlinkt:

sudo ln -s /opt/firefox/bin/firefox /usr/local/bin/firefox

Wie geht es weiter?

Nunja, nachdem dieser Risiko-Build scheinbar funktioniert hat wird es wohl Zeit sich näher mit den ./configure-Optionen zu beschäftigen – wenn jemand da FIrefox-bezügliche Informationen hat bitte ruhig Bescheid geben :)

Kommentare

Das hat mit relativ hoher Wahrscheinlichkeit damit zu tun, dass vorcompilierte Pakete von mozilla.org verwendet werden. Ich habe gleiches bei Archlinux beobachtet. Selber kompilieren sollte aber helfen, hat es bei mir zumindest – oder auf distributionsspezifische Pakete warten, wie von dir schon angedeutet.

Leider bringt das Selbstkompilieren auch nichts. Ich habe mir heute morgen mal den Quellcode aus der Lucid-Build-Queue genommen und den Browser unter Lucid kompiliert. Gleiches Ergebnis wie beim offiziellen Mozilla-Paket.

Der Bug mit dem Subpixel-Hinting trat eigentlich immer nur bei den offiziellen Mozilla-Kompilaten auf. Die Pakete unter Ubuntu (Egal ob jetzt offiziell oder aus dem Daily-PPA) funktionierten dagegen immer fehlerfrei.

Danke, das spart definitiv eine längere Aktion auf dem Netbook, das Compilieren versuche ich also gar nicht erst. Mit der Ubufox-Erweiterung hat das Fontrendering scheinbar auch nichts zu tun, NightliyTesterTools+Ubufox für 3.5 = kein Erfolg :(

Hi, funktioniert die Methode mit der .fonts.conf (erster Abschnitt unten, vor dem ersten Update) nicht mehr?

Grüße,
Florian

Nein, funktioniert leider nicht mehr. Die .fonts.conf wird zwar berücksichtigt, es war mir (und anderen auf ubuntuforums.org) aber nicht möglich ein identisches Font-Rendering wie unter FF 3.5 zu erreichen, das Schriftbild bleibt bestenfalls so wie in obigem Screenshot (rechts).

Update: Selbstcompilierung funktioniert hier, habe den Artikel entsprechend aktualisiert.

Hallo und danke für den Tipp!
Auch bei mir hat es mit dem Kompilieren geklappt und die Schrift ist wunderbar.
Ich habe danach noch das deutsche Sprachpaket installiert und mit dem Language Switcher eingestellt (kann danach deinstalliert werden).

Meine configure-Einstellungen waren:
./configure --build=x86_64-linux-gnu --prefix="/opt/firefox" --includedir="/usr/include" --mandir="/usr/share/man" --infodir="/usr/share/info" --sysconfdir="/etc" --localstatedir="/var" --libexecdir="/usr/lib/xulrunner-1.9.1" --srcdir=. --with-user-appdir=".mozilla" --with-system-jpeg=/usr --with-system-zlib=/usr --with-system-bz2=/usr --with-system-nspr --with-system-nss --with-default-mozilla-five-home="/usr/lib/xulrunner-1.9.1.7" --with-distribution-id=com.ubuntu --enable-optimize --enable-system-cairo --enable-canvas --enable-pango --enable-system-hunspell --enable-application=browser --enable-extensions=default --enable-official-branding --enable-libxul --enable-safe-browsing --enable-startup-notification --disable-debug --disable-debug-modules --disable-debugger-info-modules --disable-maintainer-mode --disable-dependency-tracking --disable-profilesharing --disable-javaxpcom --disable-crashreporter --disable-elf-dynstr-gc --disable-installer --disable-ldap --disable-logging --disable-strip --disable-strip-libs --disable-install-strip --disable-updater --disable-tests --disable-mochitest

Schön dass es geklappt hat und danke für ./configure. Die Sprachdatei habe ich mittlerweile auch drin, allerdings brauchte ich keine extra Switcher-Extension installieren? XPI-angeklickt, Installation erlaubt, fertig.

:D was lese ich gerade mit meinem neuen selbstkompilierten Firefox 3.6? Das hier: http://linuxundich.de/de/ubuntu/offizielle-paketquelle-fur-ubuntu-und-firefox-3-6/

So ging es mir auch, bin gespannt ob sich noch jemand wg. dem Font-Rendering meldet, bisher sieht es ja fast so aus als hätten wir uns das compilieren sparen können…

Hi,

kleiner Tip:
Ändere den Link zum ubuntuusers Forum (“hierhin gelangt bin”) ein wenig ab und entferne im Link das “/reply/”. Sonst schießt der Login vom Forum dazwischen ;)

Danke, ist geändert und der Link sollte jetzt funktionieren :)

Der Ubuntu-Bugreport zum Problem: #512615.

Nur so zur Info :-)

Dankeschön.

[...] Firefox-3.6 Checkinstall Paket (für “schöneres Fontrendering unter Karmic) hatte versehentlich den falschen Paketnamen “src” verpasst bekommen [...]

Hi nochmal,
kann es sein, dass du die Optimierung zwar definierst, aber nicht verwendest? ;)
Sprich, da fehlt doch ein:

--enable-optimize="$OPTIMIZE" \

oderß

Das kann gut sein, danke für den Hinweis. Das gehört dass wohl zur Kategorie “mehr mit den ./configure-Optionen beschäftigen”, scheinbar ist diese Zeile meinen manchmal freidrehenden Strg-X-Aktionen zum Opfer gefallen. Danke nochmal :)

Edit: Vor einem Neukompilieren wäre jetzt natürlich interessant inwieweit sich die Optimierungen wirklich auswirken, ich muss ehrlich sagen dass ich auch so recht zufrieden mit dem FF 3.6 bin…

Habe im vorangehenden Kommentar mal noch Code-Tags eingefügt da sonst die zwei Bindestriche nicht korrekt dargestellt werden.

Ich hab ja oben meine configure-Einstellungen gepostet. Die habe ich größtenteils aus about:buildconfig meines FF3.5 aus den Karmic-Paketquellen. Deswegen habe ich auch die Angabe zu xul übernommen, welches da ja noch in Version 1.9.1 vorlag. Da in FF3.6 aber 1.9.2 akuell ist, ist es vielleicht klüger, diese Angabe wegzulassen.
Ich möchte es jetzt nicht unbedingt noch mal kompilieren, es soll der Vollständigkeit halber aber gesagt sein :-)
(Ich weiß allerdings nicht, ob die enable-libxul-Option die anderen beiden Optionen überschreibt. Dann wär der Hinweis (und die Angaben sowieso) natürlich überflüssig.)

Kommentar schreiben