среда, августа 17, 2005

Fighting (unsuccessfully) the "screen frozen, but mouse pointer moves" bug

Сделал сегодня еще одну попытку что-нибудь сделать с этим багом. Дома я успешно живу со старыми драйверами (< 1.0-7xxx), но на работе другая мамка и другая видюха (GeForce4 MX 440 / 128 Mb), и старые драйвера почему-то не работают.

Вот что я пробовал:

1) Перепрошил биос на материнке (ASUS P4P800). Был rev. 1010, стал 1020-002
2) Скачал последние дрова (1.0-7676)
3) Попробовал разные значения Option "NvAgp" - 0, 1, 2.
4) Еще раз попробовал поставить разные варианты старых дров. Результат: на 6629 имеем черный экран, < 6629 - не устанавливаются (не может что-то там скомпилить), 7xxx - работают, но бага как была, так и осталась.

Выработал следующий способ воспроизведения зависания (которое "screen frozen, but mouse pointer moves"):
1. Должен быть запущен xcompmgr (это который рисует тени к окнам с помощью Composite Extension)
2. Должен быть запущен какой-нибудь window manager.
3. На экране должно быть окно с шириной и высотой больше определенного порога, на глаз - около 800 пикселей.

Очень интересны пункты 2) и 3). Если стартануть иксы с помощью xinit, запустить оконный менеджер и с его помощью увеличить ширину окошка xterm, прибить оконный менеджер и, наконец, запостить xcompmgr - работает. Стоит запустить xfwm4 и т.п. - висим.

Или можно запустить xcompmgr, когда на экране нет больших окон. Рабочий стол не считается - видимо, потому что у него нет заголовка. Потихоньку растягиваем любое окно - и когда оно достигнет определенного размера, успешно зависаем. Классический сценарий - мышиный курсор бегает, но на щелчки не реагирует, клавиатура не работает, можно залезть с другой машины по ssh и увидеть, что Xorg жрет 100% ресурсов.

Если убить иксы (kill -9 Xorg) и перезапустить, обычно все возвращается в норму, но иногда таки приходится перезагружаться.

Да, в моём случае использование драйвера "nv" вместо "nvidia" или опции "RenderAccel" "False" от зависания спасает, так что жить можно, и квака и т.п. работает -- но хочется-то тенюшек красивых!!!