«Ошибка X» BadAlloc GLX BadContext на IntelSandyBridge (Intel HD Graphics 3000) - PullRequest
2 голосов
/ 19 марта 2012

Я использую debian stable ThinkPad X1 (1294-3QG) с ровно тремя пакетами из squeeze-backports, необходимыми для GraphicsModi:

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.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

У меня была такая же проблема на самодельной серверной станции с Intel i7 2700k (которая имеет Intel HD 3000) под управлением Debian Stable 6.0.4 (squeeze) x64. По сути, я знал, что у этой платформы множество проблем с Unix-системами (как всегда у Intel 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 и сообщения ядра для некоторой информации

  • кошка дмесг | Сбой grep && cat dmesg | grep drm && cat / var / log / messages | сбой grep && cat / var / log / messages | grep drm - нашел то же самое. Чем я запустил glxgears и обнаружил ту же ошибку.

Я копал сеть в течение нескольких дней после некоторых решений и идей. Нашел много бесполезных вещей по поводу выделения оперативной памяти (enable_mtrr_cleanup) и т. Д. В принципе, для моих почти никогда не нужных кинематографических потребностей это была не трагедия, но мне нравится, когда все идеально, поэтому я все еще работал, чтобы исправить это.

И наконец! Получил это решено! Проблема была не с ОЗУ или новым ядром.

Здесь я должен упомянуть, что я сам скомпилировал ядро ​​Debian - 3.2 на основе настроек предыдущей установки.

  • Я также удалил все ненужные библиотеки для моей архитектуры (то есть libdrm для nvidia radeon и других - даже VESA !!!)

Я на мгновение добавил wheezy (тестирование) репозитории, обновил и установил новые пакеты с зависимостями от имени root (только эти):

  • echo deb http://ftp.pl.debian.org/debian/ тестирование несвободного основного ресурса >> /etc/apt/sources.list
  • apt-get update
  • 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

Исправлены все проблемы с рендерингом и размещением на Intel GPU:)

Думаю, это должно работать для вас и всех, кто использует Intel GPU. Не забудьте удалить wheeze (тестирование) из sources.list, когда вы закончите.

С уважением, T_Send.

1 голос
/ 26 июня 2012

Я решил это сам, обновив некоторые mesa, касающиеся пакетов.Я использую стабильный Debian со следующими пакетами из backports:

initramfs-tools, libdrm-intel1, libgl1-mesa-dev, libgl1-mesa-dri, libgl1-mesa-glx, linux-base, linux-headers-3.2.0-0.bpo.1-all-amd64, linux-headers-3.2.0-0.bpo.1-amd64, linux-headers-3.2.0-0.bpo.1-common, linux-headers-3.2.0-0.bpo.1-common-rt, linux-headers-3.2.0-0.bpo.1-rt-amd64, linux-headers-3.2.0-0.bpo.2-all-amd64, linux-headers-3.2.0-0.bpo.2-amd64, linux-headers-3.2.0-0.bpo.2-common, linux-headers-3.2.0-0.bpo.2-common-rt, linux-headers-3.2.0-0.bpo.2-rt-amd64, linux-image-3.2.0-0.bpo.2-amd64, linux-kbuild-3.2, mesa-common-dev

Надеясь, эта информация поможет и другим.

...