Bumblebee Intel + Nvidia auf 15.10 Blackscreen-Problem

10

Ich habe eine Neuinstallation von Kubuntu 15.10, ich habe einen MSI GT70 Laptop mit Optimus.

Ich habe installiert bumblebee bumblebee-nvidia, es ist unbedingt erforderlich, da der Jugendstil beim Anmelden immer wieder abstürzt.

Also habe ich /etc/bumblebee/bumblebee.conf bearbeitet

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when     Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-    gnu/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-304
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-304:/usr/lib32/nvidia-304
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-304/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

ich habe

$ cat /proc/acpi/bbswitch 
0000:01:00.0 ON

Ich habe in /etc/modules-load.d/modules.conf geputtet

i915
bbswitch

Also kann ich:

$ primusrun glxinfo | grep "OpenGL version"
OpenGL version string: 4.2.0 NVIDIA 304.128

Aber wenn ich neu starte, muss ich nur einen schwarzen Bildschirm haben. Um mein System zu starten, muss ich mich bei tty1 anmelden und Folgendes tun:

sudo modprobe nvidia_304
sudo service sddm restart

Um den Kubuntu-Anmeldebildschirm zu erhalten, haben Sie Ideen, um das zu beheben?

Auch wenn ich nvidia-304 durch nvidia-355 ersetze, kann ich überhaupt nicht booten: Der Modprobe-Tipp funktioniert nicht.

Hier ist meine Konfiguration mit lspci :

$ lspci|grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK104M [GeForce GTX 870M] (rev ff)

BEARBEITEN:

Einige verwandte Informationen und mögliche Korrekturen http://forum.ubuntu-it.org/viewtopic.php?p=4760241 (italienisch bis) https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

Außerdem gibt es tatsächlich einen Fehler mit dem i915-Modul im Kernel 4.2 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1494903

EDIT2 (funktionierende Hummellösung):

Ich habe es geschafft, dass dies funktioniert https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

  1. installiere nvidia-355 und nvidia-prime
  2. Wählen Sie den Intel-Treiber im NVIDIA-Bereich aus und melden Sie sich ab
  3. nur Hummel installieren (nicht Hummel-NVIDIA)
  4. nach Bedarf bearbeiten /etc/bumblebee/bumblebee.conf line22 KernelDriver = nvidia Ersetzen Sie nvidia-current durch nvidia-355
  5. /etc/bumblebee/xorg.conf.nvidia Kommentar BusID "PCI: 01: 00: 0" wie hier beschrieben /ubuntu/29044...vices-detected ,
  6. Sie können jetzt unter Intel-Karte booten und optirun und primusrun verwenden. Es funktioniert bisher bei mir, teste mit primusrun glxinfo

EDIT3: ( Maj 03/12/2015 )

Unter Verwendung von ppa: graphics-drivers / ppa und ppa: xorg-edgers / ppa hatte ich nach einem Update und Neustart einen schwarzen Bildschirm mit 358.16-0ubuntu0 ~ gpu15.10.2 .

Also habe ich alles gelöscht und dann einfach bumblee-nvidia nvidia-358 installiert, /etc/bumblebee/bumblebee.conf bearbeitet und sudo service bumblebeed restart durchgeführt .

Nach einem Neustart hat es wieder funktioniert.

Kwaadpepper
quelle
Ich hatte ein ähnliches Problem Ich starte jetzt Kernel 4.4, Xorg-Edger und NVIDIA 358 und alles funktioniert gut (NVIDIA 361 funktioniert jetzt)
Calin
Siehe auch
Karl Morrison
Siehe auch
Karl Morrison

Antworten:

10

Da Sie über eine recht neue GPU-Hardware verfügen, sollten Sie auch neue NVIDIA-Treiber und -Software verwenden.

Ersetzen Sie die Hummel durch nvidia-prime, um zwischen integrierter und dedizierter Grafik zu wechseln .

Installieren Sie die NVIDIA-Treiber neu, deinstallieren Sie jedoch zuerst die gesamte NVIDIA-Software und entfernen Sie die Hummel.

Öffnen Sie ein Terminal und führen Sie Folgendes aus:

sudo apt-get purge nvidia* '^bumblebee.*'  
sudo reboot  

Wenn das GRUB-Startmenü angezeigt wird: Markieren Sie den Ubuntu-Menüeintrag und drücken Sie die ETaste.
Fügen Sie den nouveau.modeset=0Parameter am Ende der Linux-Zeile hinzu ... Drücken Sie dann, um F10zu starten.

Installieren Sie die stabilen proprietären NVIDIA-Treiber aus den Ubuntu-Repositorys (gilt nicht für Ubuntu 12.04:

sudo apt-get update
sudo apt-get install nvidia-352 nvidia-prime
sudo reboot

Wenn Sie die neuesten Treiber verwenden möchten, installieren Sie sie über die PPA für proprietäre GPU-Treiber:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot  
cl-netbox
quelle
1
Danke, das scheint zu funktionieren, ich musste auch eine Datei erstellen, /etc/modprobe.d/blacklist-nouveau.confdie blacklist nouveau options nouveau modeset=0
Kwaadpepper
Ich habe auch noch eine andere Frage, gibt es nach deinem Wissen überhaupt eine Hummel, die funktionieren könnte? Da mit nvidia-prime kein spezifisches Programm mit nvidia gestartet werden kann, wenn eine Intel-Grafikkarte verwendet wird, primusrunwar das sehr viel
Kwaadpepper
1
@Kwaadpepper: Hummel scheint etwas abgewertet zu sein und immer mehr Probleme zu lösen - die neueste Version ist 2,5 Jahre alt - nvidia-prime ist ein Ersatz, der einfach funktioniert - der einzige Nachteil ist, dass Sie kein einziges spezifisches Programm starten können vor allem - aber das Wichtigste ist: Ihre Maschine läuft jetzt! Ich bin froh, dass es für Sie funktioniert - also ... genießen Sie die Ubuntu-Erfahrung! :)
Cl-Netbox
4
Stellen Sie sicher, dass Sie nicht bekommen nvidia-current: Das ist ein alter Treiber, der mich zum schwarzen Bildschirm geführt hat.
Ciro Santilli 事件 改造 中心 法轮功 六四 事件
Funktioniert wie ein Champion am 18.04 mit diesem und dem temporären Nomodeset-Fix auf dem Asus SCAR Strix.
RobotHumans
6

Hat es geschafft, Hummel nach viel zu vielen unnötigen Kopfschmerzen dazu zu bringen, in Wily zu arbeiten, ohne diese nvidia-prime Schrecklichkeit.

Wie andere vermuteten, liegt es am GPU-Manager. Was auch immer das ist, es wird die gesamte Konfiguration der Update-Alternative blockiert. Das Maskieren dieses Dienstes und das erneute Installieren von bumblebee [-nvidia] behebt alle Probleme. Jetzt wird die Karte wie erwartet über optirun ein- und ausgeschaltet und beim Booten werden keine schwarzen Bildschirme mehr angezeigt.

sudo systemctl mask gpu-manager.service
sudo apt-get install --reinstall bumblebee bumblebee-nvidia

Stellen Sie außerdem sicher, dass keine kaputte /etc/X11/xorg.conf zurückbleibt.

Luca Boccassi
quelle
6

Obwohl alles zu funktionieren schien, zeigt der folgende Versuch, dass der bbswitch die nvidia-Karte nicht richtig ausschalten kann:

cat /proc/acpi/bbswitch
primusrun glxinfo|grep OpenGL
sleep 1
cat /proc/acpi/bbswitch

Dann habe ich bumblebee-nvidia neu installiert, es hat funktioniert, bis ich das System neu gestartet habe. Nachdem ich etwas mehr über das Problem herausgefunden hatte, bemerkte ich, dass Update-Alternativen nach dem Neustart des Systems aktualisiert werden, und ich bemerkte, dass GPU-Manager dies verursacht. (Führen Sie einfach "sudo gpu-manager" aus und Sie werden sehen, dass es aktualisiert wird)

gpu-manager wird ausgeführt, nachdem Sie lightdm gestartet haben. Als schnelle Problemumgehung habe ich es deaktiviert.

jetzt funktioniert alles wie erwartet. Nachdem Sie etwas mit optirun oder primusrun ausgeführt haben, schaltet bbswitch nvidia ordnungsgemäß aus, wenn der Prozess beendet wird.

Zusammenfassend ist hier meine Zusammenfassung, um alles von Grund auf neu zu installieren (manuell durch Lesen der Kommentare ausführen):

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

sudo apt-get purge -y nvidia* bumblebee bumblebee-nvidia bbswitch-dkms primus
sudo apt-get install nvidia-355

#switch to intel
sudo tee /etc/prime-discrete <<< off

#reboot is recommended at this point

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee primus

#sudo gedit /etc/modules
#  add the line "bbswitch load_state=0"

#sudo gedit /etc/modprobe.d/bumblebee.conf
#and make sure the following line exists
#  blacklist nvidia-355

#sudo gedit /etc/bumblebee/bumblebee.conf
#  change line 22 "Driver=" to "Driver=nvidia"
#  change all nvidia-current to nvidia-355

#sudo gedit /etc/bumblebee/xorg.conf.nvidia
#  uncomment BusID line if it is commented and make sure it corresponds to the correct BusID

#disable gpu-manager as it changes i386-linux-gnu_gl_conf and x86_64-linux-gnu_gl_conf
sudo systemctl mask gpu-manager.service

BEARBEITEN : Ich habe rc.local-Änderungen entfernt, da gpu-manager nicht nur zur Laufzeit, sondern auch während der Verwendung des Systems ausgeführt wurde. Deshalb habe ich es komplett deaktiviert.

Gokhan Moral
quelle
Gut gemacht, es war wirklich schwer zu finden, es funktioniert auch mit nvidia-361
GuySoft
1
Um die BusID zu erhalten, verwenden Sie Folgendeslspci | grep NVIDIA
Karl Morrison
Ebenfalls am 14.04 musste in die Datei /etc/init/gpu-manager.conf gehen und den ganzen Start online kommentieren
Karl Morrison