4.15. VIDIX
Předcházející | Kapitola 4. Výstupní video zařízení/rozhraní | Další

## 4.15. VIDIX

PŘEDMLUVA. VIDIX je zkratka pro VIDeo Interface for *niX (video rozhraní pro *nix). VIDIX bylo navrženo a představeno jako rozhraní pro rychlé uživatelské ovladače dosahujících video výkonu jako dosahuje mga_vid na kartách Matrox. Je rovněž dobře přenositelné.

Toto rozhraní bylo navrženo jako pokus napasovat existující video akcelerující rozhraní (známé jako mga_vid, rage128_vid, radeon_vid, pm3_vid) do pevného schéma. Poskytuje vysokoúrovňové rozhraní k čipům známým jako BES (BackEnd scalers) nebo OV (Video Overlays). Neposkytuje nízkoúrovňové rozhraní k věcem známým jako grafické servery. (Nechci konkurovat X11 týmu v přepínání grafických režimů). Čili hlavním cílem tohoto rozhraní je maximalizace rychlosti přehrávání videa.

POUŽITÍ

- Můžete použít samostatné video rozhraní: `-vo xvidix`. Toto rozhraní bylo vytvořeno jako front end X11 k technologii VIDIX. Vyžaduje X server a může pracovat pouze pod X serverem. Poznamenejme, že jelikož přímo komunikuje s hardwarem a obchází X ovladač, pixmapy uložené v paměti grafické karty můžou být poškozeny. Můžete se tomu vyhnout omezením množství video paměti použité X pomocí volby "VideoRam" v XF86Config o 4MB. Pokud máte méně než 8MB video ram, můžete místo toho použít volbu "XaaNoPixmapCache" v sekci screen.

- Existuje konzolové VIDIX rozhraní: `-vo cvidix`. To vyžaduje pro většinu karet funkční inicializovaný framebuffer (jinak pouze rozhodíte obrazovku) a dosáhnete podobného efektu jako s `-vo mga` nebo `-vo fbdev`. nVidia karty však jsou schopny zobrazit plně grafické video na reálné textové konzoli. Viz sekci nvidia_vid pro více informací. Abyste se zbavili textu na okrajích a blikajícího kursoru, zkuste něco jako

      setterm -cursor off > /dev/tty9

  (předpokládáme, že `tty9` není dosud používaná) a pak se přepneme do `tty9`. Na druhou stranu volba `-colorkey 0` by měla poskytnout video běžící na "pozadí", zprávná funkce však závisí na funkčnosti colorkey.

- Můžete použít VIDIXové podzařízení, které bylo zabudováno do několika video ovladačů, například: `-vo vesa:vidix` (pouze Linux) a `-vo fbdev:vidix`.

Nezáleží na tom, které video výstupní rozhraní je použito s VIDIX.

POŽADAVKY

- Video karta by měla být v grafickém režimu (vyjma karet nVidia s výstupním rozhraním `-vo cvidix`).

- Výstupní video rozhraní MPlayeru by mělo znát aktivní video režim a být schopno sdělit VIDIXovému podzařízení některé video charakteristiky serveru.

METODY POUŽITÍ. Když použijete VIDIX jako subdevice (`-vo vesa:vidix`), pak je konfigurace video režimu je provedeno výstupním video rozhraním (zkrátka vo_serverem). Takže můžete zadat na příkazovém řádku MPlayeru stejné volby jako pro vo_server. Návdavkem rozeznává volbu `-double` jako globální parametr. (Doporučuji použít tuto volbu s VIDIX aspoň pro ATI kartu). Stejně jako `-vo xvidix`, dosud zná následující volby: `-fs -zoom -x -y -double`.

Rovněž můžete uvést VIDIXový ovladač jako třetí podvolbu na příkazovém řádku:

    mplayer -vo xvidix:mga_vid.so -fs -zoom -double soubor.avi

nebo

    mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 soubor.avi

Ale je to nebezpečné a neměli byste to dělat. V tomto případě bude zadaný ovladač vynucen a výsledek je nepředvídatelný (může vám zatuhnout počítač). Měli byste to použít POUZE pokud jste si absolutně jistí, že to bude fungovat a MPlayer to neudělá automaticky. Řekněte o tom prosím vývojářům. Správný způsob je použití VIDIX bez argumentů, aby proběhla autodetekce.

Jelikož VIDIX vyžaduje přímý přístup k hardware, můžete jej buď spustit jako root, nebo nastavit SETUID bit binárce MPlayeru (Varování: Toto je bezpečnostní risk!). Alternativně můžete použít speciální jaderný modul, například:

1. Stáhněte si vývojovou verzi svgalib (například 1.9.17), NEBO si stáhněte verzi vytvořenou Alexem speciálně pro použití s MPlayerem (ke kompilaci nepotřebuje zdrojový kód svgalib) z odtud.

2. Skompilujte modul v adresáři `svgalib_helper` (naleznete ji v `svgalib-1.9.17/kernel/`, pokud jste si stáhli zdrojový kód ze serveru svgalib) a nahrajte (insmod) jej.

3. Pro vytvoření potřebných zařízení v adresáři `/dev` proveďte jako root

       make device

   v adresáři `svgalib_helper`.

4. Přesuňte adresář `svgalib_helper` do podadresáře `vidix` zdrojových kódů MPlayeru.

5. Odkomentujte řádek CFLAGS obsahující text "svgalib_helper" v souboru `vidix/Makefile`.

6. Překompilujte.

### 4.15.1. Karty ATI

V současnosti je většina ATI karet podporována nativně od Mach64 až po nejnovější Radeony.

Existují dvě skompilované binárky: `radeon_vid` pro Radeony a `rage128_vid` pro karty Rage 128. Můžete některou vynutit, nebo nechat VIDIX rozhraní autodetekovat všechny dostupné ovladače.

### 4.15.2. Karty Matrox

Matrox G200, G400, G450 a G550 jsou hlášeny jako funkční.

Ovladač podporuje video ekvalizéry a měl by být téměř tak rychlý jako Matrox framebuffer

### 4.15.3. Karty Trident

Existuje ovladač pro čipset Trident Cyberblade/i1, který lze nalézt na motherboardech VIA Epia.

Ovladač byl napsán a je udržován Alastairem M. Robinsonem

### 4.15.4. Karty 3DLabs

Ačkoli existuje ovladač pro čipy 3DLabs GLINT R3 a Permedia3, nikdo je netestoval, takže hlášení vítáme.

### 4.15.5. Karty nVidia

Unikátní vlastností ovladače nvidia_vid je jeho schopnost zobrazit video na jednoduché, čisté, pouze textové konzoli – bez framebufferu nebo nějaké X magie. Pro tento účel budete muset použít video rozhraní `cvidix`, jak to ukazuje následující příklad:

    mplayer -vo cvidix příklad.avi

### 4.15.6. Karty SiS

Toto je velmi experimentální kód, stejně jako nvidia_vid.

Byl testován na SiS 650/651/740 (nejobvyklejší čipsety použité v SiS verzích "Shuttle XPC" barebones boxes out there)

Hlášení očekávána!

Předcházející | Nahoru | Další
4.14. X11 | Domů | 4.16. DirectFB