7.20. Поддержка TV-выхода
Пред. | Глава 7. Устройства вывода видео | След.

## 7.20. Поддержка TV-выхода

### 7.20.1. Matrox G400 карты

Под Linux есть два способа получить работающий TV выход на G400:

### Важно

инструкции по TV-выходу для Matrox G450/G550, смотрите в следующем разделе!

XFree86

  Используя драйвер и HAL модуль, доступный с сайта Matrox. Это даст вам X на TV.

  Этот метод на дает ускоренного воспроизведения как под Windows! Второй выход имеет только YUV фреймбуфер, BES (Back End Scaler, модуль YUV масштабирования на картах G200/G400/G450/G550) на нем не работает! Драйвер windows как-то это обходит, возможно используя 3D движок для масштабирования, а YUV фреймбуфер - для вывода отмасштабированного изображения. Если вы действительно хотите использовать X, используйте опции `-vo x11 -fs -zoom`, но это будет МЕДЛЕННО, и будет иметь включенную защиту от копирования Macrovision (можно "обойти" Macrovision используя этот скрипт на perl).

Framebuffer

  Используя модули matroxfb в 2.4 ядрах. 2.2 ядра не имеют в этих модулях возможности работы с TV-out, так что для нашего дела непригодны. Вы должны включить ВСЕ matroxfb-относящиеся возможности во время компиляции (кроме MultiHead), и скомпилировать их в модули! Вам также необходима задействованная I2C.

  1. Войдите в `TVout` и наберите ./compile.sh. Установите `TVout/matroxset/matroxset` куда-нидудь в ваши `PATH`.

  2. Если вы еще не имеете установленного fbset, поместите `TVout/fbset/fbset` куда-нибуть в ваши `PATH`.

  3. Еслы con2fb у вас еще не установлен, поместите `TVout/con2fb/con2fb` куда-нибуть в ваши `PATH`.

  4. Затем войдите в каталог `TVout/` в исходниках MPlayer, и запустите `./modules` от имени root. Ваша консоль из текстового режима переключится в режим фреймбуфера (обратно не получится!).

  5. Затем, ОТРЕДАКТИРУЙТЕ и запустите скрипт `./matroxtv`. Он покажет вам очень простое меню. Нажмите 2 и Enter. Теперь вы должны иметь одинаковую картинку на мониторе и TV. Если картинка на TV (PAL по-умолчанию) имеет некоторые странные полосы, значит скрипт не смог корректно установить разрешение (на 640x512 по-умолчанию). Попробуйте другие разрешения из меню и/или поэкспериментируйте с fbset.

  6. Йоу. Следующая задача - убрать курсор с tty1 (или где он есть), и выключить гашение экрана. Запустите следующие команды:

         echo -e '\033[?25l'
         setterm -blank 0

     or

         setterm -cursor off
         setterm -blank 0

     Возможно вы захотите поместить вышеуказанное в скрипт, добавив очистку экрана. Чтобы вернуть курсор назад

         echo -e '\033[?25h'

     или

         setterm -cursor on

  7. Готово. Запускайте воспроизведение

         mplayer -vo mga -fs -screenw 640 -screenh 512 filename

     (Если используете X, переключитесь теперь в matroxfb при помощи, например Ctrl+Alt+F1.) Замените `640` и `512`, если установили другое разрешение...

  8. Наслаждайтесь супер-быстрым, супер-навороченным выводом Matrox TV (лучше чем Xv)!

Создание кабеля Matrox TV-out. Никто не дает никаких гарантий и не несет никакой ответственности за возможное нанесение ущерба, вызванное выполнением инструкций, указанныех в этой документации.

Кабель для G400. Четвертый контакт CRTC2 коннектора - это композитный видео сигнал. Земля - шестой, седьмой и восьмой контакты. (информация получена от Balázs Rácz)

Кабель для G450. Первый контакт CRTC2 коннектора - это композитный видео сигнал. Земля - пятый, шестой, седьмой и пятнадцатый (5, 6, 7, 15) контакты. (информация получена от Balázs Kerekes)

### 7.20.2. Matrox G450/G550 карты

Поддержка TV выхода для этих карт была добавлена недавно, и пока отсутствует в основном ядре. В данный момент mga_vid не может быть использован AFAIK, поскольку дрйвер G450/G550 работает только в одной конфигурации: первый чип CRTC (с наибольшим количеством возможностей) на первом экране (мониторе), и второй чип CRTC (без BES - для объяснения, что такое BES, смотрите раздел о G400 выше) на TV. Так что в настоящий момент вы можете использовать только драйвер вывода fbdev программы MPlayer.

Первый CRTC не может быть перенаправлен на второй выход на текущий момент. Автор драйвера ядра matroxfb - Petr Vandrovec - возможно добавит поддержку для этого, отображая вывод первого CRTC одновременно на два выхода, как в данный момент и рекомендуется для G400, смотрите раздел выше.

Необходимый патч для ядра и детальное HOWTO можно скачать с http://www.bglug.ca/matrox_tvout/

### 7.20.3. ATI карты

ПРЕАМБУЛА. Сейчас ATI не хочет поддерживать ни один из ее TV-out чипов под Linux, по причине технологии лицензированной ими у Macrovision.

СТАТУС ПОДДЕРЖКИ TV-OUT ДЛЯ КАРТ ATI ПОД LINUX

- ATI Mach64: поддерживается GATOS.

- ASIC Radeon VIVO: поддерживается GATOS.

- Radeon и Rage128: поддерживается MPlayer! Смотрите разделы VESA драйвер и VIDIX.

- Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4: поддерживается atitvout.

Для других карт просто используйте VESA драйвер, без VIDIX. Конечно, требуется мощный CPU.

Единственная вещь, которую надо сделать - Иметь TV коннектор подключенным до загрузки вашего PC, поскольку видео BIOS инициализирует себя только один раз во время POST процедуры.

### 7.20.4. nVidia

Во-первых, вы ДОЛЖНЫ скачать закрытые драйверы с http://nvidia.com. Я не буду описывать процесс установки и настройки, поскольку это выходит за рамки данной документации.

После того, как XFree86, XVideo, и 3D ускорение заработает правильно, отредактируйте раздел Device для вашей карты в файле `XF86Config`, в соответствии с указанным ниже примером (адаптируйте к вашей карте/TV):

    Section "Device"
            Identifier      "GeForce"
            VendorName      "ASUS"
            BoardName       "nVidia GeForce2/MX 400"
            Driver          "nvidia"
            #Option         "NvAGP" "1"
            Option          "NoLogo"
            Option          "CursorShadow"  "on"

            Option          "TwinView"
            Option          "TwinViewOrientation" "Clone"
            Option          "MetaModes" "1024x768,640x480"
            Option          "ConnectedMonitor" "CRT, TV"
            Option          "TVStandard" "PAL-B"
            Option          "TVOutFormat" "Composite"
    EndSection

Конечно же важная часть - это TwinView.

### 7.20.5. NeoMagic

Чип NeoMagic найден на различных ноутбуках, некоторые из которых оснащаются простым аналоговым TV кодером, некоторые имеют более продвинутый.

- Чип аналогового кодера: Сообщалось, что надежный TV выход можно получить, используя `-vo fbdev` или `-vo fbdev2`. Вам требуется иметь vesafb скомпилированный в вашем ядре и передать следующие параметры в командной строке ядра: `append="video=vesafb:ywrap,mtrr" vga=791`. Вам следует запустить X, затем переключитесь в консольный режим при помощи, например, Ctrl+Alt+F1. Если вы не запустите X до запуска MPlayer в консоли, видео станет медленным и дрожащим[choppy] (объяснения приветствуются). Залогиньтесь в консоли и запустите следующую команду:

      clear; mplayer -vo fbdev -zoom -cache 8192 dvd://

  Теперь вы должны увидеть фильм, запущенный в консольном режиме, заполняющий примерно половину LCD экрана вашего ноутбука. Для переключения в TV нажмите Fn+F5 три раза. Тестировался на Tecra 8000, 2.6.15 ядре с vesafb, ALSA v1.0.10.

- Chrontel 70xx чип кодирования: Найден на IBM Thinkpad 390E и, возможно, других Thinkpad или ноутбуках.

  Необходимо использовать `-vo vesa:neotv_pal` для PAL или `-vo vesa:neotv_ntsc` для NTSC. Это даст TV выход, работающий в следующих 16 bpp и 8 bpp режимах:

  - NTSC 320x240, 640x480 and maybe 800x600 too.

  - PAL 320x240, 400x300, 640x480, 800x600.

  Режим 512x384 не поддерживается в BIOS. Вы должны масштабировать изображение в другое разрешение для задействования TV выхода. Если вы видите изображение на экране в разрешении 640x480 или 800x600, но не 320x240 или другом меньшем разрешении, вам требуется заменить две таблицы в `vbelib.c`. Смотрите функцию vbeSetTV для подробностей. Пожалуйста, свяжитесь автором в этом случае.

  Известные проблемы: только VESA, не реализованы различные настройки, такие как яркость, контрастность, уровень черного, фильтр дрожания[flickfilter].

Пред. | Уровень выше | След.
7.19. Другое оборудование вывода видео | Начало | Глава 8. Портинг