Bumblebee 16.04:nvidia-375 依赖于 xserver-xorg-legacy

Bumblebee 16.04:nvidia-375 依赖于 xserver-xorg-legacy

我今天更新了我的软件包,现在我相信我遇到了这个问题:大黄蜂:[错误]无法访问辅助 GPU - 错误:[XORG](EE)

推荐的解决方案是卸载 xserver-xorg-legacy。但是,nvidia-375 现在似乎依赖于 xserver-xorg-legacy。

我想继续使用 bumblebee,因为我希望能够在不重新启动的情况下激活和停用我的独立显卡,并且即使 NVIDIA 驱动程序出现问题也能继续使用 GUI。

有没有办法让 nvidia-375 与 bumblebee 一起工作,或者我必须使用旧版本的 nvidia 驱动程序?

编辑:我找到了一个看似解决方案

答案1

这些说明看起来是准确的:http://www.webupd8.org/2016/08/how-to-install-and-configure-bumblebee.html

就我而言,因为我已经有了一个基本可以正常工作的设置,所以我这样做了:

我的解决方案

  1. 添加大黄蜂/测试 PPA

    sudo add-apt-repository ppa:bumblebee/testing
    sudo apt-get update
    
  2. 使用 Synaptic 更新 Bumblebee,保留现有的 /etc/bumblebee/bumblebee.conf

  3. 将以下行添加到 /etc/bumblebee/bumblebee.conf

    # Xorg binary to run
    XorgBinary=/usr/lib/xorg/Xorg
    

    紧接着

    # Directory with a dummy config file to pass as a -configdir to secondary X
    XorgConfDir=/etc/bumblebee/xorg.conf.d
    

    然后保存并关闭

  4. 重新启动计算机,以防万一

  5. 确保一切正常,方法是使用

    optirun glxinfo
    

    并且看到它输出的内容与以前不同,即使连续使用两次


笔记

这个错误报告的结论让我得出结论,这是目前正确的解决方案:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815888

PPA 上有这个相当令人生畏的警告标签:

除非您是开发人员,否则您不太可能会使用此 PPA。如果您只是普通用户,请使用 ppa:bumblebee/stable。

此 PPA 中的某些内容可能会破坏您的系统。

然而,bumblebee/stable 中似乎没有 Xenial (16.04),所以这不是一个选择。

答案2

正如您在自己的回答中所说,您可以添加测试 ppa。第二种方法是简单地删除 xserver-xorg-legacy 并使用稳定的 ppa:

首先删除 xserver-xorg-legacy,但不触及依赖包:

sudo dpkg -r --force-depends xserver-xorg-legacy

好吧 - Bumblebee 又可以正常工作了。但是 apt 会因为缺少依赖项而给您错误。可以使用 equivs 为 xserver-xorg-legacy 创建虚拟包来解决这个问题。首先,我们使用 equivs-control 创建一个配置文件:

equivs-control xserver-xorg-legacy

这将在当前目录中为新包创建配置文件。您可以使用 nano 来编辑此文件:

nano xserver-xorg-legacy

该文件的内容应如下所示:

    ### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: xserver-xorg-legacy
Version: 2:1.18.4-1ubuntu0.2 
# Maintainer: Your Name <[email protected]>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Architecture: all
# Multi-Arch: <one of: foreign|same|allowed>
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
#  <more pairs, if there's more than one file to include. Notice the starting space>
Description: Dummy package for nvidia-375.66 update 
 This Package does nothing... it just exists...

此时重要的是包名称:

Package: xserver-xorg-legacy

并且您必须暂存版本 2:1.18.4-0ubuntu0.2变成2:1.18.4-1ubuntu0.2

如果您已完成配置,则必须从配置中创建包:

equivs-build xserver-xorg-legacy

这将创建一个具有给定名称和版本的包文件。在我的例子中,它是 xserver-xorg-legacy_1.18.4-1ubuntu0.2_all.deb

好的,让我们使用 dpkg 安装它:

sudo dpkg -i xserver-xorg-legacy_1.18.4-1ubuntu0.2_all.deb

就是这样...

xserver-xorg-legacy 不再执行任何操作,并且 apt 对没有缺少的依赖项感到满意。

祝你好运 ;-)

相关内容