Bumblebee Intel + Nvidia sur un problème d'écran noir 15.10

10

J'ai une nouvelle installation de Kubuntu 15.10, j'ai un ordinateur portable msi GT70 avec optimus.

J'ai installé bumblebee bumblebee-nvidia, c'est absolument nécessaire car nouveau continue de planter à la connexion.

J'ai donc édité /etc/bumblebee/bumblebee.conf

# 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

j'ai

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

J'ai inséré dans /etc/modules-load.d/modules.conf

i915
bbswitch

Je peux donc faire:

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

Mais si je redémarre, tout ce que j'ai est un écran noir , pour démarrer mon système, je dois me connecter en tty1 et faire:

sudo modprobe nvidia_304
sudo service sddm restart

pour obtenir l'écran de connexion kubuntu des idées pour résoudre ce problème?

De plus, si je remplace nvidia-304 par nvidia-355, je ne peux pas démarrer du tout: la pointe de la sonde modprobe ne fonctionne pas.

Voici ma config avec 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)

ÉDITER:

Quelques informations connexes et correctif potentiel http://forum.ubuntu-it.org/viewtopic.php?p=4760241 (en italien) https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

Il existe également un bogue avec le module i915 sur le noyau 4.2 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1494903

EDIT2 (solution de bourdon fonctionnelle):

J'ai réussi à faire ce travail https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

  1. installer nvidia-355 et nvidia-prime
  2. sélectionner le pilote Intel dans le panneau nvidia et se déconnecter
  3. installer bumblebee uniquement (pas bumblebee-nvidia)
  4. modifier au besoin /etc/bumblebee/bumblebee.conf line22 KernelDriver = nvidia remplacer nvidia-current par nvidia-355
  5. /etc/bumblebee/xorg.conf.nvidia décommenter BusID "PCI: 01: 00: 0" comme décrit ici /ubuntu/29044...vices-detected ,
  6. vous pouvez maintenant démarrer sous intel card et utiliser optirun et primusrun. Cela fonctionne pour moi jusqu'à présent, testez avec primusrun glxinfo

EDIT3: ( maj 03/12/2015 )

En utilisant ppa: graphics-drivers / ppa et ppa: xorg-edgers / ppa , après une mise à jour et un redémarrage, j'ai eu un écran noir en utilisant 358.16-0ubuntu0 ~ gpu15.10.2 .

J'ai donc tout purgé et j'ai juste installé bumblee-nvidia nvidia-358 , édité /etc/bumblebee/bumblebee.conf et fait redémarrer bumblebeed avec sudo service .

Cela a de nouveau fonctionné après un redémarrage.

Kwaadpepper
la source
J'ai eu un problème similaire, je lance maintenant le noyau 4.4, xorg-edgers et nvidia 358 et tout fonctionne bien (nvidia 361 fonctionne maintenant)
Calin
Connexe: askubuntu.com/questions/41681/…
Karl Morrison

Réponses:

10

Comme vous avez un tout nouveau matériel GPU, vous devez également utiliser de nouveaux pilotes et logiciels NVIDIA.

Remplacez bumblebee par nvidia-primepour basculer entre les graphiques intégrés et dédiés .

Réinstallez les pilotes NVIDIA, mais désinstallez d'abord tous les logiciels NVIDIA et supprimez le bourdon.

Ouvrez un terminal et exécutez:

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

Lorsque le menu de démarrage GRUB apparaît: Mettez en surbrillance l' entrée de menu Ubuntu et appuyez sur la Etouche.
Ajoutez le nouveau.modeset=0paramètre à la fin de la ligne Linux ... Appuyez ensuite sur F10pour démarrer.

Installez les pilotes propriétaires NVIDIA stables à partir des référentiels Ubuntu (ne s'applique pas à Ubuntu 12.04:

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

Lorsque vous souhaitez utiliser les derniers pilotes - installez-les à partir du pilote propriétaire GPU PPA:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot  
cl-netbox
la source
1
Merci, cela semble fonctionner, j'ai également dû créer un fichier /etc/modprobe.d/blacklist-nouveau.confcontenant blacklist nouveau options nouveau modeset=0
Kwaadpepper
J'ai également une autre question. Y a-t-il de toute façon à votre connaissance que le bourdon pourrait fonctionner? Parce qu'avec nvidia-prime, il ne peut pas lancer de programme spécifique en utilisant nvidia lors de l'utilisation de la carte graphique Intel, primusrunétait la bonne affaire
Kwaadpepper
1
@Kwaadpepper: bumblebee semble être quelque peu déprécié et de plus en plus sujet aux problèmes - la dernière version a 2,5 ans - nvidia-prime est un remplacement qui fonctionne simplement - le seul inconvénient est que vous ne pouvez pas lancer un seul programme spécifique surtout - mais le plus important est: votre machine fonctionne maintenant! Je suis heureux que cela fonctionne pour vous - alors ... profitez de l'expérience ubuntu! :)
cl-netbox
4
Assurez-vous de ne pas obtenir nvidia-current: c'est un ancien pilote qui m'a conduit à l'écran noir.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
Fonctionne comme un champion le 18.04 avec cela et le correctif temporaire du nomodeset sur le Asus SCAR Strix.
RobotHumans
6

A réussi à faire travailler Bumblebee à Wily après bien trop de maux de tête inutiles, sans cette horrible nvidia prime.

Comme d'autres le soupçonnaient, c'est à cause de gpu-manager. Quoi qu'il en soit, il gâche partout la configuration alternative de mise à jour. Masquer ce service et réinstaller bumblebee [-nvidia] corrige tous les problèmes, maintenant la carte s'allume et s'éteint via optirun comme prévu, et plus d'écrans noirs au démarrage.

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

Assurez-vous également qu'il ne reste aucun /etc/X11/xorg.conf cassé.

Luca Boccassi
la source
6

Bien que tout semble fonctionner, essayer ce qui suit montre que le bbswitch ne peut pas éteindre correctement la carte nvidia:

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

Ensuite, j'ai réinstallé bumblebee-nvidia, cela a fonctionné JUSQU'À ce que je redémarre le système. Après avoir creusé un peu plus sur le problème, j'ai remarqué que les alternatives de mise à jour sont mises à jour après le redémarrage du système et j'ai remarqué que gpu-manager est à l'origine de cela. (exécutez simplement "sudo gpu-manager" et vous verrez qu'il est mis à jour)

gpu-manager s'exécute après le démarrage de lightdm. donc, comme solution rapide, je l'ai désactivé.

maintenant tout fonctionne comme prévu. après avoir exécuté quelque chose avec optirun ou primusrun, bbswitch désactive nvidia correctement à la fin du processus.

Pour résumer, voici mon résumé pour tout installer à partir de zéro (exécutez-le manuellement en lisant les commentaires):

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

EDIT: J'ai supprimé les modifications de rc.local car gpu-manager s'exécutait non seulement au moment de l'exécution, mais également lors de l'utilisation du système. Je l'ai donc complètement désactivé.

Gokhan Moral
la source
Bravo, c'était vraiment difficile à trouver, ça marche aussi avec nvidia-361
GuySoft
1
Pour obtenir le BusID, utilisez ce qui suitlspci | grep NVIDIA
Karl Morrison
Aussi le 14.04 a dû aller dans le fichier /etc/init/gpu-manager.conf et commenter tout le début sur les lignes
Karl Morrison