2.2. Видео карты

В целом, существуют два типа видео карт. Первый тип (новейшие карты) поддерживают аппаратное масштабирование и YUV акселерацию, другие карты - нет.

2.2.1. YUV карты

Они могут показывать и масштабировать изображение до любого размера, помещающегося в их память, с малой загрузкой CPU (даже при масштабировании), поэтому полноэкранный просмотр приятный и очень быстрый.

  • Matrox G200/G400/G450/G550 карты: хотя Vidix драйвер и существует, вместо него рекомендуется использовать модуль ядра mga_vid, поскольку он лучше работает. Пожалуйста, прочтите секцию mga_vid о его установке и использовании. Важно проделать эти операции до компиляции MPlayer'а, иначе поддержка mga_vid не будет собрана. Также обратите внимание на секцию Matrox TV-вывод. Если Вы не используете Linux, Ваша единственная возможность - использовать VIDIX драйвер: см. секцию VIDIX.

  • 3Dfx Voodoo3/Banshee карты: читайте секцию tdfxfb, чтобы получить значительное ускорение. Важно проделать эти операции до компиляции MPlayer'а, иначе поддержка mga_vid не будет собрана. Если Вы используете X, используйте минимум 4.2.0, поскольку 3dfx Xv драйвер был сломан в 4.1.0 и более ранних версиях.

  • ATI карты: существует VIDIX драйвер для следующих карт: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98).Также см. секцию ATI карт в документации TV-вывода, чтобы узнать, поддерживается ли TV-out Вашей карты под Linux/MPlayer.

  • S3 карты: у Savage и Virge/DX чипов есть аппаратная акселерация. Используйте наиболее свежую версию XFree86, старые драйвера содержат ошибки. У Savage чипов проблемы с выводом YV12, см. S3 Xv секцию для подробностей. У более старых Trio карт нет аппаратной поддержки, или она медленная.

  • nVidia карты: может быть, а может и не быть хорошим выбором для просмотра фильмов. Если у Вас не GeForce2 (или более новая) карта, то маловероятно, что она будет работать без ошибок. Встроенные nVidia драйвера в XFree86 не поддерживают YUV акселерацию на всех nVidia картах. Вам необходимо скачать драйверы с закрытым исходным кодом с nVidia.com. См. секцию nVidia Xv драйвера для подробностей. Также посмотрите секцию nVidia TV-выход, если Вы хотите использовать TV.

  • 3DLabs GLINT R3 и Permedia3: существует VIDIX драйвер (pm3_vid). Для подробностей, см. секцию VIDIX.

  • Другие карты: Не упомянута выше?

    • Проверьте, поддерживает ли XFree86 драйвер (и Ваша карта) аппаратную акселерацию. Подробности см. в секции Xv.
    • Если нет, то возможности Вашей видеокарты не поддерживаются под Вашей операционной системой :( Если аппаратная акселерация работает под Windows, это не значит, что она будет работать под Linux или иной операционной системой: это зависит от драйвера. Большинство производителей не делают Linux'овых драйверов и не распространяют спецификации для их чипов, поэтому Вам не повезло, что Вы используете их карты. См. Не-YUV карты.

2.2.2. Не-YUV карты

Полноэкранное воспроизведение может быть достигнуто либо включением программного масштабирования (используйте -zoom или -vf scale опции, но я предупреждаю Вас: это медленно), или переключением в видео режим с меньшим разрешением, например 352x288. Если у Вас нет аппаратной YUV акселерации, этот метод предпочтителен. Изменение видео режима может быть включено использованием опции -vm и работает со следующими драйверами:

  • используя XFree86: подробности см. в секциях DGA драйвер и X11 драйвер. Рекомендуется DGA ! Также попробуйте использовать DGA через SDL, иногда это лучше.
  • не используя XFree86: попробуйте драйвера в следующем порядке: vesa, fbdev, svgalib, aalib.

2.2.3. Cirrus Logic карты

  • GD 7548: установлено на материнской плате и тестировалась в ноутбуках серии Compaq Armada 41xx.

    • XFree86 3: работает в 8/16bpp режимах. Хотя, драйвер очень медленный и генерирует ошибки в режиме 800x600@16bpp. Рекомендуется: 640x480@16bpp
    • XFree86 4: Xserver замораживается вскоре после старта, если акселерация не отключена, но тогда все становится медленнее, чем под XFree86 3. Нет XVideo.
    • FBdev: фреймбуфер[framebuffer - кадровый буфер] может быть включён clgenfb драйвером в ядре, хотя для меня это работало только при 8bpp, и поэтому непригодно. В исходный код до компиляции должен быть добавлен 7584 ID
    • VESA: карта совместима только с VBE 1.2, поэтому VESA вывод не может использоваться. Не может быть обойдено с UniVBE.
    • SVGAlib: определяется как более старый Cirrus чип. Работает, но медленно с -bpp 8.