Ubuntu 仅使用英特尔显卡驱动程序进行一次登录

Ubuntu 仅使用英特尔显卡驱动程序进行一次登录

大约一周前,我从 Win7 切换到 ubuntu 16.04,到目前为止,我非常满意。然而,与我在 ubuntu wiki 和其他资源上读到的相反,我的 Unity 桌面的图形运行在 nvidia 显卡上,而不是英特尔集成显卡(这应该是默认的)。当通过 nvidia prime 切换到英特尔卡时,我最初无法启动,但在安装了最新的英特尔显卡驱动程序后,它就可以正常工作了英特尔图形工具并使用 nomodeset 启动。

不幸的是,机器没有使用英特尔驱动程序启动,而是使用后备的 VMware llvmpipe 驱动程序,这导致一切都变得非常慢。为了正确使用笔记本电脑,我必须sudo prime-select nvidia再次切换回去,但这会使我的电池续航时间只有使用 Win7 时的一半,而且机器过热的速度也相当快。

当再次删除 nvidia 驱动程序并在 nouveau 上运行时,我可以切换到 intel 驱动程序(它甚至是默认的,正如它应该的那样),并且它工作正常!但是,这只允许我登录一次。重新启动或注销后,屏幕在下次登录尝试后冻结。我只能移动鼠标,需要 RSEIUB 快捷方式重新启动并返回 nvidia。

对于那些觉得上面的内容太令人困惑的人来说,我来做个简短的总结:我想用我的英特尔 CPU 来处理图形。使用 nouveau 确实可以,但仅限于第一次登录。之后我就无法再登录了。安装 nvidia 专有驱动程序和 nvidia prime 时,它​​根本不起作用,我只能用 nomodeset 启动,这会使机器使用 llvmpipe 驱动程序而不是英特尔驱动程序,导致一切都变得非常慢。

我不知道还能做什么。显然,没有其他人遇到过这个问题,人们通常只抱怨 nvidia 驱动程序。所以,任何帮助都非常感谢!我是个彻头彻尾的菜鸟,所以我不知道如何修改驱动程序黑名单等。

处理器:Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz

图形:NVIDIA Corporation GM206M [GeForce GTX 965M] (rev a1)Intel(R) HD Graphics 530

nvidia 驱动程序:384.111

使用英特尔微码固件

我的输出lspci -knn

00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)
Subsystem: CLEVO/KAPOK Computer Skylake Host Bridge/DRAM Registers [1558:0152]
Kernel driver in use: skl_uncore
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:02.0 VGA compatible controller [0300]: Intel Corporation Skylake Integrated Graphics [8086:191b] (rev 06)
Subsystem: CLEVO/KAPOK Computer Skylake Integrated Graphics [1558:0152]
Kernel driver in use: i915
Kernel modules: i915
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H USB 3.0 xHCI Controller [1558:0152]
Kernel driver in use: xhci_hcd
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H Thermal subsystem [1558:0152]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H CSME HECI [1558:0152]
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H SATA Controller [AHCI mode] [1558:0152]
Kernel driver in use: ahci
Kernel modules: ahci
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #3 [8086:a112] (rev f1)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1c.3 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #4 [8086:a113] (rev f1)
Kernel driver in use: pcieport
Kernel modules: shpchp
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H LPC Controller [1558:0152]
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H PMC [1558:0152]
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H HD Audio [1558:0152]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
Subsystem: CLEVO/KAPOK Computer Sunrise Point-H SMBus [1558:0152]
Kernel modules: i2c_i801
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206M [GeForce GTX 965M] [10de:1427] (rev a1)
Subsystem: CLEVO/KAPOK Computer GM206M [GeForce GTX 965M] [1558:0152]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_384_drm, nvidia_384
02:00.0 Network controller [0280]: Intel Corporation Wireless 3160 [8086:08b3] (rev 83)
Subsystem: Intel Corporation Dual Band Wireless AC 3160 [8086:8070]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device [10ec:5287] (rev 01)
Subsystem: CLEVO/KAPOK Computer Device [1558:0152]
Kernel driver in use: rtsx_pci
Kernel modules: rtsx_pci
03:00.1 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)
Subsystem: CLEVO/KAPOK Computer RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [1558:0152]
Kernel driver in use: r8169
Kernel modules: r8169

答案1

不幸的是,我没有和你一样的处理器,但我的 Intel NUC5-i3 的板载 GPU 完全没有问题。除了从“软件和更新”窗口中可以选择的驱动程序外,我没有安装任何其他驱动程序。我认为你的 CPU 或有故障的 Linux 驱动程序不是原因。我想是配置错误。检查lspci -knn你可以将哪些内核驱动程序/模块与你的显卡一起使用。然后看看

ls /etc/modprobe.d/也许less /etc/modprobe.d/blacklist.conf您正在将某些默认图形驱动程序列入黑名单。我曾经因为使用 nvidia 专有驱动程序而遇到过这个问题。

另请查看 Yannicks 的回答无法让 Intel HD Graphics 530 (Skylake i7 6700) 工作

我在配备 i7 6700hq 和 GTX 970M 的 msi gs70 6qe 上。
使用 UEFI 的 Ubuntu 16.04 LTS 安装 USB 设备,我终于启动了
成功地 !
我在“splash”参数之后设置的唯一启动参数是
“nouveau.modeset=0”。
对我来说,Intel HD 530 运行良好,但 NVIDIA GTX 970 则不行,它会冻结
Ubuntu 的启动过程。可能需要安装 NVIDIA 固件
已添加/上传以避免启动冻结。

通过阅读你发布的页面,我发现https://01.org/linuxgraphics/downloads/intel-graphics-update-tool-linux-os-v2.0.2

Ubuntu* 16.04

由于 Ubuntu* 16.04 的一个已知问题,第三方应用程序无法
通过 Ubuntu 的包管理器自动启动。Ubuntu* 16.04 用户必须
安装 gdebi 工具,使他们能够成功运行更新
工具。详细说明请参见以下链接:

使用 gdebi 运行更新工具

并且:

已知的问题
[...]
使用 Ubuntu* 软件中心(或“apt”软件包管理器)卸载
英特尔® 图形安装程序 Linux* 版不会删除 01.org“apt”
软件包存储库。要删除存储库,请在
Ubuntu* 软件中心使用 Ubuntu wiki 上描述的步骤
[...]

还有一件事要补充:如果您有一个或多个免费的 USB 闪存驱动器:您可以使用它们来测试不同的操作系统(Ubuntu 16.04、Lubuntu 16.04、Mint 等),而无需将它们安装在您的机器上,只是为了看看您遇到的问题是否仍然存在。

答案2

感谢您的详细回复!

我查看了所有文件,/etc/modprobe.d/发现在 nvidia 上只有 nouveau 和 lbm-nouveau 驱动程序被列入黑名单,而在 nouveau 上没有图形驱动程序被列入黑名单。在 nvidia 和 nouveau 上,英特尔微码模块都被列入黑名单,如The microcode module attempts to apply a microcode update when it autoloads. This is not always safe, so we block it by default.注释所示。

lspci -knn没有显示任何意外的东西,我已经将输出放入了问题中。

但是,将“nouveau.modeset=0”添加到我的 grub 文件中似乎就解决了问题!我已经启动了 3 次,没有任何问题,希望这种情况一直持续下去。

实际上,当使用英特尔更新软件时,我是按照他们的 gdebi 说明进行的。

唯一的问题是我现在必须使用 nouveau,只要我不需要专有驱动程序来处理特殊的事情(例如用于第二个屏幕),那就没问题。无论如何,感谢您的帮助,这确实是一大进步!

相关内容