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:
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.
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.
Pro vytvoření potřebných zařízení v adresáři /dev proveďte jako root
make device
v adresáři svgalib_helper.
Přesuňte adresář svgalib_helper do podadresáře vidix zdrojových kódů MPlayeru.
Odkomentujte řádek CFLAGS obsahující text "svgalib_helper" v souboru vidix/Makefile.
Překompilujte.
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.
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
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
Ačkoli existuje ovladač pro čipy 3DLabs GLINT R3 a Permedia3, nikdo je netestoval, takže hlášení vítáme.
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