[ 已解决 ]Bumblebee 后要不要安装 N 卡驱动

忽然发现我的本本变得好热。

会不会是我安装的程序有问题?
我没安装 bbswitch-kmp-,而是安装 dkms-bbswitch,因为我见他不用选择内核。
我安装的闭源驱动是 G02 的而不是 G03 的,因为我的 N 卡是 750 的,而 G03 是支持 800 以上的。
我安装了 x11-video-nvidia,但在安装闭源驱动的 x11-video-nvidiaG02 时,系统自动把 x11-video-nvidia 删除了。
在第一次安装时,系统提示 desktop 的驱动版本不对,这时我才发现自己的内核被改变了,于是安装完成后又进入 default 的内核把 default 的程序再安装了上。而今天我升级安装则二个内核的程序都安装了。
是不是安装过程错了?

bbswitch-kmp- 干嘛不装?(我自己是 bbswitch-kmp-desktop)
你的显卡是 GTX750M?,那肯定安装 G03 啊,G03 是 Geforce8000 系列之后台式机或者笔记本 (包括 GF9000 系列,GT2xx,GT4xx,GT5xx,GT6xx,GT7xx) 显卡的驱动
好吧,你连安装都没按照 wiki 的进行

原来这样呀!我还以为 750 是属于 6**到 8**之间。至于 bbswitch-kmp - 我看过其它的文章,不一定要装的。不过这次我打算重装系统,按 WIKI 的装。谢谢您指出。

如果有名词不认识,建议先去 google 搜索一下。shared object file 是指「共享库文件」,它的意思是说 *.so 这样子的东西,多数位于 /lib /lib64 /usr/lib /usr/lib64,大意是说 Linux 的模块化特征可以让一个编译好的 C/C++ 函数库(别的语言写的也一样)被全部使用它的程序「动态地调用」,所以叫它「共享」,而不用像 Windows 那样每个应用程序都自己捆绑一套(又叫做静态库文件,Linux 也有但只有商业软件才这么干,因为它不想自己开发的函数库被开源程序甚至竞争对手使用),做得又大又臃肿,跟操作系统使用的版本不一样还有各种奇葩问题(因为不管这个应用程序有多么的「独立」,它最终都是要与「操作系统」通信的,不然电脑软件直接拿 Android 手机上去就能跑了,好多工程师都该失业了)。

而你说的,「共享文件」,Linux 没有这种名词,只有「被共享的文件(shared file)」,除非你作为一种行为来解释,。「共享文件夹」是 Windows 下的说法,Linux 下原生是不存在的。它原生的学名叫 NFS,网络文件系统,意思是这个文件夹不在你的电脑上而在网络中,类似于「网上邻居」。而另外一种叫 LDAP(轻量级目录访问协议),它那叫「远程目录」,跟 FTP 什么用的一个叫法。Linux 唯一可以称之为「共享文件夹」的东西是 Samba 里的,但 Samba 本身就是一个文件共享服务器,目的就是架设在 Linux 上,可以被 Windows 和 Linux 使用,所以沿袭了 Windows 的叫法。但在 Linux 下,Samba 的这种「共享文件夹」一律简单的称其为「share」,你的 C 盘是一个 share,D 盘又是一个 share。它下面被共享的文件仍叫做「被共享的文件」而不叫「共享文件」。

[quote=“FireEyes”] 顺便欣尝一下我的桌面。先来张诱惑的:
!](http://f.hiphotos.bdimg.com/album/s%3D1000%3Bq%3D90/sign=7340906df4246b607f0eb674dbc8213d/4610b912c8fcc3ce0eb4070d9045d688d43f209c.jpg)
[/quote]

这不是我吗? :blush

你的本本好热的原因应该是这样:

  1. 你用了 default 内核而不是 desktop 内核。default 内核不是针对桌面应用优化的(比如移动电源管理、CPU 使用策略等等),它是针对性能要求很高的服务器的(桌面根本用不了那么多性能,或者说这种东西类似曲线样子的,我能在航天飞机上使用的耐热陶瓷我民用时砸不了一个钉子也做不成饭碗,都是有最佳使用区间的,你现在落在区间外面了),而服务器嘛,最不需要操心的就是发热问题,因为它摆在二十四小时有电有空调、恒温恒湿的机房里。

  2. 你 bumblebee 成功后 N 卡被通电了,甚至你跑了两个显示服务器呢。总比一个的时候要热吧。你也说了,你现在是弄好了但不知道怎么用,那火力全开大炮一直打着蚊子,炮管能不发红嘛。。。。

我没有去 wiki 确认过。

  1. bbswitch-kmp- 和 dkms-bbswitch 是互斥的。前者是预编译的只适用于那个 kernel-flavor 的内核模块,而后者则是动态的根据你正在使用的内核使用 dkms 自动为之编译并加载驱动,这里是 bbswitch。dkms 就是一个软件,它的作用就是免除 -kmp- 的麻烦,不用每次升级内核一次次去搞,将重复工作自动化。你可以搜索了解一下。

  2. x11-video-nvidia 和 x11-video-nvidiaG02 是互斥的。你没发现除了「G02」它们完全一样嘛。参考维基上的 NVIDIA 相关条目,前者是针对中古显卡的。所以你一开始装错了,后面那个 G02 可能是对的。但我发现基本上不管什么显卡,即使之前装的是 G02,未来系统更新的时候也会自动的给你换成 G03,跑着还没有问题。所以我觉得只要显卡不是很老又被 NVIDIA 闭源驱动支持,那就是版本越新越好。

  3. 你不需要 default 内核,所以你一定是安装有误。请研究维基。。。基本上新装机用的什么 kernel-flavor 那就一直用那个 kernel-flavor,我不觉得大多数人类的判断有人家 openSUSE 程序员写的自动化检测做出的判断靠谱。我怀疑是你在终端安装的时候图省事,输入到 bbswitch-kmp- 的时候就按自动补全了,于是补全了 -default 那它自然会依赖 kernel-default,于是你就有了 default 内核。。。

关于内核的解释海瑟薇说得很对,Ubuntu 被人诟病的一个原因就是它的桌面和服务器使用一种内核。这是完全迥异的两种使用场景,于是里外都不是人。主要是桌面,因为服务器它要送 Google 找靠山拜码头嘛,所以小媳妇针对服务器优化内核就把桌面用户当狗了。前年我在用 btrfs 文件系统时搜 bugfix 在 launchpad 上看过好多用户和 C 家员工为一个内核编译选项炒得不可开交的 case。(别让我证实,上礼拜吃啥我都忘了但我肯定是吃了不然活不到现在)

而 SuSE 从 6.0 时代就没那么干过,虽然很多人当时既在服务器又在桌面用,但那是两个不同的内核。我们的安装程序从第一天就考虑过这个问题了。

作为背景知识可以了解一下。好吧我是个资深 Ubuntu 黑,你在我这儿就听不到好话。

来自 Galaxy Note 2 上的 Tapatalk 4

感谢各位的帮助(有一位好像是漂亮姐姐 :heart_eyes: ),这次应该是成功了。使用 optirun glxgears -info 命令后,出现了 Nvidia 的提示,还出现一个窗口,有三个齿轮在转。不过我在设置窗口特效时,还是无法启用 openGL 不知什么原因?再看一下 wiki。

另外你也可以注册个账号去根据新手能理解的语言把那篇维基再改改,加个链接到此 po 之类。那是我写的,我很早就不是新手了,所以我现在也不知道写成什么样能让这个时代的新手看懂。你可以做下这个功课就当对大家的行动感谢了。

来自 Galaxy Note 2 上的 Tapatalk 4

原来我一直弄错了一 点:我安装的是 primus,却一直用 optirun glxgears -info 来检验是否启动了 Bumblebee ,似乎是不对的。

重新检验:
primusrun glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: GeForce GT 755M/PCIe/SSE2
GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image,
GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info,
应该是的确安装成功了。

那么快又出问题了:
primusrun glxinfo | grep render
primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module.

为什么我用 sudo modprobe bbswitch 命令时,系统说没有这个命令?

:nauseated_face: 才成功几个小时,也许是升级系统,安装多媒体解码器的原因,n 卡又启动不了了。

难道我的笔记本不是Optimus?$ lspci | grep VGA和lspci -vnn | grep '[030[02]]'都没有任何反应。但我的电脑的确是最新的,是i5cpu,是搭载了 Nvidia 独立显卡的的呀?

sudo /sbin/modprobe bbswitch

:stuck_out_tongue_closed_eyes: 谢谢。

我把 Xorg.0.log 帖上来。上面有几条错误信息(见红字)是否与此有关?

16.089]  (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory) 
16.317] (II) LoadModule: "intel"
16.317] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
16.317] (II) Module intel: vendor="X.Org Foundation"
16.317] 	compiled for 1.13.1, module version = 2.20.19
16.317] 	Module class: X.Org Video Driver
16.317] 	ABI class: X.Org Video Driver, version 13.1
16.320]  (EE) open /dev/dri/card0: No such file or directory 
16.320] (WW) Falling back to old probe method for modesetting
16.320]  (EE) open /dev/dri/card0: No such file or directory 
16.320] (WW) Falling back to old probe method for vesa
16.320] (EE) Screen 0 deleted because of no matching config section,