28 янв. 2012 г.

Fglrx, XV и Debian Wheezy (падение X-сервера при просмотре видео)


Сейчас в Debian Wheezy используется fglrx-driver 1:11-12-1 и xserver-xorg 1:7.6+10. В этой и более поздних версиях fglrx программы, использующие расширение XV, вызывают падение X-сервера. Сюда относятся многие видео-плееры, например, mplayer.

Флеш в браузере без полноэкранного режима не использует XV.

Причина в том, что ATI не спешит реагировать на поломанный ABI в новых версиях X11. Подробности описаны здесь: Bug #649346.

Решение #1

Использовать свободные драйвера вместо fglrx:

$ sudo apt-get remove fglrx-driver
$ sudo apt-get install xserver-xorg-video-radeon

Свободные драйвера не поддерживают 3D-ускорение и работают медленнее на моей карточке.

Решение #2

Не использовать расширение XV:

$ mplayer -vo gl myvideo.flv

Решение #3

Откатить версию X11, оставив новый fglrx:

1. Добавить squeeze-backports в /etc/apt/sources.list:

deb http://backports.debian.org/debian-backports squeeze-backports main

2. Добавить приоритеты в  /etc/apt/preferences:

Package: xserver-xorg* libgl1-mesa-dri
Pin: release n=squeeze-backports
Pin-Priority: 1100

Package: *
Pin: release a=testing
Pin-Priority: 1000

3.  Откатить X11:

$ sudo apt-get update
$ sudo aptitude install -t squeeze-backports xserver-xorg-core=2:1.10.4-1~bpo60+1 xserver-xorg-input-all=1:7.6+8~bpo60+1 xserver-xorg=1:7.6+8~bpo60+1

Среди предложенных вариантов нужно выбрать тот, который выполняет DOWNGRADE для указанных пакетов, не удаляет ничего нужного и не оставляет неразрешенных зависимостей.