![如何修复损坏的英特尔 GPU i915 驱动程序?](https://linux22.com/image/818117/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%E6%8D%9F%E5%9D%8F%E7%9A%84%E8%8B%B1%E7%89%B9%E5%B0%94%20GPU%20i915%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我无法让我的笔记本电脑(HP Pavilion DM4 2101ea)上的 i915 驱动程序正常运行。
具体来说,从 USB 密钥和硬盘启动时,笔记本电脑屏幕在启动画面后变黑并保持黑屏。
要在启动画面后将任何内容显示在屏幕上,我必须使用
acpi=off
nomodeset
i915.modeset=0
我宁愿不关闭 ACPI,因为我喜欢我的风扇旋转,而且nomodeset
有点过度,所以现在我使用 启动i915.modeset=0
。
不幸的是,这会关闭 KMS,并且我笔记本电脑屏幕的当前最大分辨率固定为 1024x768,而不是其实际功能。
如果不设置上述任何启动标志,并且插入外接显示器,外接显示器可以正常工作。使用标志启动时,外接显示器也可以正常工作,但只能达到 1024x768 的分辨率,并且除了镜像笔记本电脑显示外无法执行任何其他操作。
我确实将 Precise 附带的 i915 驱动程序从 2.17 升级到了最新版本 2.19,但却无法显示任何内容。
这是我的lspci
输出:
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5116 PCI Express Card Reader (rev 01)
08:00.0 Ethernet controller: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet (rev c0)
以下是lshw -C video
*-display UNCLAIMED
description: VGA compatible controller
product: 2nd Generation Core Processor Family Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list
configuration: latency=0
resources: memory:c0000000-c03fffff memory:b0000000-bfffffff ioport:4000(size=64)
这两个输出都是在使用 启动后生成的i915.modeset=0
。
Xorg.log
以下是从启动到黑屏的完整文件:https://gist.github.com/479ce06454e47d6123e1
显卡是Intel HD 3000集成GPU。
我之前在 Ubuntu 上使用英特尔硬件时从未遇到过问题,所以这非常令人惊讶。
如果你可以
- 提供一种使 i915 工作的方法,
- 建议替代司机
i915.modeset=0
以更高的分辨率和 KMS启动的方法- 或者解释发生了什么以及如何解决
我会给你一个答案徽章。:)
谢谢
答案1
我正在处理 x230 的类似问题,但更专注于让外部屏幕运行。我不得不使用 nomodeset 标志来进行安装。以下是我目前所拥有的: x230 上的显示端口不工作
我目前为接近工作所采取的步骤如下:
- 不要使用 nomodeset 或 modeset=0,因为它会抛出 KMS 并且您将无法做任何事情。
sudo vi /etc/initramfs-tools/modules
并添加 i915 和 intel_agp 驱动程序,保存并通过运行重建update-initramfs -u
我还在 /usr/share/X11/xorg.conf.d/ 中创建了一个自定义 x 配置存根,用于加载英特尔驱动程序并为其指定一些规范,以及为我的所有设备设置监视器配置。但是,我仍然无法运行我的第二台监视器!
另外 - 我已经使用 arandr 创建了一个 shell 脚本,可以很好地设置我的所有分辨率,但它也不会导致我的显示端口连接的显示器运行......
希望有帮助,
答案2
对我来说,这是背光问题。请参阅文章以了解故障排除和报告说明。
答案3
在/etc/rc.local
之前exit 0
放 一行setpci -s 00:02.0 F4.B=30
.
这将打开背光,亮度为 30(其中 00 为全亮,FF 为全暗)。启动过程将很暗,但登录屏幕出现后灯会立即亮起。
nomodeset
此方法不使用,因此可以使用原始屏幕分辨率。我喜欢这个结果,但仍然无法使用 Fn 键调整屏幕亮度。
顺便说一下我从http://ubuntuforums.org/showthread.php?t=1744809为了帮助解释上述命令,lspci
显示位于 pci 总线地址 00:02.0 的 Intel VGA 控制器。
答案4
请小心设置i915.modeset=0
。
自 2.15 版起,英特尔驱动程序的所有版本仅支持 KMS。如果您已停用 KMS(例如,通过i915.modeset=0
在文件中添加选项/etc/default/grub
),请通过删除此选项重新激活 KMS。