Debian & intel GM965/GL960 Integrated Graphics Controller

Материал из support.qbpro.ru
Версия от 13:10, 24 августа 2013; imported>Vix (Новая страница: «Я являюсь "счастливым" обладателем интегрированного видеоадаптера GM965/GL960 Integrated Graphics Contro…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Я являюсь "счастливым" обладателем интегрированного видеоадаптера GM965/GL960 Integrated Graphics Controller, а так как я пользуюсь только системой Linux на своем ноутбуке, то крайне болезненно принимаю некоторые глюки этого поделия когда приходится например обновлять ПО, в данный момент установил ядро версии 3.6.9, и начались странности.. периодически при непонятных но вычисляемых обстоятельствах ноут уходит в черный экран, при этом все продолжает работать, но изображение недоступно насмерть.. прикол в том что вызывает такое странное поведение именно тяжелые программы, например все от mozilla, иногда libreoffice, было и от virtualbox.. при очередном таком глюке, вслепую перешел в консоль и сделал dmesg|tail > err.txt после перезагрузки увидел это:

[drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
[drm:i915_reset] *ERROR* Failed to reset chip.

.. гм.. сделал запрос на модуль: modinfo i915

parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please
report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it.
It will  then be included in an upcoming module version. (int)
parm:           modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default])
(int)
parm:           fbpercrtc:int
parm:           panel_ignore_lid:Override lid status (0=autodetect [default], 1=lid open, -1=lid closed) (int)
parm:           powersave:Enable powersavings, fbc, downclocking, etc. (default: true) (int)
parm:           semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int)
parm:           i915_enable_rc6:Enable power-saving render C-state 6. Different stages can be selected via bitmask values 
(0 =  disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7
would  enable everything. default: -1 (use per-chip default) (int)
parm:           i915_enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm:           lvds_downclock:Use panel (LVDS/eDP) downclocking for power savings (default: false) (int)
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
parm:           lvds_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default],
index in  VBT BIOS table) (int)
parm:           reset:Attempt GPU resets (default: true) (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system
wide  hangs. (default: true) (bool)
parm:           i915_enable_ppgtt:Enable PPGTT (default: true) (int)

............. из всего этого богатства опций самые интересные:

1. lvds_channel_mode:
2. reset
3. enable_hangcheck
4. modeset:

немного "поигравшись" получил стабильное решение только так: добавляем или создаем в /etc/modprobe/i915kms.conf

options i915 modeset=1
options i915 enable_hangcheck=1
options i915 reset=0
options lvds_channel_mode=1

.. обязательно качаем самую последнюю версию libdrm-intel1 качаем тут: http://intellinuxgraphics.org/download.html нас интересует : http://cgit.freedesktop.org/mesa/drm/ тянем что-то типа libdrm-2.4.40.tar.gz распаковываем где нибудь.. в распакованном каталоге делаем autogen.sh следом configure.sh если просит чего, доустанавливаем... после делаем make -j3 (компиляция в 3 потока, у кого мощнее можно больше по числу ядер процессора) следом ставим пакет если его нет : apt-get install checkinstall теперь в каталоге даем команду: checkinstall -D отвечаем утвердительно, и везде названия вместо libdrm меняем на libdrm-intel1 затем запускаем сборку deb пакета нажимая enter .. теперь ставим пакет, тем самым обновляемся в данном случае до libdrm-intel1-2.4.40 советую также обновить xserver-xorg-video-intel до версии 2.2.15.0-3 из backports .. после этого черный экран у меня перестал появляться.. я специально тут написал, так как заметил, что весь интернет обсуждает эту проблему, но к сожалению мало кто дает решение этого..