在Trusty上与Nvidia Bumblebee一起在垃圾堆中垃圾


12

在中运行并在中optirun glxgears进行配置时,将显示以下内容:primusnvidia-331-updatesbumblebee.conf

原始垃圾

该版本位于14.04 Trusty Tahr,从13.10升级。该应用程序似乎可以在nvidia gpu上运行,但不能像以前的发行版一样正确显示。我怀疑这是14.04存储库中Primus中的错误,除非我的一个软件包配置不正确。

窗口会刷新并显示glxgears图像的一部分,但仅当我缩小窗口时才显示,并且每帧调整窗口大小时才显示一次。在此过程中,GL视口的缩放比例也不正确。

继续进行一些测试,该PRIMUS_UPLOAD=1标志似乎使窗口正确刷新,并且一切正常。但是,这不是永久解决方案。


1
我有一个类似的问题。特别是,PRIMUS_UPLOAD = 1似乎消耗了太多资源,以致开销大于收益……
Florian Echtler 2014年

你已经nvidia-prime安装好了吗?那可能是造成问题的原因。当我尝试使用primus在nvidia卡上运行设备时,效果很好。
biggles5107 2014年

@Furyhunter -这太humblesome -看在我对有关NVIDIA的Optimus(与大黄蜂)解决方案轮廓有一个SDK包NVIDIA公司于下载-这是这个链接在这里:askubuntu.com/questions/311151/...
dschinn1001

您也可以尝试使用nouveau驱动程序来查看nvidia驱动程序中的错误,而不是primus。另外,您可以尝试使用optirun vanilla代替primus。
Sparhawk

我做的而不是使用primusrun本身的一件事是将optirun与primus桥一起使用(在bumblebee.conf中设置)。通过这种方式,我似乎获得了更好的结果。
biggles5107 2014年

Answers:


1

使用GitHub检索方法检查您的规格。

$ lspci -vnn | grep '\''[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
08:00.0 3D controller [0302]: NVIDIA Corporation GK208M [GeForce GT 740M] [10de:1292] (rev a1)
  • 请注意08:00.0带有单个dote 的表示法。
仅笔记本电脑具有此类nVidia Optimus卡,因此该项目不适用于台式机(目前)。4xxM和更新系列的卡均支持Optimus。M代表“移动”。但是拥有4xxM卡不足以确保您拥有Optimus笔记本电脑。处理器中还必须有一个集成的视频控制器。要进行检查,请在[terminal] [1]中运行以下命令:

Ubuntu与Bumblebee的搭配(Wiki)

  • 12.04-13.04的基本设置

你需要purgeppa,如果你已经安装了它。

  • Basic_Setup_for_13.10_and_later

打开终端,然后输入以下命令:

-UbuntuWiki说明

  1. 启用Universe和Multiverse存储库-您需要执行此操作以分别安装bumblebee和nvidia软件包。

  2. sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic

  3. 重启

现在

拳头确保nvidia当前版本为304确实很酷。

安装后-

$ ls -l /etc/bumblebee/
-rw-r--r-- 1 root root 2957 Dez  1 00:38 bumblebee.conf
drwxr-xr-x 2 root root 4096 Nov 30 23:57 xorg.conf.d
-rw-r--r-- 1 root root  513 Dez  1 00:37 xorg.conf.nouveau
-rw-r--r-- 1 root root 1380 Dez  1 00:37 xorg.conf.nvidia

记得08:00.0吗?

$ cat /etc/bumblebee/xorg.conf.n*
$ view /etc/bumblebee/xorg.conf.nouveau # and
$ view /etc/bumblebee/xorg.conf.nvidia  # and change the last dot in

BusID "PCI:08:00.0"

下一个:

 $ view /etc/bumblebee/bumblebee.conf
 [bumblebeed]
 VirtualDisplay=:8       # refers to PCI:08:00.0, the 1st left 0 is ignored
 KeepUnusedXServer=false
 ServerGroup=bumblebee
 TurnCardOffAtExit=false
 NoEcoModeOverride=false
 Driver=nvidia           # changed
 XorgConfDir=/etc/bumblebee/xorg.conf.d

 [optirun]
 Bridge=auto
 VGLTransport=proxy
 PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
 AllowFallbackToIGC=false

 [driver-nvidia]
 KernelDriver=nvidia-current
 PMMethod=bbswitch       # changed
 LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
 XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
 XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

 [driver-nouveau]
 KernelDriver=nouveau
 PMMethod=auto
 XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

万宁:我删除了原始注释(声明)作为备份。也可以这样做,也可以浏览文件并更改值而无需触摸注释。

测试primus

 DRI_PRIME=0 glxgears -info | grep "GL_VENDOR"
 DRI_PRIME=1 glxgears -info | grep "GL_VENDOR"

 $ DRI_PRIME=:8 glxgears # and finaly do it

之后,请遵循-

UbuntuWiki上的Example_update_to_nvidia-319_driver。

您还将在上面的文件中调整驱动程序版本和路径。

对我来说效果很好。


1

我建议使用“ Nvidia Prime指示器”。

首先删除Bumblebee, 您需要摆脱Bumblebee和Nvidia驱动程序。大黄蜂无法在我的Optimus机器上很好地运行,同样的问题,得到Prime指示器。此外,此安装后nvidia-331-updates还将与一起sudo apt-get upgrade安装。

这是我从另一个线程获得的指南,请尝试一下,我认为它可以工作。

认真执行后续步骤,仅执行必要的步骤:

要删除并清除Bumblebee运行终端(如果出现黑屏,请按Ctrl+ Alt+ F2)并输入:

sudo apt-get remove --purge bumblebee

要安装Prime,请运行所有3行命令:

sudo add-apt-repository ppa:nilarimogard/webupd8 &&
sudo apt-get update && sudo apt-get install prime-indicator

它应该从带有Prime Indicator的包装盒中算出来。

如果没有,请使用以下方法清除它们:

sudo apt-get remove 'nvidia.*' prime-indicator && sudo apt-get autoremove

并从头开始:

sudo apt-get install nvidia-331 indicator-prime

当您开始使用它时,请安装mesa-utils,它使我们能够识别GPU:

sudo apt-get install mesa-utils

您有Nvidia Optimus,适用于Intel驱动程序的下一步:

从Prime Indicator切换到Intel GPU并获取Intel Graphics Installer .deb文件,通过软件中心进行安装,在Dash中找到安装程序,然后运行它以使用最新驱动程序更新Intel 4000。

编辑:安装英特尔包后,如果sudo apt-get update未能download.01.org公开密钥,在终端运行以下命令:

这将添加正确的密钥。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A902DDA375E52366
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.