Bumblebee Intel + Nvidia en 15.10 problema de pantalla negra

10

Tengo una nueva instalación de Kubuntu 15.10, tengo una laptop msi GT70 con optimus.

He instalado bumblebee bumblebee-nvidia, es absolutamente necesario porque Nouveau sigue fallando al iniciar sesión.

Así que edité /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

yo tengo

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

Puse en /etc/modules-load.d/modules.conf

i915
bbswitch

Entonces puedo hacer:

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

Pero si reinicio todo lo que tengo es una pantalla en negro , para iniciar mi sistema tengo que iniciar sesión en tty1 y hacer:

sudo modprobe nvidia_304
sudo service sddm restart

para obtener la pantalla de inicio de sesión de kubuntu alguna idea para arreglar eso?

Además, si reemplazo nvidia-304 por nvidia-355 , no puedo arrancar en absoluto: la punta de la sonda de prueba no funciona.

Aquí está mi configuración con 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)

EDITAR:

Alguna información relacionada y posible solución http://forum.ubuntu-it.org/viewtopic.php?p=4760241 (italiano hasta) https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

También hay un error con el módulo i915 en el kernel 4.2 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1494903

EDIT2 (solución de abejorro en funcionamiento):

Logré hacer que esto funcione https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

  1. instalar nvidia-355 y nvidia-prime
  2. seleccione controlador de Intel en el panel de nvidia y cierre sesión
  3. instalar solo abejorro (no abejorro-nvidia)
  4. edite según sea necesario /etc/bumblebee/bumblebee.conf line22 KernelDriver = nvidia reemplace nvidia-current por nvidia-355
  5. /etc/bumblebee/xorg.conf.nvidia descomenta BusID "PCI: 01: 00: 0" como se describe aquí /ubuntu/29044...vices-detected ,
  6. ahora puede arrancar con la tarjeta Intel y usar optirun y primusrun. Me está funcionando hasta ahora, prueba con primusrun glxinfo

EDIT3: ( may 03/12/2015 )

Usando ppa: graphics-drivers / ppa y ppa: xorg-edgers / ppa , después de una actualización y reinicio, tuve una pantalla negra usando 358.16-0ubuntu0 ~ gpu15.10.2 .

Así que purgué todo y luego instalé bumblee-nvidia nvidia-358 , edité /etc/bumblebee/bumblebee.conf e hice sudo service bumblebeed restart .

Volvió a funcionar después de un reinicio.

Kwaadpepper
fuente
Tuve un problema similar, ahora ejecuto el kernel 4.4, xorg-edgers y nvidia 358 y todo funciona bien (nvidia 361 ahora funciona)
Calin
Relacionado: askubuntu.com/questions/41681/…
Karl Morrison

Respuestas:

10

Como tiene un hardware de GPU bastante nuevo, también debe usar nuevos controladores y software NVIDIA.

Reemplace abejorro con nvidia-primepara cambiar entre gráficos integrados y dedicados .

Vuelva a instalar los controladores NVIDIA, pero primero desinstale todo el software NVIDIA y elimine el abejorro.

Abra una terminal y ejecute:

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

Cuando aparezca el menú de arranque de GRUB : resalte la entrada del menú de Ubuntu y presione la Etecla.
Agregue el nouveau.modeset=0parámetro al final de la línea de Linux ... Luego presione F10para arrancar.

Instale los controladores estables de NVIDIA desde los repositorios de Ubuntu (no se aplica a ubuntu 12.04:

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

Cuando desee utilizar los controladores más recientes, instálelos desde el PPA de los controladores de GPU patentados:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-355 nvidia-prime
sudo reboot  
cl-netbox
fuente
1
Gracias, parece que esto funciona, también tuve que crear un archivo que /etc/modprobe.d/blacklist-nouveau.confcontiene blacklist nouveau options nouveau modeset=0
Kwaadpepper
También tengo otra pregunta, ¿hay alguna forma de que tu abejorro pueda funcionar? Porque con nvidia-prime no se puede iniciar un programa específico usando nvidia cuando se usa la tarjeta gráfica Intel, primusrunfue la gran oferta
Kwaadpepper
1
@Kwaadpepper: el abejorro parece estar algo desvalorizado y cada vez hay más problemas: el último lanzamiento tiene 2,5 años de antigüedad; nvidia-prime es un reemplazo que simplemente funciona; el único inconveniente es que no puede lanzar un solo programa específico especialmente, pero lo más importante es: ¡su máquina está funcionando ahora! Me alegro de que funcione para ti, así que ... ¡disfruta de la experiencia ubuntu! :)
cl-netbox
44
Asegúrese de no obtener nvidia-current: ese es un controlador antiguo que me llevó a la pantalla en negro.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
Funciona como un campeón en 18.04 con esto y la corrección temporal de nomodeset en el Asus SCAR Strix.
RobotHumans
6

Se las arregló para hacer que Bumblebee trabajara en Wily después de demasiados dolores de cabeza innecesarios, sin esa horrible horror de nvidia.

Como otros sospechaban, es por gpu-manager. Sea lo que sea, está irritando toda la configuración alternativa de actualización. Enmascarar ese servicio y reinstalar el abejorro [-nvidia] soluciona todos los problemas, ahora la tarjeta se enciende y apaga a través de optirun como se esperaba, y no más pantallas negras en el arranque.

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

También asegúrese de que no haya quedado /etc/X11/xorg.conf roto.

Luca Boccassi
fuente
6

Aunque todo parecía funcionar, intentar lo siguiente muestra que el bbswitch no puede apagar la tarjeta nvidia correctamente:

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

Luego reinstalé bumblebee-nvidia, funcionó HASTA que reinicie el sistema. Después de investigar un poco más sobre el problema, noté que las alternativas de actualización se actualizan después de reiniciar el sistema y noté que gpu-manager está causando eso. (simplemente ejecute "sudo gpu-manager" y verá que se actualiza)

gpu-manager se ejecuta después de iniciar lightdm. entonces, como una solución rápida, lo deshabilité.

ahora todo funciona como se esperaba. después de ejecutar algo con optirun o primusrun, bbswitch apaga nvidia correctamente cuando finaliza el proceso.

En resumen, aquí está mi resumen para instalar todo desde cero (ejecútelo manualmente leyendo los comentarios):

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

EDITAR: eliminé las modificaciones de rc.local porque gpu-manager se estaba ejecutando no solo en tiempo de ejecución sino también mientras usaba el sistema. Por lo tanto, lo deshabilité por completo.

Moral Gokhan
fuente
Bien hecho, fue realmente difícil de encontrar, también funciona con nvidia-361
GuySoft
1
Para obtener el BusID use lo siguientelspci | grep NVIDIA
Karl Morrison
También el 14.04 tuvo que ir al archivo /etc/init/gpu-manager.conf y comentar todo el comienzo en las líneas
Karl Morrison