我前段时间买了一台 Lenovo IdeaPad Y700,我在上面安装了 Ubuntu 16.04,一切运行良好。
当我使笔记本电脑休眠时(电池电量低),问题就开始了。从那时起,我的 NVIDIA GeForce GTX 950M 拒绝使用 Nouveau 驱动程序启动。此外,当我尝试安装或运行任何已安装的 Linux 操作系统时,我收到以下错误:
我无法找到任何适合我的情况的答案。基于 Arch 和 Debian 的系统都存在此问题(即使安装程序刚刚启动且安装尚未开始)
[2017年2月20日] 编辑
我安装了Windows 10来检查这是操作系统问题还是显卡问题,并且我能够成功安装Nvidia驱动程序并配置显卡,所以这更像是Linux问题。
[2017年2月25日] 编辑
正如 @dirkt 所建议的,下面是 Ubuntu 16.04 安装后的日志
- 消息日志 -https://pastebin.com/03yx32Xk
- lspci -vv -s 1:0.0日志 -https://pastebin.com/X3xhFASH
答案1
正如 dirkt 提到的,这可能是内核问题,但它不应该影响驱动程序安装本身。
您可以尝试从以下位置安装官方 nvidia 驱动程序图形驱动程序 ppa
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
然后安装驱动程序:
sudo apt-get install nvidia-387
答案2
部分答案:
Nvidia 卡已正确枚举,但这
[ 0.319197] pci 0000:01:00.0: can't claim BAR 6 [mem 0xfff80000-0xffffffff pref]: no compatible bridge window
[ 0.319215] pci 0000:01:00.0: BAR 6: no space for [mem size 0x00080000 pref]
[ 0.319216] pci 0000:01:00.0: BAR 6: failed to assign [mem size 0x00080000 pref]
[ 0.319217] pci 0000:00:01.0: PCI bridge to [bus 01]
[ 0.319219] pci 0000:00:01.0: bridge window [io 0xd000-0xdfff]
[ 0.319221] pci 0000:00:01.0: bridge window [mem 0xd1000000-0xd1ffffff]
[ 0.319223] pci 0000:00:01.0: bridge window [mem 0xa0000000-0xb1ffffff 64bit pref]
表明用于访问显卡的 PCI 到 PCI 桥有问题。
这里
[ 1.028760] ACPI Warning: \_SB.PCI0.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160930/nsarguments-95)
[ 1.028792] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160930/nsarguments-95)
[ 1.028867] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160930/nsarguments-95)
[ 1.028918] pci 0000:01:00.0: optimus capabilities: enabled, status dynamic power, hda bios codec supported
[ 1.028920] VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle
确实看起来 ACPI 出了问题,并且GFX0
和PEG0
可能是显卡部分。错误的 ACPI 也可能会导致 pci 到 pci 桥接出现问题。
因此,很可能 BIOS 在休眠后提供的 ACPI 信息略有不同(无论出于何种原因),Linux 会因此而感到窒息,而 Windows 则不会。
所以下一步是调试 ACPI,这并不有趣,而且我也不是这方面的专家。也许您可以将其交给负责 ACPI 解释的内核人员,提交一个错误,看看是否有人觉得它足够有趣并值得一看。
答案3
老实说,我不认为ACPI 错误:AE_NOT_FOUND错误是问题的(主要)原因,那就是在该系统上安装 Linux。我有一堆非常相似的错误(ACPI 相关),但我的系统工作正常......
不管怎样,尝试用acpi=off
内核参数启动Linux,让我们尝试一下!
其次,您是否安装了最新的 BIOS/固件?由于 ACPI 与低级软件相关,因此拥有最新版本非常重要。
第三,安装显卡驱动并不意味着有什么价值!您是否尝试启动 3D 程序/游戏来检查这一点?