Firefox 3.6 / Font Rendering ?
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 :)
Am 25.01.2010, 00:02
Am 25.01.2010, 00:29
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.
Am 25.01.2010, 07:14
Am 25.01.2010, 08:32
Grüße,
Florian
Am 25.01.2010, 11:22
Am 25.01.2010, 17:00
Am 25.01.2010, 21:35
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-mochitestAm 25.01.2010, 21:45
Am 25.01.2010, 21:55
Am 25.01.2010, 22:04
Am 26.01.2010, 09:45
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 ;)
Am 26.01.2010, 09:55
Am 02.02.2010, 22:49
Nur so zur Info :-)
Am 02.02.2010, 23:09
Am 04.02.2010, 11:14
kann es sein, dass du die Optimierung zwar definierst, aber nicht verwendest? ;)
Sprich, da fehlt doch ein:
--enable-optimize="$OPTIMIZE" \oderß
Am 04.02.2010, 11:20
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.
Am 04.02.2010, 12:59
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.)