Bumblebee守护程序尚未启动或套接字路径/var/run/bumblebee.socket不正确

我最近在带有集成显卡和带有Optimus技术的NVidia GPU的英特尔Ivy Bridge中安装了Ubuntu 12.04,但是我无法管理它才能正常工作。 我已经通过了bumblebee项目的解决方案,但是当尝试使用nvidia卡运行任何东西时我得到以下消息(例如使用optirun firefox ):

 [ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect. [ERROR]Could not connect to bumblebee daemon - is it running? 

由于nvidia卡无法正常工作,一些软件如Scilab,使用X11系统进行图形处理和绘图,也不会起作用。

我的BIOS没有关于显卡的选项和守护进程的日志返回:

 Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ bumblebeed[980]: Module 'nvidia' is not found. Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ kernel: [ 17.943272] init: bumblebeed main process (980) terminated with status 1 Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ kernel: [ 17.943288] init: bumblebeed main process ended, respawning Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ bumblebeed[1026]: Module 'nvidia' is not found. 

lspci -nn | grep '\[030[02]\]:' lspci -nn | grep '\[030[02]\]:'返回:

 00:02.0 VGA compatible controller [0300]: Intel Corporation Ivy Bridge Graphics Controller [8086:0166] (rev 09) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:0de9] (rev a1) 

好的,对于命令dpkg -l | grep '^ii' | grep nvidia dpkg -l | grep '^ii' | grep nvidia 我得到了dpkg -l | grep '^ii' | grep nvidia

 ii bumblebee-nvidia 3.0-2~preciseppa1 nVidia Optimus support using the proprietary NVIDIA driver ii nvidia-current 302.17-0ubuntu1~precise~xup1 NVIDIA binary Xorg driver, kernel module and VDPAU library ii nvidia-current-updates 295.49-0ubuntu0.1 NVIDIA binary Xorg driver, kernel module and VDPAU library ii nvidia-settings 302.17-0ubuntu1~precise~xup3 Tool of configuring the NVIDIA graphics driver ii nvidia-settings-updates 295.33-0ubuntu1 Tool of configuring the NVIDIA graphics driver 

完全重新安装后,包括删除任何以前的nvidia驱动器, lsmod | grep -E 'nvidia|nouveau' lsmod | grep -E 'nvidia|nouveau'返回:

 nvidia 10888310 46 

dmesg | grep -C3 -E’nouveau | NVRM’返回的内容如下:

 [ 1875.607283] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16 [ 1875.607289] nvidia 0000:01:00.0: setting latency timer to 64 [ 1875.607293] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none [ 1875.607363] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 302.17 Tue Jun 12 16:03:22 PDT 2012 [ 1884.830035] nvidia 0000:01:00.0: PCI INT A disabled [ 1884.832058] bbswitch: disabling discrete graphics [ 1884.832960] bbswitch: Result of Optimus _DSM call: 09000019 

有些程序,比如Scilab,现在可以在optirun(例如>optirun scilab )调用下正常工作。

错误“无法连接到bumblebee守护程序 – 它正在运行吗?” 意味着大黄蜂守护进程拒绝/无法启动。

在你的情况下,找不到“模块’nvidia’。” 这意味着未正确安装Nvidia内核驱动程序。 确保安装linux-headers-generic软件包并重新安装nvidia软件包:

 sudo apt-get install linux-headers-generic sudo apt-get install --reinstall nvidia-current 

如果您的系统未被检测为Optimus笔记本电脑,它有两个显卡,Intel和Nvidia显卡,也可能发生这种情况。 检查/var/log/syslog文件中是否有来自“bumblebeed”(Bumblebee守护程序)的消息:

 grep bumblebeed /var/log/syslog 

如果消息是没有找到nVidia显卡,则退出。 ,那么你的笔记本电脑没有Nvidia芯片或在BIOS中被禁用。 检测到No Optimus系统消息,退出。 无法找到英特尔显卡时显示。 在任何一种情况下,请检查BIOS设置中的“Optimus模式/仅集成/仅离散”选项(或“检测Optimus”)。

命令lspci -nn | grep '\[030[02]\]:的输出 lspci -nn | grep '\[030[02]\]:应该是这样的:

00:02.0 VGA兼容控制器[0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046](rev 02)
01:00.0 VGA兼容控制器[0300]: NVIDIA Corporation GF108 [GeForce GT 425M] [10de:0df0](rev ff)

我升级了一些软件包后遇到了这个问题。 似乎问题是由Nvidia内核模块从“nvidia”重命名为“nvidia_current”引起的。

如果安装了nvidia-current软件包,则可以通过编辑/etc/bumblebee/bumblebee.conf并设置以下值来解决此问题:

 ... [bumblebeed] Driver=nvidia ... [driver-nvidia] KernelDriver=nvidia_current Module=nvidia ... 

然后重启bumblebee:

 sudo service bumblebeed restart 

并测试:

 optirun glxgears 

参考文献:

症状

如果使用optirun playonlinuxoptirun -b playonlinux获取此错误:

 [ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect. [ERROR]Could not connect to bumblebee daemon - is it running? 

然后你的bumbleblee conf文件不是最新的。

自动纠正大黄蜂conf文件

您可以在终端中复制/过去这些命令:

 #!/bin/bash # Get the old nvidia version used by the conf file oldNvidiaVersion=`cat /etc/bumblebee/bumblebee.conf |grep "KernelDriver=nvidia" | cut -d- -f2` # Get the current nvidia version nvidiaVersion=`find /lib/modules/$(uname -r) -name 'nvidia_???.ko*' | cut -d_ -f2 |cut -d. -f1` echo "nvidiaVersion : $oldNvidiaVersion => $nvidiaVersion" # Test the update the Bumblebee conf file # cat /etc/bumblebee/bumblebee.conf | sed "s/$oldNvidiaVersion/$nvidiaVersion/g" # Update the Bumblebee conf file echo "Update /etc/bumblebee/bumblebee.conf ..." sudo sed -i "s/$oldNvidiaVersion/$nvidiaVersion/g" /etc/bumblebee/bumblebee.conf echo done. # Restart bumblebeed deamon sudo systemctl restart bumblebeed.service 

可选 :如果您经常更新nvidia驱动程序,可以将此命令保存在文件bumbleble_update_conf.sh ,然后保存到chmmod +x bumbleble_update_conf.sh并执行它./bumbleble_update_conf.sh

现在optirun playonlinuxoptirun -b playonlinux应该工作!