Bumblebee英特尔+ Nvidia在15.10黑屏问题上

我有一个全新安装的Kubuntu 15.10,我有一台带有optimus的msi GT70笔记本电脑。

我已经安装了bumblebee bumblebee-nvidia ,它是绝对必要的,因为nouveau在登录时不断崩溃。

所以我编辑了/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 

我有

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

我把它放在/etc/modules-load.d/modules.conf中

 i915 bbswitch 

所以我能做到:

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

如果我重新启动所有我有一个黑屏 ,要让我的系统启动我必须登录tty1并执行:

 sudo modprobe nvidia_304 sudo service sddm restart 

获取kubuntu登录屏幕任何想法来解决这个问题?

此外,如果我用nvidia- 355替换nvidia-304我根本无法启动:modprobe提示无效。

这是我的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) 

编辑:

一些相关的信息和潜在的修复http://forum.ubuntu-it.org/viewtopic.php?p=4760241 (意大利语通过) https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

内核4.2上的i915模块实际上也有一个错误https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1494903

EDIT2(工作大黄蜂解决方案):

我已成功完成这项工作https://www.kubuntuforums.net/showthread.php?69190-Bumblebee-Nvidia355&p=381043

  1. 安装nvidia-355和nvidia-prime
  2. 在nvidia面板中选择intel驱动程序并注销
  3. 只安装大黄蜂(不是bumblebee-nvidia)
  4. 根据需要编辑/etc/bumblebee/bumblebee.conf第22行KernelDriver = nvidia用nvidia-355替换nvidia-current
  5. /etc/bumblebee/xorg.conf.nvidia取消注释BusID“PCI:01:00:0”,如此处所述https://askubuntu.com/questions/29044…vices-detected ,
  6. 你现在可以在intel卡下启动并使用optirun和primusrun。 到目前为止它对我有用,用primusrun glxinfo测试

EDIT3 🙁 maj 03/12/2015

使用ppa:graphics-drivers / ppappa:xorg-edgers / ppa ,在更新和重启后,我使用了358.16-0ubuntu0~gpu15.10.2的黑屏

所以我清除了所有内容,然后安装了bumblee-nvidia nvidia-358 ,编辑了/etc/bumblebee/bumblebee.conf并做了sudo service bumblebeed restart

重启后它再次工作。

由于您拥有全新的GPU硬件,因此您也应该使用新的NVIDIA驱动程序和软件。

nvidia-prime替换大黄蜂,以在集成专用图形之间切换。

重新安装NVIDIA驱动程序,但首先卸载所有NVIDIA软件并删除大黄蜂。

打开终端并执行:

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

出现GRUB引导菜单时 :突出显示Ubuntu菜单项并按E键。
nouveau.modeset=0参数添加到Linux行的末尾…然后按F10启动。

从Ubuntu存储库安装稳定的NVIDIA专有驱动程序(不适用于ubuntu 12.04:

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

如果要使用最新的驱动程序 – 从专有GPU驱动程序PPA安装它们:

 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-355 nvidia-prime sudo reboot 

虽然一切似乎都有效,但尝试以下显示bbswitch无法正常关闭nvidia卡:

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

然后我重新安装了bumblebee-nvidia,它工作直到重启系统。 在深入研究了这个问题之后,我注意到在重新启动系统后更新了更新替代品,我注意到gpu-manager导致了这个问题。 (只需运行“sudo gpu-manager”,你会看到它已更新)

启动lightdm后运行gpu-manager。 所以,作为一个快速解决方法,我禁用它。

现在一切都按预期工作了。 在使用optirun或primusrun运行某些东西之后,当进程退出时,bbswitch会正确关闭nvidia。

总而言之,这是我从头开始安装所有内容的总结(通过阅读注释手动运行):

 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 

编辑:我删除了rc.local修改,因为gpu-manager不仅在运行时运行,而且在使用系统时运行。 因此我完全禁用了它。

管理让大黄蜂在Wily之后工作太多不必要的头痛,没有那种nvidia-prime可怕。

正如其他人所怀疑的那样,这是因为gpu-manager。 无论如何,它都在更新替代配置中进行抨击。 屏蔽该服务并重新安装bumblebee [-nvidia]修复了所有问题,现在该卡通过optirun按预期打开和关闭,并且启动时不再有黑屏。

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

还要确保没有破坏/etc/X11/xorg.conf。