Ускорение работы AGP видеокарт NVIDIA под Linux: SBA, FW; включаем XvMC для проигрывания MKV

Старый компьютер на котором я это проделывал у меня давно сломался и этот пост долго лежал неопубликованным. Может кому пригодится. Использование XvMC актуально и по сей день, для видеокарт ATI тоже работает.

Вы еще не выбросили старенький компьютер с AGP видеокартой? Не спешите это сделать. Поставьте на него большой новый жесткий диск, Linux, сетевую карту пошустрее и в задачах хранения и скачивания из Сети файлов он даст фору современному прожерливому и шумному десктопу. После небольшого шаманства можно даже HD-видео (mkv) играть. При установке проприетарного драйвера видеокарт от NVIDIA появляется возможность существенно ускорить проигрывание видео, если включить отключенные по умолчанию Side Band Addressing (SBA) и AGP Fast Writes.

Смотрим текущие параметры AGP:

 cat /proc/driver/nvidia/agp/status

Видим, что можно включить SBA и FW:

 Status:          Enabled
 Driver:          NVIDIA
 AGP Rate:        8x
 Fast Writes:     Disabled
 SBA:             Disabled

Открываем файл '''/etc/modprobe.d/nvidia-kernel-nkc''' и правим его так:

 alias char-major-195* nvidia
 options nvidia NVreg_EnableAGPFW=1 NVreg_EnableAGPSBA=1

Перезагружаемся, проверяем.

XvMC

Далее в видеопроигрывателе нужно выбрать режим проигрывания X Video Motion Compensation (XvMC) т.к. он в наибольшей степени использует возможности аппаратного ускорения проигрывания видео на старых видеокартах. Например, в плеере Xine-UI это делается так:

Xine-UI XvMC

Теперь нагрузка на процессор при проигрывании видео существенно упадет, больше работы будет приходиться на видеокарту и с процессором >= 1400 Mhz можно будет смотреть mkv.

UPD: Неправильную картинку сначала прицепил, в Xine-UI название xvmc было уже занято, и поэтому драйвер XvMC назвали xxmc, именно xxmc надо выбирать для Xine.

UPD: Забыл главное :) После установки драйверов NVIDIA надо вписать в файл /etc/X11/XvMCConfig:

libXvMC.so.1

Не вдаваясь в подробности [1, 2, 3] какие части MPEG2 и MPEG4 и на каких видеокартах и драйверах ускоряет XvMC, скажу что в сравнении с xv или opengl на файле с кодеком Microsoft MPEG-4 использование CPU плеером Xine на моем ноутбуке падает с 30% до 20% и на глаз картинка движется приятнее, а некоторые MKV с кодеком H.264 без XvMC на том же ноутбуке уже невозможно смотреть.

UPD. Еще пару слов об XvMC.

Блог: RU Linux

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

Умнее будет для этого купить NAS-устройство, чем реанимировать старый убого выглядящий ящик. В Москве продают вот такой девайс от WD за 7 тыщ рэ

http://www.nix.ru/autocatalog/nas/WD_WD10000H1NC_My_Book_World_Edition_1Tb_83670.html

Я - купил. Настроил на нем ssh и nfs - удовлетворен. Подумываю еще один прикупить.

Я уж не говорю о возможности прикупить поюзанный мак мини тысяч за 5.

Эт правильно. Сейчас таких девайсов много разных по доступной цене. Только чтобы фильмы проигрывать сразу это уже медиацентр надо, они существенно дороже, поэтому я подумываю в сторону самосбора бесшумного FTP + Torrent-качалка + Xine на основе Mini-ITX + Intel Atom + Debian.

И еще во всех этих NAS и медиацентрах обрезанные линуксы в виде прошивки, или что там стоит незнаю, у меня вызывают опасения... вдруг что-то не понравится или не заработает а софт свой нельзя поставить?

Круто, жалко только видюх таких нет Хотя у бабули ещё осталась, GF MX440

XvMC работает не только на AGP, для любых GEFORCE < 8400 и видеокарт на чипах других производителей сейчас это единственный способ заметно разгрузить CPU при просмотре видео под Linux.