我正在运行 debian stable
ThinkPad X1 (1294-3QG),其中包含 GraphicsModi 所需的 squeeze-backports
中的三个软件包:
initramfs-tools 0.99~bpo60+1
linux-base 3.4~bpo60+1
linux-image-3.2.0-0.bpo.2-amd64 3.2.9-1~bpo60
在运行该内核时,启动例如 paraview
会导致这些错误:
Unrecognized deviceID 126
X Error: BadAlloc (insufficient resources for operation) 11
Extension: 154 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id: 0x3200273
X Error: GLXBadContext 169
Extension: 154 (Uknown extension)
Minor opcode: 5 (Unknown request)
Resource id: 0x32002b0
paraview: ../../src/xcb_io.c:183: process_responses: Zusicherung »!(req && current_request && !(((long) (req->sequence) - (long) (current_request)) <= 0))« nicht erfüllt.
在网上的某个地方,我发现了在xorg.conf
中提供内存设置的提示,但这并没有解决我的问题。
在当前稳定的内核中启动工作正常。
运行glxgears
结果类似:
Unrecognized deviceID 126
X Error of failed request: BadAlloc (insufficient resources for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Serial number of failed request: 27
Current serial number in output stream: 29
我进一步尝试通过更新xserver-xorg-video-intel
(以及所有依赖项libdrm-intel1 libxfont1、xserver-common、xserver-xorg、xserver-xorg -core、xserver-xorg-input-evdev、xserver-xorg-video-fbdev
和 xserver-xorg-video-vesa
)向后移植,但这并不繁荣。
另外,我找到了该条目
[drm] MTRR allocation failed. Graphics performance may suffer.
在dmesg
的输出中。
最佳答案
我在运行 Debian Stable 6.0.4 (squeeze) x64 的 Intel i7 2700k(具有 Intel HD 3000)的自制服务器工作站上遇到了同样的问题。基本上我知道这个平台在 UNIX 系统上有很多问题(就像英特尔 GPU 一贯做的那样),但它的目的是服务器,所以板载图形对此足够公平。无论如何,我希望有一天能运行一次(在通过 HDMI*/VGA 连接的电视上),所以我安装了 gnome-core 和 gdm3 来手动运行。
使用内核 2.6.32-5-amd64,一切都非常好,除了一些事情,这迫使我升级内核:
- SSD 支持(从 linux-image-2.6.33 添加和改进)
- HDMI - 未识别任何设备,无法添加和更改分辨率 (cvt xrandr)。
所以我将squeeze-backports添加到sources.list并仅升级内核(与您所做的相同)。
之后 HDMI 连接效果很好,但我注意到刷新率很慢 - 在加载 gdm3 登录屏幕期间及之后出现撕裂。我检查了 dmesg 和内核消息以获取一些信息
- 猫 dmesg | grep 失败 && cat dmesg | grep drm && cat/var/log/messages | grep drm && cat/var/log/messages | grep drm && cat/var/log/messages grep 失败 && cat/var/log/messages | grep drm - 发现相同。我运行 glxgears 并发现同样的错误。
在一些解决方案和想法之后,我花了几天时间进行挖掘。 发现许多关于分配 RAM(enable_mtrr_cleanup)等无用的东西。 基本上,对于我几乎没有的电影需求来说,这不是悲剧,但我喜欢一切都很完美,所以我仍在努力修复它。
最后!解决了!问题不在于 RAM 或新内核本身。
我必须在这里提到,我自己编译了 Debian 内核 - 3.2,基于之前安装的设置。
- 我还删除了我的架构中所有不需要的库(即 nvidia radeon 和其他库的 libdrm - 甚至 VESA!!!)
我添加了一会儿喘息(测试)存储库,升级并安装了具有 root 依赖项的新软件包(仅此一个):
- 回声德布http://ftp.pl.debian.org/debian/测试主要贡献非免费 >>/etc/apt/sources.list
- apt-get 更新
- apt-get install --reinstall -t 测试 libdrm2 libdrm-intel1 xserver-xorg-video-intel xserver-xorg-core libgl1-mesa-glx libgl1-mesa-dri mesa-utils
- dpkg-重新配置 xserver-xorg
这解决了英特尔 GPU 上渲染和分配的所有问题:)
我认为它应该适合您和每个拥有 Intel GPU 的人。完成后,不要忘记从sources.list 中删除wheeze(测试)。
问候,T_Send。
关于xorg - IntelSandyBridge 上的 "X Error"BadAlloc GLX BadContext(Intel HD Graphics 3000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9769613/