无法在英特尔显卡 Ubuntu 16.04 上关闭/暂停/重启

无法在英特尔显卡 Ubuntu 16.04 上关闭/暂停/重启

使用英特尔显卡时:

每当我合上笔记本电脑盖或使用 GUI 或终端命令重新启动/关机时,它都会进入黑屏,左上角只有一个“_”,然后挂起。只有长按电源按钮才能关闭电脑。

然而,当我sudo prime-select nvidia切换到 nvidia 时,一切都运行正常。

有办法解决这个问题吗?使用 NVIDIA 时我的电池最多只能使用约 2 小时,而且使用电源按钮关闭笔记本电脑真的很烦人。

眼镜:

Intel 7700HQ,NVIDIA 1060GTX,内核 4.8

谢谢你!!

编辑:

当我选择sudo prime-select intelNVIDIA 375

我得到:

Info: the current GL alternatives in use are: ['nvidia-375', 'nvidia-375']
Info: the current EGL alternatives in use are: ['nvidia-375', 'nvidia-375']
Info: selecting mesa for the intel profile
update-alternatives: using /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link

/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link

update-alternatives: using /usr/lib/x86_64-linux-gnu/mesa-egl/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

当前驱动程序:381.22

在 381.22 上我得到:

➜  ~ sudo prime-select intel
[sudo] password for wboy: 
Info: the current GL alternatives in use are: ['nvidia-381', 'nvidia-381']
Info: the current EGL alternatives in use are: ['nvidia-381', 'nvidia-381']
Info: selecting mesa for the intel profile
update-alternatives: using /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/x86_64-linux-gnu/mesa-egl/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
➜  ~ sudo prime-select nvidia
Info: the current GL alternatives in use are: ['mesa', 'mesa']
Info: the current EGL alternatives in use are: ['mesa-egl', 'nvidia-381']
Info: selecting nvidia-381 for the nvidia profile
update-alternatives: using /usr/lib/nvidia-381/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-381/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-381/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

EDIT2:迄今为止的尝试:

1)尝试安装新的英特尔驱动程序已将内核升级至 4.8,现在缺少固件警告--> 不起作用。问题仍然存在

2) 尝试将内核从 4.8 升级到 4.10.15 --> 无效。问题变得更糟。它没有显示正常的登录屏幕,而是显示终端登录屏幕并挂起。

3)尝试修复 nvidia-primehttps://askubuntu.com/a/884506/547039,但是 poweron.sh 和 poweroff.sh 脚本反而使我的笔记本电脑挂起。

4)尝试使用 sudo swapoff -a && systemctl poweroff 作为解决方法,但无济于事。

5)尝试改变

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=force"

也不起作用。

编辑3更多信息:

键入sudo lshw -C display

当使用英特尔驱动程序时:(sudo prime-select intel)-->输出PCI (Sysfs)然后挂起

使用 nvidia 驱动程序时(sudo prime-select nvidia):

  *-display               
       description: VGA compatible controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:131 memory:db000000-dbffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:e000(size=128) memory:dc000000-dc07ffff
  *-display
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: iomemory:2f0-2ef irq:127 memory:2ffe000000-2ffeffffff memory:80000000-8fffffff ioport:f000(size=64) memory:c0000-dffff

输入 modinfo i915 | grep 文件名:

➜  ~ modinfo i915 | grep filename
filename:       /lib/modules/4.8.0-51-generic/kernel/drivers/gpu/drm/i915/i915.ko

以下是关机、硬重置(由于挂起)以及随后重新启动后的日志

  • /var/log/syslog

https://codeshare.io/5XOPwM

  • /var/log/kern.log

https://codeshare.io/aJp6nq

答案1

这里似乎存在一些问题:英特尔 7700HQ是 Kaby Lake CPU。似乎对您的 CPU 的支持包含在内核版本 4.10

基于此,我建议安装版本 4.10(或更高版本)的内核,如下所述:

发出命令

apt-cache search linux-image | grep 4.10

sudo apt-get install linux-image-your_version_choice

sudo apt-get install linux-image-extra-your_version_choice

编辑:根据错误“/usr/lib/nvidia-375/libEGL.so.1 不是符号链接”,您似乎也受到了这个错误我建议通知开发人员它也会影响你并订阅它,以便你可以收到进展通知。

已报告解决方法这里并确认这里解决该问题。建议的驱动程序可用这里。

在安装(378.13)之前彻底清除现有的 nvidia 驱动程序可能是明智的做法,如所述这里。

似乎有一些可能存在的担忧我总是建议当前备份这样您就可以轻松恢复到以前的状态。

对于希望成为拼图的最后一块,我认为我们需要升级整个英特尔显卡堆栈,因为它增加了对 Kaby Lake CPU 的支持,并且相关错误修复

为此,我们需要下载适用于 Ubuntu 16.04 32 位和 64 位版本的英特尔图形更新工具这里。

安装您使用软件中心(或您最喜欢的包管理器)下载的 deb 包。

安装后,从仪表板启动英特尔图形工具,并按照提示为您的系统安装最新的图形堆栈。假设安装没有错误,请重新启动系统以使新驱动程序生效。(如果此过程出现问题,我们可以使用上述当前备份进行恢复,并可以利用上次尝试获得的知识再次尝试)

笔记:如果我们希望 Ubuntu 信任来自英特尔存储库的未来更新,我们必须通过终端发出以下命令。

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | sudo apt-key add -安装密钥。

资料来源:

http://www.pcworld.com/article/3173618/linux/kaby-lake-is-unleashed-with-kernel-410.html

如何在没有任何发行版升级的情况下将内核更新到最新的主线版本?

如何在 Ubuntu 16.04 上将内核升级到 4.10 版本?

https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/+bug/1662860

http://tipsonubuntu.com/2016/09/07/install-intel-graphics-driver-ubuntu-16-04/

相关内容