Flash Player 10 für Linux

Hab jetzt mal Adobe’s Flash Player 10 für Linux installiert. Der Hauptgrund war, dass mit dieser Version endlich der Overlay Fehler beseitigt wurde, der bis Version 9 immer dann auftritt, wenn ein Menü über einer Flash Ausgabefläche erscheint – oder eben nicht erscheint.

Dieser Fehler ist tatsächlich im neuesten Release gefixt. Allerdings lässt es sich auf openSUSE 11.0 nicht über das Non-OSS Repository einspielen. Daher muss man zuerst dieses Paket löschen und dann das rpm Paket von der Adobe Webseite einspielen.

Ein manueller Link ermöglicht systemweit Firefox auf das Plugin zuzugreifen (SUSE spezifisch)

 ln -s /usr/lib/flash-plugin/libflashplayer.so /usr/lib/browser-plugins/

Die hervorragende Nachricht ist, dass Adobe ebenfalls das Plugin nativ in einer 64bit Version exklusiv für Linux anzubieten. Mann kann es von folgender Seite herunterladen.

http://labs.adobe.com/downloads/flashplayer10.html

Das zu herunterladende .tar.gz Paket enthält nur das Plugin als .so Datei. Diese kopiert man entweder in das obengenannte systemweite Verzeichnis oder nach

~/mozilla/plugins

Auch hier muss man das bestehende Paket deinstallieren und ev. nspluginwrapper deinstallieren und bei Bedarf reinstallieren. nspluginwrapper ermöglicht es 32bit plugins im 64bit Browser zu arbeiten, bspw. gibt es Adobe Reader Plugin nur als 32bit Version. Ein reinstallieren löscht der plugin Eintrag des alten flash Paketes.

neue nVIDIA Treiber und KDE 4.1 compositing

Gute Nachrichten von nVIDIA! Die neue Treibergeneration 177.XX bringt wesentliche Performancegewinne gegenüber dem lange aktuellen Treiber 173.14. Zudem funktionieren jetzt endlich die Compositing Effekte des kWin Windowmanagers von KDE4 flüssig.

Die durchschnittlichen Frameraten des X2-The Threat benchmarks mit 1440×900,32bit,alle Effekte ausser Realtime-Shadows zum Vergleich (viele Testreihen)

nVIDIA 173.14: 26.0-26.2 fps
nVIDIA 177.82: 34.4-34.6 fps

Das bedeutet einen Performancegewinn von über 30%

Leider könnendiese Frameraten nicht erzielt werden, wenn die Compositing (Desktop) Effekte bei KDE4 aktiviert sind. Auch ein temporäres deaktivieren bringt nichts, solange man sich noch in der Session befindet.

Ich habe diese Problematik mal an die KDEler weitergeleitet:

http://bugs.kde.org/show_bug.cgi?id=175454

truecrypt 6.x Installation auf openSuSE 10.2

Obwohl man auf der truecrypt webseite eine (32- und 64bit) Installation für openSuSE herunterladen kann, scheint das Paket nur für openSuSE 10.3 und höher ausgelegt sein.
Bei der ersten openSuSE Distribution (10.2) kommt beim einspielen des rpm Pakets folgende Fehlermeldung (vorausgesetzt man hat schon das fuse Paket installiert)

error: Failed dependencies:
        libfuse2 is needed by truecrypt-6.1-0.i586
        libstdc++.so.6(GLIBCXX_3.4.9) is needed by truecrypt-6.1-0.i586

Kritisch an diesem Binary ist, dass eine neuere C++ Library verlangt wird, so dass man mit grosser Sicherheit sagen kann, dass ein Ignorieren der Dependencies zum Absturz des Programmes zur Laufzeit führt.

Also kommt man auf openSuSE 10.2 nicht umhin dass Source Paket selber zu kompilieren. Bei der Übersetzung merkt man dann aber, dass wxWindow mindestens in Version 2.8.x vorliegen muss und damit das von openSuSE bereitgestellte 2.6.3 Paket zu alt ist.

Hier ist die Auflistung aller Schritte, die zum Erfolg der Übersetzung von truecrypt 6.x führen.

  1. Das Softwarerepository packman muss als Installationsquelle hinzugefügt werden.
  2. Falls vorhanden, alle installierten wxGTK Pakete löschen – dies kann ev. dazu führen, dass aus dem packman Repository gewisse Pakete erneuert werden müssen.
  3. Aus dem packman repository alle wxWidgets Pakete installieren
  4. Die Pakete fuse und fuse-devel müssen installiert werden. Letzteres ist auf keiner openSuSE 10.2 DVD enthalten und muss über das OSS Software Repository eingespielt werden.
  5. Das truecrypt source Archiv entpacken.
  6. In das Verzeichnis truecrypt-6.1-source wechseln und dort 3 spezielle Headerdateien im Bezug auf das PKCS11 System herunterladen:

wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h

dann make ausführen das entstandene binary in ein lokales bin Verzeichnis kopieren,bspw:

cp Main/truecrypt /usr/local/bin/

Energiesparen auf einem Linux Desktop

Auf einem neueren Linux Desktop Rechner, der Client- als auch Serverdienste übernimmt kann man auch kräftig Stromsparen. Die zentralen Einsparungspotentiale liegen bei der CPU und den Festplatten.

Auf openSuSE übernimmt im powersave Paket der powersaved Dienst die Funktion, die CPU Geschwindigkeiten zu regeln. Dabei kommen default Einstellungen zum Tragen, die unter

/etc/sysconfig/powersave

geändert werden können.Alternativ kann man auch mit einem Desktop Applet – wie Lithium unter KDE4 – die Werte anpassen.

Lithium Powersave Control

Es handelt sich dabei um

a) das Powerschema, z.B. „Performance„, dessen Beschreibung genauere Werte für bswp. Abschaltzeiten beinhaltet und auch ein default CPU-Frequenzschema setzt.

b) das CPU-Frequenzschema, z.B. „On Demand„, welches die sog. p-States der modernen Prozessoren steuert, die Ihre Frequenz dynamisch den Lastbedingungen anpassen können

Die möglichen Werte werden unter

/sys/devices/system/cpu/cpu0/cpufreq/

aufgelistet. Dort kann man auch die aktuelle Frequenz unter „cpuinfo_cur_freq“ ablesen.

Neben der CPU verbrauchen auch die Festplatten konstant Strom, da der Spindelmotor immer in Bewegung ist. Aber auch Festplatten besitzen seit geraumer Zeit Stromsparmechanismen:

hdparm -S n /dev/sdX

sorgt für ein Abschalten nach „n“ Sekunden.

hdparm -B n

setzt den Stromsparmodus der Platte, bei der die Plattenfirmware die Spindow-Zeit regelt. „1“ sorgt für maximales Sparen, „255“ schaltet das Powermanagement ab.

Beide Werte müssen aber umsichtig gesetzt werden. Erstens vertragen klassische Desktop (noch weniger Serverfestplatten) ein häufiges aus- und anschalten nicht, ausserdem sorgen manche Prozesse wie der syslog-daemon für ein permanentes Beschreiben, was ev. die Abschaltzeit nie erreichen lässt.

Dieses Problem kann man dadurch umgehen, dass unter

/proc/sys/vm/dirty_writeback_centisecs

ein höherer Wert, Schreibaktionen auf Platte länger zwischenpuffert. Ob dies, gerade bei einem so wichtigen Dienst wie syslog, akzeptabel ist, muss jeder dann selber entscheiden.

Bei einem Intel Core Duo Rechner mit zwei 3.5“ Festplatten ist ein durchschnittlicher Verbrauch zwischen 40 – 60 W die Regel.

Nessus Client zerschiesst Linux Installation

Vorsicht bei der Installation des NessusClients, vor allem vor dem Paket

NessusClient-3.2.1-suse10.3.i586.rpm

Die Installation dieses Pakets bewirkt, die Erweiterung der globalen ld.so.conf Datei mit dem Pfad

/opt/nessus/lib

was dazu führen kann, dass alle Qt-basierenden Programme die dortig abgelegten Qt-Bibliotheken verwenden, die natürlich zu alt sind und das Programm zum sofortigen Absturz bringen.

Konkret führte das bei mir schon dazu, dass runlevel 5 nicht mehr erreicht wurde, weil der Einlogmanager „kdm“ wg. nicht mehr auflösbaren Einspringpunkten abstürzte. Ein ldd `which kdm` brachte es zutage.

libQtGui.so.4 => /opt/nessus//lib/libQtGui.so.4 (0xb7116000)

Der Fehler sollte von TNS sofort dahingehend korrigiert werden, dass nicht mehr der globale ld.so Bereich geschrieben wird, sondern mit rpath der Nessus Client seine eigenen Bib’s aus dem Nessus Bereich nimmt.

KDE 4.1.1 rocks

Mit dem neuesten KDE update auf den openSuSE repositories, welches auf

KDE 4.1.1

QT 4.4.2

updatet, wurde die ohnehin schon stabile KDE 4.1  Release noch um ein paar entscheidende Faktoren verbessert.

  • CUPS Druckoptionen werden im (Qt basierenden) Druckdialog dargestellt.

Das konnte schon der kdeprinter Dialog aus der KDE 3.x Reihe, jetzt werden die Druckerspezifischen Optionen (im .ppd File hinterlegt) im Reiter Erweitert angezeigt.

CUPS Printeroptionen

  • (kwin basierende) Desktopeffekte werden bei Vollbildschirmanwendungen abgeschaltet.

Ab sofort werden Vollbildschirmanwendungen  – Spiele! – nicht mehr (so sehr) von den eingeschalteten Desktop-Effekten ausgebremst. Das Rendering muss nicht mehr die Composite-Engine durchlaufen

siehe auch kde-bug 165237, der mit KDE subversion r851742 erledigt sein sollte.

Allerdings nimmt die 3D Performance nach meinen Messungen (mit X2 benchmark) immer noch um ca. 20% ab. Wem das zuviel ist, kann mit einem schicken Plasmoid aus dem KDE_Factory_Desktop repository das Compositing schnell ein- und ausschalten.

kwin Compositing ONkwin Compositing OFF

Jetzt bleibt nur noch das leidige Performanceproblem, dass der kwin Windowmanager von KDE 4.x mit den offiziellen nVIDIA Treiber hat. Allerdings verdichten sich die Anzeichen, dass die nächste Release des Treibers das Problem beseitigt. Die aktuelle beta Version 177.67 soll jedenfalls schon weitgehend performant in Verbindung mit  KDE 4.1 sein.

Alles in allem würde ich jetzt den KDE 4.1 Desktop für den produktiven Einsatz für reif halten.

openSUSE 11.0 auf MacBook Pro (Santa Rosa)

Es geht voran!  Vor kurzem habe ich auf einem MacBook Pro die neueste Version von openSUSE zum Laufen gebracht. Die wichtigsten Facts sind weiterhin auf folgender Seite zusammengefasst:

Linux auf dem MacBook Pro

Und es gibt einige Highlights – die Paketverwaltung läuft jetzt endlich rund. Selbst mit 8-10 Softwarerepositories startet das Online-Update in Sekunden – ebenso die Installationsroutine.

Das openSUSE update Applet zeigt Security Patches sofort an, kann aber auch die Updates der eingestellten Repositories anbieten, sofern man in der applet Konfiguration folgenden Punkt angewählt hat:

 „Zeige verfügbare Upgrade, wenn die Software Sie anbietet (nur für Experten)“

Dann erscheint folgender Hinweisdialog beim Anklicken des Updater Applets

openSUSE update Applet

Sehr wichtig ist, dass das NetzwerkManager Applet unter KDE4 einwandfrei funktioniert und von der Bedienung das einfachste Netzwerk Konfigurationsmanagment bereitstellt, was man je gesehen hat. Bei einer neuen WLAN Verbindung wird man durch 4 Schritte geführt, die u.a. das Passwort (automatische Erkennung von WEP und WPA) abfragen, sowie das Einstellen einer DHCP- oder statische Adresse erlauben. Zudem wird im Applet, die Signalstärke angezeigt. Die Trennung von kabelgebundenen und kabellosen Verbindungen ist klar ersichtlich.

KDE 4.0 wirkt aufgeräumt und sauber. Das neue (unter SuSE schon länger bekannte) KDE Menü bietet einen Schnellzugriff auf häufig benutzte Programme, sowie eine Trennung von zuletzt benutzen Dateien und allen installierten Programmen an.

Zudem muss man lobend erwähnen, dass die Schriftarten endlich eine vernünftige Größe haben und nicht mehr klobig wirken. Zudem ist das Oxygen Design sehr professionell und muss sich auf vor Mac OS X nicht mehr verstecken.

Die Oberflächeneffekte lässt man besser noch unaktiviert – denn Sie funktionieren nicht sehr zuverlässig und können via OpenGL das System schlimmstenfalls destabilisieren.

Dafür sind an allen Ecken und Enden Verbesserungen eingetreten, bspw. ein neuer schlanker übersichtlicher Systemmonitor

KDE4 Systemmonitor

..was einem für die stabile 4.1 Version von KDE optimistisch stimmt.

Bluetooth Maus unter openSUSE 11.0

Zwar wurde meine Logitech Travel Bluetooth Mouse unter openSUSE 11.0 out-of-the box erkannt,  das Maus-Scrollrad funktionierte aber nicht. Dazu muss die Maus am System registriert werden.

Dazu waren folgende Schritte nötig:

in der Datei /etc/sysconfig/bluetooth folgenden Eintrag vornehmen, falls nicht schon vorhanden
HID2HCI_START="yes"
danach kbluetooth starten und im Kontextmenü

kbluetooth

Einstellungen -> Eingabegeräte -> Neue Geräte hinzufügen

auswählen. Dort sollte die Maus erscheinen. Nach der Auswahl kommt nach einiger Zeit automatisch ein Dialog ob dem Bluetooth Gerät mit der Bluetooth ID XX:XX:XX:XX… vertraut werden soll. Nach der Quittierung, stehen alle Mausfunktionen zur Verfügung, sofern sie in der Datei

/etc/X11/xorg.conf

eingestellt sind. Folgender Standardeintrag sollte für fast jede Logitech Maus passend sein.

 Section "InputDevice"
  Identifier   "Mouse[1]"
  Driver       "mouse"
  Option       "Protocol" "explorerps/2"
  Option       "Device" "/dev/input/mice"
  Option       "Buttons" "5"
  Option       "Name" "Logitech Bluetooth Mouse"
  Option       "ZAxisMapping" "4 5 6 7"
EndSection

Noch ein Hinweis: Die Funktion „Neue Geräte hinzufügen“ wird die Maus nur erkennen, falls die Batterien/Akkus der Maus noch einigermassen aufgeladen sind. Falls nicht, schlägt die Erkennung fehl, obwohl die Maus im rudimentären Modus noch arbeitet.

Koexistenz von NVIDIA und MESA auf openSuSE

Beim Übersetzen von Programmen auf einem System mit NVIDIA Treiber kann man, wenn es dumm läuft auf folgendes Problem stossen:

/usr/X11R6/lib/libGLcore.so.1: undefined reference to `_nv000042gl'
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../libGL.so: undefined reference to `_nv000044gl'

Entstanden ist das Problem durch eine unzureichende Abgrenzung zwischen der OpenGL Implementation von MESA und NVIDIA. Es lässt sich vollständig vermeiden, wenn das NVIDIA OpenGL Paket per Paketmanager anstatt manuell eingespielt wird.

nvidia-gfxG01-kmp-default
x11-video-nvidiaG01

Während erstes Paket nur den Treiber (nvidia.ko) enthält, beinhaltet das 2.Paket auch die klassische OpenGL Bibliothek (libGL.so). Der Vorteil dieses Paketes ist, dass alle Teile unter

/usr/lib/X11R6

landen. Die generische OpenGL Implementation eines jeden Linux Systems wird durch MESA bereitgestellt, welches die gleichen (und ein paar mehr) Dateien unter

/usr/lib

bereitstellt. Jede Anwendung kann dann entscheiden, ob es die generische oder die spezielle NVIDIA OpenGL Implementation nimmt – was im Normallfall nicht vorkommt.

Das obige Übersetzungsproblem entsteht nun dadurch, dass man den NVIDIA Treiber manuell installiert, und dabei die OpenGL Implementation nach /usr/lib schreibt. Dadurch ergibt sich in diesem Bereich ein Mix von OpenGL shared objects, die teilweise NVIDIA Code benötigen oder auch nicht.
Bereinigen kann man die Situation durch löschen aller OpenGL Bestandteile in /usr/lib und Neuinstallation des MESA packages.

UNIXfication

Ein – zumindest mir – neues Schlagwort brachte Jason Perlow in einem blog-Artikel auf zdnet ins Spiel. Im Kern seiner Aussage geht es um eine engere Zusammenarbeit, oder gar ein Merger, von Linux und Solaris zu einem oder DEM neuen UNIX auf GPLv3 Basis.

Relativ kritisch äussert sich Jason über die angebliche „Not invented here“ Attitude der Linux Kernel Entwickler, was einer genaueren Überprüfung aber wohl eher schwer standhält. Knackpunkte speziell bei der Übernahme von Technologien aus der Solaris Welt sind sicher die kollidierenden Lizenzen, da der (open)Solaris Kernel unter CDDL und der Linux Kernel unter GPLv2 steht.

Der Ausweg, dem auch einige SUN Verantwortlichen nicht abgeneigt sind, könnte eine GPLv3 Lizenzierung beider Kernels sein. Damit stellt sich aber die eigentliche Frage, ob nicht beide Kernel langfristig zu einem neuen UNIX verschmelzen sollten.
Aus Sicht von Linus Torvald, dürfte dies keine besonders erstrebenswerte Option sein, denn Linux ist als offenes System konzipiert und mit SUN als eine Art 50% Schwergewicht, dürfte die Balance kaum zu halten sein.
Ein Win-Win Situation könnte meines Erachtens eher dadurch entstehen, dass SUN auf Solaris zugunsten von Linux verzichtet und mit seinen Resourcen direkt den Linux Kernel und ev. eine eigene modifizierte (aber unter GPL lizenzierte) Kernellinie pflegt. Dies wäre ungefähr die Linie die Apple mit seinem von BSD stammenden Darwin Kernel fährt.

Da auch mittel- bis langfristig kein einheitliches und einziges UNIX Betriebssystem zu erwarten – eigentlich auch nicht zu erstreben – ist, wäre zumindest das Aufgehen von Solaris in Linux ein sehr wichtiger Schritt die ganze UNIX Community einen großen Schritt nach vorne zu bringen. Vielleicht soweit, dass in absehbarer Zeit, keiner mehr gezwungen ist ständig und allerorten auf ein zusammengefrickeltes und fragiles Windows System starren zu müssen…