Nach meinem Upgrade auf Lubuntu 12.04 stellten sich, wenig überraschend, die gleichen Probleme wie mit Debian Sid ein. Die neuesten Nvidia-Treiber 295.40 verursachen bei mir, Kero und wahrscheinlich noch einer Reihe anderer Leute Verzögerungen beim Verschieben von Anwendungen, die teilweise bis zum Einfrieren des gesamtes Desktops führen können.
Das Problem ist bekannt und betrifft unter anderem Geforce 6, 7 oder 8800GTX/GTS Karten. Ich benutze jedoch eine Geforce 9600 GT, die bis zum Update auf Lubuntu 12.04 einwandfrei funktionierte.
Seid ihr von ähnlichen Problemen betroffen, habt ihr folgende Optionen zur Hand.
1. Nvidia-Treiber komplett entfernen
sudo aptitude purge nvidia-current
Die Treiber lassen sich mit diesem Befehl komplett entfernen. Nach einem Neustart wird der Nouveau-Treiber aktiv, dessen Performance in der Regel für "normalen" Desktopbetrieb ohne anspruchsvolle 3D-Spiele oder Compiz ausreichend ist.
2. Downgrade der Nvidia-Treiber von Precise auf Oneiric
Für diverse Setups sind weiterhin die Nvidia-Treiber notwendig. In diesem Fall könnt ihr einen Downgrade von Nvidia 295.40 (Precise) auf 280.13 (Oneiric) in Erwägung ziehen.
Ein Downgrade kann zu Problemen und anderen Inkompatibilitäten führen. Jetzt wäre der richtige Zeitpunkt für ein Backup. Wer sich bei den folgenden Schritten unsicher ist, sollte sie nicht ausführen!
Öffnet die /etc/apt/sources.list mit eurem bevorzugten Editor und schaltet das alte Apt-Repositorium für Oneiric und die "restricted"-Sektion frei, indem ihr diese Zeilen hinzufügt.
deb http://de.archive.ubuntu.com/ubuntu/ oneiric main restricted
deb http://security.ubuntu.com/ubuntu oneiric-security main restricted
Nvidia-Treiber downgraden
sudo aptitude update
sudo aptitude -t oneiric install nvidia-current
Apt warnt vor dem Downgrade, dass das virtuelle Paket xorg-video-abi-10 nicht gefunden werden kann. Mit "n" lehnt ihr die erste Lösung ab und akzeptiert die zweite. Dies solltet ihr nur tun, wenn ihr auf die zum Entfernen markierten Pakete auch tatsächlich verzichten könnt. Der Vorgang sah bei mir so aus:
sudo aptitude -t oneiric install nvidia-current Die folgenden Pakete haben verletzte Abhängigkeiten: nvidia-current : Hängt ab von: xorg-video-abi-10 , welches ein virtuelles Paket ist. Die folgenden Aktionen werden diese Abhängigkeiten auflösen: Beibehalten der folgenden Pakete in ihrer aktuellen Version: 1) nvidia-current [Nicht installiert] Diese Lösung akzeptieren? [Y/n/q/?] n Die folgenden Aktionen werden diese Abhängigkeiten auflösen: Entfernen der folgenden Pakete: 1) xserver-xorg-input-all 2) xserver-xorg-input-synaptics 3) xserver-xorg-video-all 4) xserver-xorg-video-sisusb 5) xserver-xorg-video-tdfx 6) xserver-xorg-video-trident 7) xserver-xorg-video-vesa Downgrade der folgenden Pakete: 9) xorg [1:7.6+12ubuntu1 (now, precise) -> 1:7.6+7ubuntu7.1 (oneiric)] 10) xserver-xorg [1:7.6+12ubuntu1 (now, precise) -> 1:7.6+7ubuntu7.1 (oneiri 11) xserver-xorg-core [2:1.11.4-0ubuntu10.1 (now, precise-updates) -> 2:1. usw.
Nach dem Downgrade ist es am sinnvollsten die neuen Nvidia- und Xserver-Pakete auf "Halt" zu setzen, damit sie beim nächsten Update nicht erneuert werden.
sudo aptitude hold '~nnvidia'
sudo aptitude hold '~nxserver'
Welche Pakete das genau sind, erfahrt ihr mit
aptitude search '~ahold'
In meinem Fall hat das Downgrade das Problem vollständig beseitigt und das System läuft stabil. Ihr solltet nun von Zeit zu Zeit überprüfen, ob es eine neuere Nvidia-Version gibt, die das Problem lösen kann.
Die Pakete lassen sich mit
sudo aptitude unhold '~nnvidia'
sudo aptitude unhold '~nxserver'
wieder zum Aktualisieren freigeben.
Update: 06.05.2012
3. Upgrade auf nvidia-current in Quantal Quetzal
Als dritte Möglichkeit könnt ihr den Nvidia-Treiber auf die aktuelle Version in Ubuntu "Quantal Quetzal" bringen. (z.Z. 295.49). Dazu ersetzt ihr das Wort "oneiric" in den vorhergehenden Schritten durch "quantal".
Bei Lubuntu 12.04 und meiner Geforce 9600 GT funktionierten alle drei nur die ersten beiden Möglichkeiten. Nachdem ich jetzt noch etwas länger mit 295.49 experimentiert habe, treten ab und an immer wieder Ruckler und Verzögerungen beim Verschieben von Fenstern auf. Für mich ist daher diese Version nicht die richtige Lösung.
Hi,
Nvidia hat gestern eine neue Version des Treibers veröffentlich, welche die Probleme beseitigen soll:
http://www.nvidia.de/object/linux-display-ia32-295.49-driver-de.html
http://www.nvidia.de/object/linux-display-amd64-295.49-driver-de.html
Klasse, klingt gut. Sobald der neue Treiber als Deb-Paket verfügbar ist, werde ich das gleich mal testen.
Das Problem betrifft wohl noch ein paar Karten mehr, ich hatte es bei meiner 8300 GS unter Xubuntu nach Upgrade auf 12.04 auch. Für mich war das aber nur ein willkommener Anlass, den proprietären Treiber über Bord zu werfen, da ich ihn nicht zwingend brauche.
1. Die in Precise aktuell eingesetzte Version des proprietären Nvidia-Treibers ist v295.40.
2. Treiberversionen älter als 295.40 sind unsicher und sollten _nicht_ eingesetzt werden.
http://heise.de/-1519822
3. Genau aus diesem Grund ist auch in Oneiric die aktuelle Version 295.40.
4. Man kann in Precise die 295.49-.deb-Pakete für Quantal nutzen:
http://packages.ubuntu.com/quantal/nvidia-current
Hi Axt,
vielen Dank für deinen Kommentar. Ich hatte vergessen das Sicherheits-Repo freizuschalten.
1. Den Tippfehler habe ich korrigiert.
2. 295.40 beseitigt in der Tat eine Sicherheitslücke. Der Patch wurde aber bei Ubuntu auf ältere Treiberversionen zurückgeportet.
3. In Oneiric befindet sich 280.13. Wenn man das „security“-Archiv freischaltet, erhält man die gepatchte Version.
4. Werde ich heute mal ausprobieren und dann das Ergebnis im Artikel ergänzen.
Gruß
Markus
Hallo Markus,
danke für diesen Blogeintrag! Endlich mal jemand, der das Problem richtig beschreibt.
Ich habe eine Nvidia GeForce 9500 GT Graphikkarte und habe alle 3 von dir vorgeschlagenen Lösungswege ausprobiert.
1. Nouveau Treiber: Die einzige Lösung, die X anzeigt. Leider ist (a) die Auflösung viel zu grob und, viel wichtiger für mich, (b) mein 2. Monitor bleibt aus (Dual-Head).
2. Downgrade auf Oneiric: Konnte ich nicht testen, da ~300 Pakete unlösbare Abhängigkeiten hatten.
3. Upgrade auf Quantal: Monitor bleibt schwarz, also dasselbe Verhalten wie bei 12.04 mit Standard „nvidia-current“.
Kannst du (oder jemand anderes, der mitliest) eine Graphikkarte empfehlen, die ‚out of the box‘ mit Ubuntu 12.04 und dem aktuellen nvidia-current Treiber funktioniert und mit 2 Monitoren funktioniert?
Grüße,
Patrick
Genau diese GPU GF9500GT läuft hier völlig problemlos, seit x Ubuntu-Versionen mit x Treiberversionen.
Seit heute liegt nvidia 295.49 nun auch im bekannten PPA https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
Hallo Axt,
danke für die Info, dass die GPU (GF9500GT) bei dir problemlos funktioniert!
Aktuell hat sich dummerweise mein Netzteil verabschiedet, so dass ich den neuen Treiber von der PPA-Quelle nicht testen kann. Ich melde mich wieder, wenn mein neues Netzteil am Start ist 😉
Grüße, Patrick
Hallo Axt,
nachdem ich jetzt mein defektes Netzteil ausgetauscht habe, konnte ich nochmal mit den verschiedenen Treibern experimentieren.
Fazit:
Auch der aktuellste Treiber von der PPA Seite (Version 295.53) funktioniert bei mir nicht: Die Bildschirme bleiben schwarz.
Der Nouveau Treiber funktioniert jetzt soweit (korrekte Bildschirmauflösung, Dual-Head), auch wenn hier die 3D Unterstützung zu fehlen scheint. Zumindest kann ich Virtualbox jetzt nur noch im Full-Screen Modus laufen lassen.
Grüße, Patrick
Hi Patrick,
möglicherweise hilft dir noch die Installation von libgl1-mesa-dri-experimental. Dieses Paket benutze ich, um bei meinen Debian- und Ubuntu-Installationen den 3D-Support mit Nouveau zu verbessern. Es funktioniert gut mit der 9600GT, natürlich gibt es keine Garantie, dass es überall wirkt. Auch Virtualbox funktioniert hier ganz normal mit diesem Setup.
Ich kann mir gut vorstellen, dass die Probleme mit dem schwarzen Bildschirm noch woanders liegen. Der aktuelle Nvidia-Bug äußerst sich nämlich vor allem in „Rucklern“ und weniger in einem Totalausfall.
Hi Markus,
danke für dein Feedback!
Die Installation von libgl1-mesa-dri-experimental hat gar keine Änderung an meinem System verursacht. Zumindest keine von mir bemerkbaren. Muss man die lib irgendwie noch in der xorg.conf eintragen?
Die Ausgabe von /usr/lib/nux/unity_support_test -p ist:
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV96
OpenGL version string: 2.1 Mesa 8.0.2
Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: yes
Die Ausgabe von cat /etc/X11/xorg.conf ist:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@crested) Sun Feb 1 20:25:37 UTC 2009
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
#Section „InputDevice“
# # generated from default
# Identifier „Mouse0“
# Driver „mouse“
# Option „Protocol“ „auto“
# Option „Device“ „/dev/psaux“
# Option „Emulate3Buttons“ „no“
# Option „ZAxisMapping“ „4 5“
#EndSection
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
#Section „InputDevice“
# # generated from default
# Identifier „Keyboard0“
# Driver „kbd“
#EndSection
Section „Monitor“
Identifier „Monitor0“
VendorName „Unknown“
ModelName „Maxdata (RogenTech) B101715“
HorizSync 31.0 – 83.0
VertRefresh 56.0 – 75.0
Option „DPMS“
# HorizSync source: edid, VertRefresh source: edid
EndSection
Section „Screen“
Identifier „Screen0“
Device „Device0“
Monitor „Monitor0“
DefaultDepth 24
Option „TwinView“ „1“
Option „TwinViewXineramaInfoOrder“ „DFP-0“
Option „metamodes“ „CRT: nvidia-auto-select +1920+0, DFP: nvidia-auto-select +0+0“
SubSection „Display“
Depth 24
EndSubSection
EndSection
Section „Module“
Load „dbe“
Load „extmod“
Load „type1“
Load „freetype“
Load „glx“
EndSection
Section „ServerLayout“
Identifier „Layout0“
Screen 0 „Screen0“ 0 0
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
# InputDevice „Keyboard0“ „CoreKeyboard“
# commented out by update-manager, HAL is now used and auto-detects devices
# Keyboard settings are now read from /etc/default/console-setup
# InputDevice „Mouse0“ „CorePointer“
EndSection
Section „Device“
Identifier „Device0“
Driver „nouveau“
EndSection
Section „ServerFlags“
Option „Xinerama“ „0“
EndSection
Das Fazit ist, dass alles so halbwegs funktioniert. Aber mit Ubuntu 11.10 war alles toll. Evtl. Siehst du (oder jemand anderes) auf Anhieb den Fehler in meiner xorg.cong…
Grüße, Patrick
Hallo Patrick,
ich kann dir leider nicht sagen, welche Nvidia-Karte momentan problemlos mit Ubuntu 12.04 und dem aktuellen Treiber funktioniert. Das ist momentan zwar eine unschöne Situation, ich würde an deiner Stelle aber folgendes probieren, bevor ich mir eine neue GraKa kaufen würde.
1. Der Nouveau-Treiber kann im Prinzip auch den Dual-Head-Betrieb. Ich vermute sowohl deine Probleme mit der Auflösung und deinem zweiten Monitor, würden sich lösen lassen, wenn man deine xorg.conf richtig anpassen würde. Unter dem Stichwort „nouveau dual head 9500 gt“ finde ich schon einige Suchergebnisse.
2. Falls bis zum Upgrade auf 12.04 alles normal funktionierte, du aber keinen Downgrade machen willst/kannst, probier doch mal, ob eine Neuinstallation von 11.10 funktioniert. Vorher sicherst du noch dein komplettes Home-Verzeichnis und /etc, womit du auf der sicheren Seite sein solltest und spielst es dann zurück.
3. Das mehr als 300 Pakete unauflösbare Abhängigkeiten haben ist ungewöhnlich. Vielleicht musst du noch vorher die „multiverse“- oder „universe“-Repos freischalten?
Hoffe das hilft ein wenig.
Hallo Markus,
danke erst mal für deine ausführliche Antwort!
Leider handelt es sich um meinen Produktivrechner, also fallen deine Punkte 2. und 3. bei mir weg. Den Upgrade auf 12.04 hab ich schon gemacht. 🙁
Ich werd aber rumprobieren, ob mit dem nouveau Treiber was zu machen ist.
Wenn ich die Zeit hätte zum Debuggen…
Für mich wäre es stressfreier, eine GraKa für um die 30-50EUR zu kaufen, die einfach funktioniert….
Grüße,
Patrick
Hallo Patrick
wegen libgl1-mesa-dri-experimental musst du nichts weiter machen. Nur installieren genügt. Du findest hier noch ein paar Infos dazu. Man sollte im Hinterkopf behalten, dass er experimentell ist, aber als freier Treiberersatz für den Nvidia-Treiber kann ich damit seit Monaten z.B. ohne Probleme Gnome3 und die Gnome-Shell benutzen.
Alles auf „yes“ sieht gut aus. Ich benutze wie gesagt selbst kein Dual-Head-Setup. Was mir aber an deiner xorg.conf aufgefallen ist. Du benutzt z.B. nur eine „Monitor“-Sektion, musst aber wahrscheinlich beide Monitor dort definieren.
Vielleicht hilft dir der Archlinux-Artikel zum Thema Nouveau weiter. Dort gibt es auch ein Beispiel für Dual Head.
Unter Dualview im Wiki von ubuntuusers.de sehe ich gerade noch, dass die TwinView-Option nur mit dem proprietären Treiber zu funktionieren scheint. Das könnte ebenfalls ein Grund sein, warum bei dir alles schwarz bleibt.
Hallo Markus,
die xorg.conf ist, bis auf die „Device“ section, in der ich jetzt nouveau eingetragen habe, seit Ubuntu 4.04 konstant.
Sind wir jetzt wieder soweit? Müssen wir unter Mainline Linux Distributoren wie Ubuntu/Debian, Suse und Redheat, unsere xorg.conf wieder mit DEM EDITOR anfassen? 😉
Nur so am Rande,
Patrick
der jetzt schon mal ‚man vim‘ tippt, weil ‚man emacs‘ (meine Welt) nie da ist, wenn man sie braucht…