移除 NVidia 卡后英特尔驱动程序被抑制(从 NVidia 切换到英特尔失败)

移除 NVidia 卡后英特尔驱动程序被抑制(从 NVidia 切换到英特尔失败)

今天,我的 NVidia 显卡坏了。我把它从电脑上拆下来,换成了板载的:

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

我这台电脑上有两个系统:一个是 Kubuntu 15.04,之前使用的是 nouveau 驱动程序(从未使用过专有的 nvidia 驱动程序)。另一个是 Kubuntu 15.10,之前使用的是专有的 nvidia-352 驱动程序。

删除 NVidia 驱动程序后,我的 Kubuntu 15.04 启动顺利,X 在连接两个显示器的情况下运行良好,并且具有所有 3D 效果。我真的不是需要一张 NVidia 卡。

但是,Kubuntu 15.10 无法正常工作。首先,X 根本无法启动。因此,我登录到文本控制台(幸运的是,它运行正常),然后卸载了所有 nvidia 驱动程序:

$ apt-get purge nvidia-*

此后,我重新启动了系统,但仍然无法工作 :-( 我发现问题出在错误的“xorg.conf”上。它指出(除其他事项外):

Section "ServerLayout"
    Identifier "layout" 
    Screen 0 "nvidia"   
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

我删除了“Inactive “intel””行,将“nvidia”改为“intel”,然后调用startx => 得到一个图形系统。我重新启动后,文件又出错了。

经过一番挖掘,我发现我必须将“nogpumanager”传递给内核,因此我编辑了“/etc/default/grub”,运行“update-grub”并重新启动=>系统启动正常。

然而,我发现一些桌面效果 - 例如立方体 - 不起作用(它们在我的 Kubuntu 15.04 上运行良好)。

问题似乎是 X 使用“modesetting”驱动程序而不是“intel”驱动程序。我尝试在“xorg.conf”中明确设置“Driver“intel”,但 X 无法启动 :-(

但是,当我运行“Xorg -configure”时,它会在“视频驱动程序列表:”下的第一行列出“intel”!

我认为我之前安装的 nvidia 专有驱动程序以某种方式强制英特尔驱动程序退出了。然而,即使经过几个小时的搜索,我仍然没有找到这个问题所在。

它在哪个文件中抑制了英特尔驱动程序?!

请帮忙!我真的不想重新安装系统,只是因为 nvidia 驱动程序留下了一些垃圾(到目前为止我无法找到)。我真的很想再次使用立方体和许多其他 3D 效果 ;-) 使用 XRender(而不是 OpenGL)时,它们似乎会被自动抑制。而且我似乎无法在不使用正确的驱动程序时启用 OpenGL,即使“glxinfo”显示:

$ glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.6, 256 bits)
OpenGL version string: 3.0 Mesa 11.0.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

此外,像“glxgears”这样的测试程序运行良好(甚至可以说,我有 2500+ FPS)。

谨致问候,Marco :-)

答案1

Yabbadabbadoooo!!!! 是的,我找到并修复了它!!!

我认为这个问题可能与“替代方案”有某种联系,经过进一步的研究后,我偶然发现了这一点:

sudo update-alternatives --remove-all x86_64-linux-gnu_gl_conf
sudo update-alternatives --remove-all i386-linux-gnu_gl_conf

http://forum.ubuntuusers.de/topic/nvidia-current-update-problem/(在最后) https://github.com/Bumblebee-Project/Bumblebee/issues/76

为了确认,我还运行了这个:

sudo update-alternatives --remove-all gl_conf

...但这个替代方案似乎尚未被指定。

然后我再次删除了‘/etc/X11/xorg.conf’,从‘/etc/default/grub’中删除了内核选项‘nogpumanager’(然后是‘update-grub’)并重新启动。

...现在它运行正常!

以下是“glxinfo”的输出(摘录):

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Desktop
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

由于英特尔驱动程序现在处于活动状态,我能够从“XRender”切换到“OpenGL 3.1”(在“Compositor”下的显示设置中),并且所有 3D 效果都可以再次工作。

编辑:一天后,我发现 LibreOffice 无法启动了。我不再收到确切的错误消息,但它说缺少库 - 看起来与此问题有关(在删除 NVidia 之前它运行良好)。

经过一些研究,我做了以下事情:

sudo apt-get install --reinstall libglu1-mesa libglu1-mesa:i386
sudo apt-get install --reinstall libglu1
sudo apt-get install --reinstall libgl1-mesa-glx

我认为,只有最后一行是相关的,但为了完整性我列出了所有内容。

相关内容