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

AltStyle によって変換されたページ (->オリジナル) /