2.3.1. Dispositivi di output video

2.3.1.1. Configurare l' MTRR

E' DECISAMENTE consigliato controllare se i registri MTRR sono ben configurati, perchè possono fornire un grande aumento di prestazioni.

Fai un 'cat /proc/mtrr' :

--($:~)-- cat /proc/mtrr
reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9
reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1

E' a posto, mostra la mia Matrox G400 con 16Mb di memoria. L'ho ottenuto con XFree 4.x.x , che configura i registri MTRR automaticamente.

Se non ha funzionato, devi farlo manualmente. Prima, bisogna trovare l'indirizzo di base. Hai 3 modi per scoprirlo:

Poi troviamo la dimensione della memoria. E molto semplice, basta convertire la quantità di ram video in esadecimale, o usare questa tabella:

  1 MB0x100000
2 MB0x200000
4 MB0x400000
8 MB0x800000
16 MB0x1000000
32 MB0x2000000

Conosci l'indirizzo di base e la dimensione della memoria, configuriamo i registri mtrr! Per esempio, per la scheda Matrox di cui sopra (base=0xd8000000) con 32MB di ram (size=0x2000000) basta eseguire:

  echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr

Non tutte le CPU supportano l'MTRR. Per esempio i più vecchi K6-2 [circa 266Mhz, stepping 0] non supportano l'MTRR, ma gli stepping 12 si ('cat /proc/cpuinfo' per controllare').

2.3.1.2 Output video per normali schede video

2.3.1.2.1 Xv

Sotto XFree86 4.0.2 o più recente, si possono usare le routine hardware della tua scheda usando l'estensione XVideo. Questo è quello che usa l'opzione '-vo xv'. Inoltre, questo driver è quello che supporta la regolazione di luminosità/contrasto/hue/etc (a meno che tu stia usando il vecchio, lento codec DirectShow DivX, che lo supporta ovunque), vedi la pagina di man.

Per farlo funzionare, assicurati delle seguenti cose:

2.3.1.2.1.1 Schede 3dfx

I vecchi driver 3dfx avevano problemi con l'accelerazione XVideo, non supportavano ne YUY2 ne YV12, e cose del genere. Verifica di possedere XFree86 versione 4.2.0 o maggiore, funziona bene con YV12 e YUY2. Le versioni precedenti, inclusa la 4.1.0 vanno in crash con YV12! Se hai strani effetti con -vo xv, prova SDL (ha anche XVideo) e guarda se aiuta. Controlla la sezione SDL per dettagli.

O, prova il NUOVO driver -vo tdfxfb! Vedi la sezione tdfxfb!

2.3.1.2.1.2. Schede S3

La S3 Savage3D dovrebbe funzionare bene, ma per la Savage4, usa XFree86 versione 4.0.3 o maggiore (in caso di problemi con l'immagine, prova 16bpp). Come per S3 Virge.. c'è il supporto xv, ma la scheda stessa è molto lenta, quindi faresti meglio a rivenderla.

NOTA: non è chiaro in quali modelli Savage manchi il supporto YV12, ed è convertito dal driver (lento). Se hai dei sospetti sulla tua scheda, prendi un nuovo driver, o chiedi gentilmente sulla mailing list mplayer-users mailing un driver col supporto MMX/3DNow.

2.3.1.2.1.3. Schede nVidia

nVidia non è una scelta molto buona sotto Linux (secondo NVidia, questo non è vero).. Sarai costretto ad usare il driver binario closed-source di nVidia, disponibile sul sito di nVidia. Il driver XFree86 standard non supporta XVideo per queste schede, a causa delle specificazioni e dei sorgenti chiusi di nVidia.

Per quanto ne so l'ultimo driver XFree86 contiene il supporto XVideo per Geforce 2 e 3.

2.3.1.2.1.4. Schede ATI

  • Il driver GATOS (che dovresti usare, a meno che tu non abbia Rage128 o Radeon) ha VSYNC abilitato di default. Questo significa che la velocità di decodifica (!) è sincronizzata con quella di refresh del monitor. Se la riproduzione sembra essere lenta, prova a disabilitare il VSYNC in qualche modo, o regola la velocità di refresh a n*(fps del filmato) Hz.
  • Radeon VE - attualmente solo il CVS di XFree86 ha un driver per questa scheda, la versione 4.1.0 no. E nessun supporto TV out. Naturalmente con MPlayer puoi felicemente ottenere una visualizzazione accelerata, con o senza output TV, e non servono librerie o X. Leggi le sezioni VIDIX.
  • 2.3.1.2.1.5. Schede NeoMagic

    Queste schede possono essere trovate su molti laptop. Sfortunatamente, il driver in X 4.2.0 non può usare Xv, ma abbiamo un driver modificato, capace di Xv, per te. Scaricalo da qui. Driver fornito da Stefan Seyfried.

    Per permettere la riproduzione di DVD cambia il tuo XF86Config così:

    Section "Device"
        [...]
        Driver "neomagic"
        Option "OverlayMem" "829440"
        [...]
    EndSection

    2.3.1.2.1.6. Schede Trident

    Se vuoi usare xv con una scheda Trident, dato che non funziona col 4.1.0, installa XFree 4.2.0 che aggiunge il supporto per xv a pieno schermo con la scheda Cyberblade XP.

    2.3.1.2.1.7 Kyro/PowerVR cards

    Se vuoi usare Xv con una scheda basata su Kyro (ad esempio la Hercules Prophet 4000XT), devi scaricare i driver dal sito PowerVR.

    2.3.1.2.2 DGA

    INTRODUZIONE

    Questa sezione tenta di spiegare cosa sia il DGA in generale e cosa può fare (e cosa non può) il driver di output video DGA di mplayer.

    COS'E IL DGA

    DGA è l'acronimo di Direct Graphics Access (Accesso Diretto alla Grafica, ndt) ed è un modo per un programma di aggirare il server X e modificare direttamente la memoria del framebuffer. Detto tecnicamente questo è possibile mappando la memoria del framebuffer nell'area di memoria del tuo processo. Questo è permesso dal kernel solo se hai i privilegi di superutente. Puoi ottenerli o loggandoti come root o applicando il bit suid all'eseguibile mplayer (NON consigliato!).

    Esistono due versioni di DGA: DGA1 è usato da XFree 3.x.x e DGA2 è stato introdotto con XFree 4.0.1.

    DGA1 fornisce solo accesso diretto al framebuffer come descritto sopra. Per cambiare la risoluzione del segnale video bisogna appoggiarsi all'estensione XVidMode.

    DGA2 incorpora le caratteristiche di XVidMode e permette anche di cambiare la profondità del display. Cosi puoi, anche se è in esecuzione un server X a 32 bit di profondità, cambiare ad una profondità di 15 bit e vice versa.

    Però il DGA ha alcune pecche. Sembra che siano in qualche modo dipendenti dal chip grafico che si usa e dall'implementazione del driver video del server X che controlla questo chip. Quindi non funziona su tutti i sistemi.

    INSTALLARE IL SUPPORTO DGA PER MPLAYER

    Per prima cosa assicurati che X carichi l'estensione DGA, controlla in /var/log/XFree86.0.log:

        (II) Loading extension XFree86-DGA

    Vedi, XFree86 4.0.x o maggiore è DECISAMENTE CONSIGLIATO! Il driver DGA di MPlayer è trovato automaticamente da ./configure, o si può forzare con --enable-dga.

    Se il driver non può cambiare ad una risoluzione minore, prova con le opzioni -vm (solo con X 3.3.x), -fs, -bpp, -zoom per trovare una modalità adatta. Non c'è una conversione per ora.. :(

    Diventa ROOT. DGA ha bisogno dell'accesso di root per poter scrivere direttamente nella memoria video. Se vuoi eseguirlo da utente, allora installa MPlayer SUID root:

        chown root /usr/local/bin/mplayer
        chmod 750 /usr/local/bin/mplayer
        chmod +s /usr/local/bin/mplayer

    Ora funziona anche da semplice utente.

    !!!! MA RIMANI IN ASCOLTO !!!!
    Questo è un GRANDE rischio per la sicurezza! Non farlo mai su un server o un computer al quale possono accedere altre persone perchè si possono ottenere i privilegi di root attraverso mplayer suid root.
    !!!! QUINDI SEI STATO AVVISATO ... !!!!

    Ora usa l'opzione '-vo dga', ed ecco fatto! (spero:) Dovresti anche provare se l'opzione '-vo sdl:dga' funziona per te! E' molto più veloce!!!

    CAMBIARE RISOLUZIONE

    Il driver DGA permette di cambiare la risoluzione del segnale di uscita. Questo evita la necessita di eseguire un (lento) ridimensionamento software e allo stesso tempo fornisce un'immagine a pieno schermo. Idealmente dovrebbe andare all'esatta risoluzione (tranne che per rispettare le proporzioni) dei dati video, ma il server X permette solo di andare ad una risoluzione presente in /etc/X11/XF86Config (/etc/X11/XF86Config-4 per XFree 4.0.X). Queste sono definite dalle cosi dette modeline e dipendono dalle capacità del tuo hardware video. Il server X legge questo file di configurazione all'avvio e disabilita le modeline non adatte al tuo hardware. Puoi scoprire quali modalità rimangono nel file di log di X11. Si trova in: /var/log/XFree86.0.log.

    Queste funzionano bene col mio chip Riva128, usando il modulo del driver XServer nv.o.

      Section "Modes"
        Identifier    "Modes[0]"
        Modeline	"800x600"  40     800 840 968 1056  600 601 605 628
        Modeline	"712x600"  35.0   712 740 850 900   400 410 412 425
        Modeline	"640x480"  25.175 640 664 760 800   480 491 493 525
        Modeline 	"400x300"  20     400 416 480 528   300 301 303 314 Doublescan
        Modeline	"352x288"  25.10  352 368 416 432   288 296 290 310
        Modeline	"352x240"  15.750 352 368 416 432   240 244 246 262 Doublescan
        Modeline	"320x240"  12.588 320 336 384 400   240 245 246 262 Doublescan
      EndSection
    

    DGA & MPlayer

    DGA è utilizzato in due posti in MPlayer: nel driver SDL (-vo sdl:dga) e nel driver DGA (-vo dga). Quello detto sopra è valido per entrambi; nella seguente sezione spiegherò come funziona il driver DGA di MPlayer.

    CARATTERISTICHE

    Il driver DGA è invocato specificando -vo dga alla riga di comando. Il comportamento di default è quello di cambiare ad una risoluzione il più vicino possibile a quella originale del filmato. Ignora deliberatamente le opzioni -vm e -fs (cambiare la modalità video e il pieno schermo) - tenta sempre di coprire la maggior parte possibile del monitor cambiando la modalità video, astenendosi così dall'usare anche un solo ciclo in più della CPU per ridimensionare l'immagine. Se non ti piace la modalità che ha scelto puoi forzarlo ad usare la risoluzione più vicina a quella che gli viene passata con le opzioni -x e -y. Con l'opzione -v, il driver DGA stamperà a video, tra le altre cose, una lista delle risoluzioni supportate dal tuo attuale file XF86-Config. Con il DGA2 puoi anche forzarlo ad usare una certa profondità usando l'pzione -bpp. Le profondità valide sono 15, 16, 24 e 32. Dipende dal tuo hardware se queste profondità sono supportate nativamente o se deve essere fatta una (possibilmente lenta) conversione.

    Se sei abbastanza fortunato da avere abbastanza memoria video rimasta per inserire un'intera immagine, il driver DGA userà il doppio buffering, che permette una riproduzione video più fluida. Ti dirà se il doppio buffering è abilitato oppure no.

    Doppio buffering significa che la successiva immagine del filmato viene disegnata nella memoria video mentre è mostrata l'immagine attuale. Quando il successivo frame è pronto, basta dire al chip grafico la posizione nella memoria del nuovo frame e prende semplicemente i dati da visualizzare da lì. Nel frattempo un altro buffer nella memoria sarà di nuovo riempito con nuovi dati video.

    Il doppio buffering può essere abilitato con l'opzione -double e disabilitato con -nodouble. L'azione attualmente predefinita è quella di disabilitare il doppio buffering. Quando si usa il driver DGA, l' OSD funziona solo col doppio buffering abilitato. Comunque, abilitare il doppio buffering può risultare in una grande perdita di velocità (sul mio K6-II+ 525 usa un 20% in più di tempo della CPU!) a seconda dell'implementazione del DGA per il tuo hardware.

    QUESTIONI SULLA VELOCITA'

    Parlando in generale, l'accesso al framebuffer DGA dovrebbe essere veloce almeno quanto il driver X11 con in più il beneficio di avere l'immagine a pieno schermo. I valori di velocità in percentuale dati da mplayer devono essere interpretati con una certa cura, dato che per esempio, col driver X11 non includono il tempo impiegato dal server X necessario per il reale disegno. Aggancia un terminale alla porta seriale della tua box ed esegui top per vedere cosa sta realmente accadendo.

    Parlando in generale, l'incremento di velocità dato da DGA rispetto ad un uso 'normale' di X11 dipende in larga misura dalla tua scheda grafica e da quanto sia ben ottimizzato il modulo X-Server per essa.

    Se hai un sistema lento, faresti meglio ad usare una profondità di 15 o 16bit in quanto necessitano solo metà della larghezza di banda della memoria rispetto ai 32.

    Anche usare una profondità di 24bit è una buona idea se la tua scheda li supporta nativamente solo i 32 bit in quanto trasferisce il 25% in meno di dati rispetto alla modalità 32/32.

    Ho visto già dei file avi riprodotti su un Pentium MMX 266. Le CPU AMD K6-2 dovrebbero andare bene dai 400 MHZ in su.

    BUG CONOSCIUTI

    Bene, secondo alcuni sviluppatori di XFree, DGA è proprio una bestiaccia. Raccomandano di non usarlo. La sua implementazione non è sempre perfetta con tutti i driver per chipset di XFree la fuori.

    2.3.1.2.3 SDL

    SDL (Simple Directmedia Layer, Semplice Livello Diretto per media, ndt) è in generale una interfaccio video/audio unificata. I programmi che ne fanno uso conoscono solo l' SDL, e nulla su quale driver video o audio SDL usano veramente. Per esempio un port di Doom che usa SDL può essere eseguito su svgalib, aalib, X, fbdev, e altri, devi solo specificare il (per esempio) driver video da usare con la variabile d'ambiente SDL_VIDEODRIVER. Bhe, in teoria.

    Con MPlayer, abbiamo usato la capacita di ridimensionamento software del suo driver X11 per schede/driver che non supportano XVideo, finchè non abbiamo fatto il nostro (più veloce, più bello) ridimensionatore software. Abbiamo anche usato il suo output aalib, ma ora abbiamo il nostro che è più comodo. La sua modalità DGA era migliore della nostra, fino a poco tempo fà. Afferrato ora? :)

    Aiuta anche con alcuni driver/schede difettosi se il video o l'audio sono a scatti (non un problema di sistema lento).

    Il video output SDL supporta la visualizzazione dei sottotitoli sotto al filmato, sulla (se presente) barra nera.

    Ci sono molte opzioni a riga di comando per SDL:

    -vo sdl:name
    specifica il driver video sdl da usare (es. aalib, dga, x11)
    -ao sdl:name
    specifica il driver audio sdl da usare (es. dsp, esd, arts)
    -noxv
    disabilita l'accelerazione hardware Xvideo
    -forcexv
    tenta di forzare l'accelerazione Xvideo

    Tasti per SDL:

    Fscambia le modalità pieno schermo/finestra
    Ccambia tra le modalità a pieno schermo disponibili
    W/Ssostituiscono * e / (controllo mixer)

    BUG CONOSCIUTI:

    2.3.1.2.4 SVGAlib

    INSTALLAZIONE

    Devi installare svgalib ed il suo pacchetto di sviluppo per fare in modo che MPlayer compili il suo driver SVGAlib (riconosciuto automaticamente, ma può essere forzato), e non dimenticare di modificare /etc/vga/libvga.config per adattarlo alla tua scheda & monitor.

    NOTE

    Non usare l'opzione -fs, in quanto abilita il ridimensionamento via software, che è lento. Se ne hai davvero bisogno, usa l'opzione -sws 4, risulterà una qualità peggiore ma è in qualche modo più veloce.

    SUPPORTO EGA (4BPP)

    SVGAlib incorpora EGAlib, e MPlayer può mostrare qualsiasi filmato in 16 colori, quindi è utilizzabile con le seguenti configurazioni:

    Il valore di bpp (bits per pixel) deve essere impostato manualmente a 4:
      -bpp 4
    Il filmato probabilmente deve essere ridimensionato per adattarlo alla modalità EGA:
      -vf scale=640:350 or
      -vf scale=320:200
    Per questo abbiamo bisogno di una routine di ridimensionamento veloca ma di cattiva qualità:
      -sws 4
    Forse deve essere disabilitata la correzione automatica dell'aspetto:
      -noaspect

    NOTA: secondo la mia esperienza, la migliore qualità di immagine su EGA si ottiene riducendo un po' la luminosità: -vf eq=-20:0. Sulla mia macchina ho dovuto anche ridurre la frequenza di campionamento dell'audio, poichè il suono dava problemi a 44kHz: -srate 22050.

    Puoi attivare l'OSD ed i sottotitoli con il filtro expand, vedi la pagina man per i parametri esatti.

    2.3.1.2.5 Output col Framebuffer (FBdev)

    Se compilare il driver FBdev è stabilito automaticamente da ./configure . Leggi la documentazione del framebuffer nei sorgenti del kernel (Documentation/fb/*) per informazioni su come abilitarlo, ecc.. !

    Se la tua scheda non supporta lo standard VBE 2.0 (le più vecchie schede ISA/PCI, come la S3 Trio64), ma solo VBE 1.2 (o più vecchio?) : ebbene, VESAfb è ancora disponibile, ma dovrai caricare il programma SciTech Display Doctor (prima UniVBE) prima di fare il boot di Linux. Usa un dischetto di boot DOS o quello che vuoi. E non dimenticare di registrare il tuo UniVBE ;))

    L'output FBdev accetta alcuni parametri supplementari tra i quali:

      -fb   specifica il dispositivo framebuffer da usare (/dev/fb0)
    -fbmodenome della modalità da usare (secondo /etc/fb.modes)
    -fbmodeconfig file di configurazione delle modalità (default /etc/fb.modes)
    -monitor-hfreqvalori IMPORTANTI, vedi example.conf
    -monitor-vfreq
    -monitor-dotclock

    Se vuoi cambiare ad una modalità specifica, allora usa

        mplayer -vm -fbmode (NomeModalità) nomefile

    NOTA: il cambiamento di modalità video di FBdev _non funziona_ col framebuffer VESA, e non richiederlo, in quanto non è una limitazione di MPlayer.

    2.3.1.2.6. Framebuffer Matrox (mga_vid)

    Questa sezione parla del supporto BES (Back-End Scaler) di Matrox G200/G400/G450/G550, il driver del kernel mga_vid. E' attualmente sviluppato da A'rpi, e ha il supporto VSYNC hardware con triplo buffering. Funziona sia da console col framebuffer che sotto X.

    ATTENZIONE: Questo vale solo per Linux! Su sistemi non-Linux (testato su FreeBSD), usa VIDIX!

    Per usarlo, devi prima compilare mga_vid.o:

        cd drivers
        make

    Poi crea il dispositivo /dev/mga_vid:

        mknod /dev/mga_vid c 178 0

    e carica il driver con

        insmod mga_vid.o

    Dovresti controllare il riconoscimento della dimensione della memoria usando il comando 'dmesg'. Se è sbagliata, usa l'opzione mga_ram_size (prima rmmod mga_vid), specifica la dimensione della memoria della scheda in MB:

        insmod mga_vid.o mga_ram_size=16

    Per farlo caricare/scaricare automaticamente quando ce n'è bisogno, prima inserisci la seguente riga alla fine di /etc/modules.conf:

        alias char-major-178 mga_vid

    Quindi copia il modulo mga_vid.o nella posizione appropriata sotto /lib/modules/<versione kernel>/daqualcheparte.

    Poi esegui

        depmod -a

    Ora devi (ri)compilare MPlayer, ./configure troverà /dev/mga_vid e compilerà il driver 'mga'. In MPlayer si usa con '-vo mga' se hai la console matroxfb, o '-vo xmga' sotto XFree86 3.x.x o 4.x.x.

    Il driver mga_vid coopera con Xv.

    Il file del dispositivo /dev/mga_vid può essere letto (per esempio con cat /dev/mga_vid) per avere alcune informazioni, e scritto per cambiare la luminosità : echo "brightness=120" > /dev/mga_vid

    2.3.1.2.7. Supporto YUV 3dfx (tdfxfb)

    Questo driver usa il driver framebuffer del kernel tdfx per riprodurre i filmati con accelerazione YUV. Devi avere un kernel col supporto tdfxfb, e ricompilare con ./configure --enable-tdfxfb

    2.3.1.2.8. Output in OpenGL

    MPlayer supporta la visualizzazione dei filmati usando OpenGL, ma se la tua piattaforma/driver supporta xv come dovrebbe essere su un PC con Linux, usa xv invece, le prestazioni di OpenGL sono peggiori. Se hai una implementazione X11 senza il supporto di xv, OpenGL è un' alternativa disponibile.

    Sfortunatamente, non tutti i driver hanno questa capacità. Per esempio i driver Utah-GLX (per XFree86 3.3.6) lo supportano, con tutte le schede. Vedi http://utah-glx.sourceforge.net per dettagli su come installarlo.

    XFree86(DRI) >= 4.0.3 supporta OpenGL con schede Matrox, e Radeon, >= 4.2 lo supporta anche per le Rage128. Vedi http://dri.sourceforge.net per scaricarlo, e per istruzioni sull'installazione.

    2.3.1.2.9. AAlib - visione in modalità testo

    AAlib è una libreria per vedere la grafica in modalità testo, usando un potente renderer ASCII. Ci sono MOLTI programmi che già la supportano, come Doom, Quake, ecc. MPlayer contiene un driver molto facile da usare per questa. Se ./configure trova aalib installata, sarà compilato il driver libvo aalib.

    Puoi usare alcuni tasti nella finestra AA per cambiare le opzioni di rendering:

      1  diminuisce il contrasto
    2aumenta il contrasto
    3diminuisce la luminosità
    4aumenta la luminosità
    5(dis)attiva il rendering veloce
    6cambia la modalità di dithering (nessuno, distribuzione dell'errore, floyd steinberg)
    7inverte l' immagine
    acambia i controlli da aa a mplayer

    Possono essere usate le seguenti opzioni a riga di comando:

    -aaosdcolor=Vcambia il colore dell'osd
    -aasubcolor=Vcambia il colore dei sottotitoli

    dove V può essere: (0/normal, 1/dark, 2/bold, 3/boldfont, 4/reverse, 5/special)

    La stessa AAlib fornisce un gran numero do opzioni. Eccone alcune importanti:

    -aadriverseleziona il driver aa consigliato (X11, curses, linux)
    -aaextendedusa tutti i 256 caratteri
    -aaeightusa ascii a otto bit
    -aahelpstampa tutte le opzioni di aalib

    NOTA: il rendering utilizza molta CPU, specialmente usando aalib su X, e ne usa meno su console standard, non-framebuffer. Usa SVGATextMode per selezionare una modalità testo grande, e divertiti! (le schede Hercules con uscita secondaria vanno forte :)) (anche se, secondo me, puoi usare l'ozione -vf 1bpp per avere un immagine grafica su hgafb:)

    Usa l'opzione -framedrop se il tuo computer non è abbastanza veloce da renderizzare tutti i frame!

    Usandolo da terminale otterrai una più alta velocità e qualità usando il driver di linux, non curses (-aadriver linux). Ma per questo devi avere accesso in scrittura a /dev/vcsa<terminale>! Questa non è ipostata automaticamente da aalib, ma vo_aa cerca di trovare la modalità migliore. Vedi http://aa-project.sourceforge.net/tune/ per ulteriori questioni di regolazione.

    2.3.1.2.10. VESA - output col BIOS VESA

    Questo driver è stato pensato e introdotto come un driver generico per qualsiasi scheda video con un BIOS VESA VBE 2.0+ compatibile. Ma c'è ancora una ragione per lo sviluppo di questo driver - la sua possibilità di abilitare l'output sulla TV.
    VESA BIOS EXTENSION (VBE) Versione 3.0 Data: 16 Settembre 1998 (Pagina 70) dice:

    Design a doppio controller
    VBE 3.0 supporta il design a doppio controller supponendo che, dato che entrambi i controller sono solitamente forniti dallo stesso OEM, sotto il controllo di una singola ROM BIOS sulla stessa scheda grafica, è possibile nascondere all'applicazione il fatto che sono realmente presenti due controller. Questo ha la limitazione di impedire l'uso contemporaneo dei controller indipendenti, ma consente alle applicazioni rilasciate prima del VBE 3.0 di operare normalmente. La funzione VBE 00h fornisce l'informazione combinata dei due controller, inclusa la lista combinata delle modalità disponibili. Quando l'applicazione seleziona una modalità, viene attivato il controller appropriato. Ogni rimanente funzione VBE quindi opera sul controller attivo.

    Quindi si ha la possibilità di far andare il TV-out con questo driver.
    (Suppongo che spesso il TV-out abbia un output suo proprio, almeno.)

    VANTAGGI:

    SVANTAGGI:

    Non usare questo driver col GCC 2.96 ! Non funzionerà !

    OPZIONI A RIGA DI COMANDO DISPONIBILI PER VESA:

    -vo vesa:opzioni
    attualmente riconosciute: dga per forzare la modalità dga e nodga per disabilitarla. Nella modalità dga si può abilitare il double buffering con l'opzione -double. Nota: si possono tralasciare questi parametri per abilitare il riconoscimento automatico della modalità dga.

    PROBLEMI CONOSCIUTI E COME AGGIRARLI

    2.3.1.2.11. X11

    Evitalo se possibile. Da l'output a X11 (usa l'estensione per la memoria condivisa), senza alcuna accelerazione hardware. Supporta (accelerato da MMX/3DNow/SSE, ma ancora lento) il ridimensionamento software, usa le opzioni -fs -zoom. Molte schede hanno il supporto per il ridimensionamento hardware, usa l'output -vo xv per queste, o -vo xmga per le Matrox.

    Il problema è che il driver della maggior parte delle schede non supporta l'accelerazione hardware sulla seconda uscita/TV. In quei casi, si vede una finestra verde/blu invece del filmato. Qui è dove questo driver è utile, ma hai bisogno di una CPU potente per usare il ridimensionamento software. Non usare l'output+scaler software del driver SDL, ha una pessima qualità d'immagine !

    Il ridimensionamento software è molto lento, faresti meglio a cambiare modalità video invece. E' molto semplice. Vedi la sezione sulle modeline DGA, e inseriscile nel tuo XF86Config.

    Se non riesci a trovare le modalità che hai inserito, controlla l'output di XFree86. Alcuni driver non possono usare i bassi pixelclock necessari per modalità video a bassa risoluzione.

    2.3.1.2.12. VIDIX

    INTRODUZIONE

    VIDIX è l'acronimo di VIDeo Interface for *niX (Interfaccia Video per *nix, ndt). E' stato studiato e implementato come un'interfaccia per veloci driver in spazio utente che offrono le stesse performance video che mga_vid fornisce pe le schede Matrox. E anche molto portabile.

    Questa interfaccia è stata studiata come un tentativo di far rientrare le esistenti interfacce di accelerazione video (conosciute come mga_vid, rage128_vid, radeon_vid, pm3_vid) in uno schema fisso. Fornisce un'interfaccia di alto livello ai chip conosciuti come BES (BackEnd scaler) o OV (Video Overlay). Non fornisce un'interfaccia di basso livello a cose conosciute come server grafici. (Non voglio competere con il team di X11 nel cambiamento di modalità grafica). Cioè, l'obbiettivo principale di questa interfaccia è di fornire la massima velocità di riproduzione video.

    UTILIZZO

  • Puoi usare il driver di output video da solo: -vo xvidix
    Questo driver è stato sviluppato come una interfaccia di X11 per la tecnologia VIDIX. necessita di un server X e può funzionare solo sotto un server X. Nota che, in quanto accede direttamente all'hardware e aggira il driver X, le pixmap salvate nella memoria della scheda video potrebbero essere corrotte. Si può evitare questo limitando la quantità di memoria video usata da X con l'opzione di XF86Config "VideoRam" nella sezione device. Dovresti impostarla al valore della memoria della scheda meno 4MB. Se hai meno di 8MB di ram video, puoi invece usare l'opzione "XaaNoPixmapCache" nella sezione screen.
  • Si può usare il sottodispositivo VIDIX che è stato applicato a molti driver di output video, come:
    -vo vesa:vidix (SOLO PER LINUX) e -vo fbdev:vidix
  • Infatti non importa quale driver di output video si usa con VIDIX.

    REQUISITI

  • La scheda video dovrebbe essere in modalità grafica (ho scritto dovrebbe semplicemente perchè l'ho provato in modalità testo - funziona, ma da un terribile output ;) Usa AAlib per quello).
    Nota: chiunque può provare questo trucco commentando il cambiamento di modalità nel driver vo_vesa.
  • Il driver di output video di MPlayer dovrebbe conoscere la modalità video attiva ed essere in grado di dire al sottodispositivo VIDIX alcune caratteristiche video del server.
  • METODI DI UTILIZZO

    Quando VIDIX è usato come sottodispositivo (-vo vesa:vidix) allora la configurazione della modalità video è fatta dal dispositivo di output video (vo_server in breve). Quindi puoi passare alla linea di comando di MPlayer le stesse opzioni di vo_server. In aggiunta interpreta l'opzione -double come un parametro globalmente visibile. (Consiglio di usare questa opzione con VIDIX almeno per le schede ATI).
    Come per -vo xvidix : attualmente riconosce le seguenti opzioni: -fs -zoom -x -y -double.

    Puoi anche specificare il driver VIDIX direttamente come terzo sotto argomento alla linea di comando :

      mplayer -vo xvidix:mga_vid.so -fs -zoom -double file.avi
    o
      mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 file.avi

    Ma è pericoloso, e non dovresti farlo. In questo caso il driver dato sarà forzato e il risultato è imprevedibile (potrebbe bloccare il tuo computer). Dovresti farlo SOLO se sei assolutamente sicuro che funzionerà, e MPlayer non lo fa automaticamente. Per favore dillo agli sviluppatori. Il Modo Giusto è usare VIDIX senza argomenti per abilitare il riconoscimento automatico del driver.

    VIDIX è una tecnologia molto nuova ed è molto probabile che sul tuo sistema non funzioni. In questo caso la sola soluzione per te è di eseguire un port (principalmente libdha). Ma c'è la speranza che funzioni su quei sistemi dove funziona X11.

    Poiché VIDIX richiede l'accesso diretto all'hardware, devi eseguirlo come root od impostare il bit SUID sull'eseguibile di MPlayer (Attenzione: questo comporta grossi problemi di sicurezza!). In alternativa, puoi usare uno speciale modulo del kernel, facendo così:

    1. Scarica la versione in sviluppo di svgalib (ad esemplio 1.9.17),
      O
      scarica una versione creata da Alex apposta per l'utilizzo con MPlayer (non richiede i sorgenti di svgalib per essere compilata) da qui.
    2. Compila il modulo nella directory svgalib_helper (lo trovi nella directory svgalib-1.9.17/kernel/ se hai scaricato i sorgenti dal sito di svgalib) ed inseriscilo (insmod).
    3. Sposta la directory svgalib_helper in mplayer/main/libdha/svgalib_helper.
    4. Da fare se hai scaricato i sorgenti dal sito svgalib: togliere il commento prima della linea CFLAGS che contiene la stringa "svgalib_helper" da libdha/Makefile.
    5. Ricompilare ed installare libdha.

    2.3.1.2.12.1 Schede ATI

    Attualmente la maggior parte delle schede ATI sono supportate in modo nativo, dalla Mach64 alle ultime Radeon.

    Ci sono due driver: radeon_vid per le schede Radeon e rage128_vid per le Rage 128. Puoi forzarne uno o lasciare che sia VIDIX a cercare autonomamente il driver corretto.

    2.3.1.2.12.2 Schede Matrox

    Le Matrox G200,G400,G450 e G550 sono state confermate funzionanti.

    Il driver supporta l'equalizzatore video e dovrebbere essere altrettanto veloce come il framebuffer Matrox.

    2.3.1.12.3 Schede Trident

    C'è un driver disponibile per il chipset Trident Cyberblade/i1 chipset, che si trova sulle motherboard VIA Epia.

    il driver è stato scritto ed è mantenuto da Alastair M. Robinson, che offre l'ultima versione disponibile sulla sua homepage. I driver vengono portati in MPlayer con pochissimo ritardo, quindi dovrebbero essere sempre aggiornati.

    2.3.1.2.12.4 Schede 3DLabs

    Sebbene esista un driver per i chip 3DLabs GLINT R3 e Permedia3, nessuno lo ha testato; quindi se hai notizie faccelo sapere.

    2.3.1.2.13 DirectFB

    "DirectFB è una libreria grafica che è stata progettata con in mente i sistemi embedded. Offre la massima performance per l'accelerazione hardware con un minimo utilizzo di risorse." - citato da http://www.directfb.org.

    Escluderò le caratteristiche di DirectFB da questa sezione.

    Sebbene MPlayer non sia supportato come "video provider" in DirectFB, questo driver di output abilita la riproduzione video tramite DirectFB. Naturalmente è accelerata sulla mia Matrox G400 la velocità di DirectFB è la stessa di XVideo.

    Cerca sempre di usare l'ultima versione di DirectFB. Si possono usare le opzioni di DirectFB da riga di comando con l'opzione -dfbopts. La selezione del layer si può fare col metodo del sottodispositivo, es.: -vo directfb:2 (layer -1 è il default: riconoscimento automatico)

    2.3.1.2.14 DirectFB/Matrox (dfbmga)

    Leggi la sezione principale di DirectFB per le informazioni generali.

    Questo driver di output video abilita il CRTC2 (sulla seconda uscita) sulle schede Matrox G400/G450/G550, mostrando il video indipendentemente dalla prima uscita.

    Le istruzioni per farlo funzionare si trovano nella sezione tecnica o direttamente sulla home page di Ville Syrjala.

    Nota: noi non siamo riusciti a farlo andare, ma altri si. Comunque, è iniziato il porting del codice CRTC2 in mga_vid.

    2.3.1.3 Decoder MPEG

    2.3.1.3.1 DVB

    MPlayer supporta le schede con chipset DVB Siemens fabbricati da aziende quali Siemens, Technotrend, Galaxis o Hauppauge. I driver DVB più recenti sono disponibili sul sito Linux TV. Se vuoi fare il transcoding software devi avere almeno una CPU da 1GHz.

    Lo script configure dovrebbe riconoscere automaticamente la tua scheda DVB. se non riesce, forzane il riconoscimento con

      ./configure --enable-dvb
    

    Se hai gli header ost in una locazione non-standard, imposta il path con

      ./configure --with-extraincdir=<directory sorgenti DVB>/ost/include
    

    Quindi compila e installa come al solito.

    UTILIZZO

    Si può abilitare la decodifica hardware (riproduzione di file MPEG1/2 standard) col comando:

      mplayer -ao mpegpes -vo mpegpes file.mpg|vob
    

    Si può abilitare la decodifica software o il transcoding da diversi formati a MPEG1 usando un comando come questo:

      mplayer -ao mpegpes -vo mpegpes -vf lavc tuofile.ext
      mplayer -ao mpegpes -vo mpegpes -vf expand,fame tuofile.ext
    

    Nota che le schede DVB supportano solo un'altezza di 288 o 576 per il PAL e 240 o 480 per NTSC. Devi ridimensionare se vuoi altre altezze aggiungendo scale=larghezza:altezza con le dimensioni desiderate all'opzione -vf. Le schede DVB accettano varie larghezze, come 720, 704, 640, 512, 480, 352 ecc e utilizzano il ridimensionamento hardware nella direzione orizzontale, quindi nella maggior parte dei casi non devi ridimensionare orizzontalmente. Per un DivX 512x384 (aspetto 4:3) prova:

      mplayer -ao mpegpes -vo mpegpes -vf scale=512:576,lavc
    

    Se hai un filmato widescreen e non vuoi ridimensionarlo a piena altezza, puoi usare il plugin expand=l:a per aggiungere delle bande nere. Per vedere un DivX 640x384, prova:

      mplayer -ao mpegpes -vo mpegpes -vf expand=640:576,lavc file.avi
    

    Se la tua CPU è troppo lenta per un DivX a dimensione intera 720x576, prova a ridurlo:

      mplayer -ao mpegpes -vo mpegpes -vf scale=352:576,lavc file.avi
    

    Se la velocità non aumenta, prova anche a ridurlo verticalmente:

      mplayer -ao mpegpes -vo mpegpes -vf scale=352:288,lavc file.avi
    

    Per l'OSD e i sottotitoli usa l'opzione OSD del filtro di espansione. Quindi, invece di expand=l:a o expand=l:a:x:y, usa expand=l:a:x:y:1 (il quinto parametro :1 alla fine abilita il rendering OSD). Potresti aver bisogno di spostare l'immagine un po' in alto per ottenere una zona nera più grande per i sottotitoli. Potresti anche voler spostare in alto i sottotitoli, se sono fuori dallo schermo della TV, usa l'opzione -subpos <0-100> per regolarli (-subpos 80 è una buona scelta).

    Per riprodurre filmati non a 25fps su una TV PAL o con una CPU lenta, aggiungi l'opzione -framedrop.

    Per mantenere le proporzioni dei file DivX e ottenere i parametri di ridimensionamento ottimali (ridimensionamento orizzontale in hardware e verticale in software mentre si conservano le giuste proporzioni), usa il nuovo filtro dvbscale:

    per TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1
    per TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1
    

    FUTURO

    Se hai domande o vuoi sentire gli annunci di nuove caratteristiche e prender parte alle discussioni su questo argomento, unisciti alla nostra mailing list MPlayer-DVB. Per favore ricorda che la lingua di questa lista è l'inglese.

    In futuro potresti aspettarti la possibilità di mostrare l'OSD e i sottotitoli usando la caratteristica OSD nativa delle schede DVB, e anche una riproduzione più fluente dei filmati non a 25fps e il transcoding in tempo reale tra MPEG2 e MPEG4 (decompressione parziale).

    2.3.1.3.2 DXR2

    DA FARE.

    2.3.1.3.3 DXR3/Hollywood+

    MPlayer supporta la riproduzione accelerata in hardware con le schede Creative DXR3 e Sigma Designs Hollywood Plus. Queste schede usano il chip di decodifica MPEG em8300 prodotto da Sigma Designs.

    Prima di tutto devi installare correttamente i driver DXR3/H+, versione 0.12.0 o successiva. I driver e le istruzioni per l'installazione si trovano sul sito DXR3 & Hollywood Plus per Linux. Lo script configure dovrebbe riconoscere automaticamente la tua scheda, la compilazione dovrebbe procedere senza problemi.

    UTILIZZO:

    -vo dxr3:prebuf:sync:norm=x:<device>
    overlay attiva l' overlay invece del TVOut. Necessita un supporto overlay corretamente configurato. Il modo più facile per configurarlo è di eseguire prima autocal. Quindi eseguire mplayer con l'output dxr3 senza l'overlay, e eseguire dxr3view. In dxr3view si possono regolare le impostazioni dell'overlay e vedere gli effetti in tempo reale, forse questa caratteristica verrà supportata dalla GUI di MPlayer GUI in futuro. Quando l'overlay sarà correttamente impostato non dovrai più usare dxr3view.
    prebuf attiva il prebuffering. Il prebuffering è una caratteristica del chip em8300 che gli consente di tenere più di un frame del video alla volta. Qusto significa che quando utilizzi il prebuffering MPlayer tenta di tenere sempre pieno il buffer video. Se sei su una macchina lenta probabilmente MPlayer userà circa o esattamente il 100% della CPU. Questa situazione è comune in particolare nella riproduzione di puri stream MPEG (come DVD, SVCD, ecc.) in quanto MPlayer non deve ricodificarli in MPEG e riempirà il buffer molto velocemente.
    Col prebuffering la riproduzione video è molto meno sensibile ad altri programmi che divorano la CPU, non scarterà alcun frame a meno che le altre applicazioni non carichino la CPU per un lungo periodo.
    Senza il prebuffering l' em8300 è molto più sensibile al carico della CPU load, quindi è caldamente consigliato usare l'opzione di MPlayer -framedrop per evitare ulteriori perdite di sincronia.
    sync attiva il nuovo metodo di sincronia. E' attualmente in fase sperimentale. Con questa opzione il clock interno dell' em8300 sarà continuamente monitorato, se comincia a deviare dal clock di MPlayer verrà resettato facendo sì che l' em8300 scarti i frame che sono rimasti indietro.
    norm=x imposta il norm della TV norm della scheda DXR3 senza la necessità di utility esterne come em8300setup. Norm valide sono 5 = NTSC, 4 = PAL-60, 3 = PAL. Norm speciali sono 2 (riconosce automaticamente PAL/PAL-60) e 1 (riconosce automaticamente PAL/NTSC) in quanto decidono quale norm usare controllando il frame rate del filmato. norm = 0 (default) non modifica il norm attuale.
    <device> = numero del dispositivo da usare se hai più di una scheda em8300.
    Queste opzioni possono tutte essere tralasciate. :prebuf:sync sembra andare benissimo per i DivX. Alcuni hanno segnalato problemi usando l'opzione prebuf con i normali MPEG. Prova prima senza queste opzioni, se hai problemi di sincronia o con i sottotitoli DVD prova ad usare :sync.
    -ao oss:/dev/em8300_ma-X
    Per l'output audio, dove X è il numero del dispositivo (0 se hai una sola scheda).
    -aop list=resample:fout=xxxxx
    L' em8300 non può riprodurre campioni con frequenza minore di 44100Hz. Se la frequenza di campionamento è sotto 44100Hz seleziona 44100Hz o 48000Hz a seconda di quale più si avvicina. Cioè se il filmato usa 22050Hz, allora usa 44100Hz dato che 44100 / 2 = 22050, se è a 24000Hz, usa 48000Hz dato che 48000 / 2 = 24000 e così via. Questo non funziona con output audio digitale (-ac hwac3).
    -vf lavc/fame
    Per vedere contenuti non-MPEG sul em8300 (cioè DivX o RealVideo) devi specificare un filtro video MPEG1 come libavcodec (lavc) o libfame (fame). Al momento lavc è più veloce che e ha una migliore qualità dell'immagine, suggeriamo di usarlo a meno che tu non riscontra problemi. Leggi la pagina di man per altre informazioni su -vf lavc/fame.
    Usare lavc è caldamente consigliato. Al momento non è possibile regolare l'fps dell' em8300 e ciò significa che è fisso a 29.97fps. Perciò si consiglia di usare -vf lavc=<qualità>:25, specialmente se usi il prebuffering. Quindi perchè 25 e non 29.97? Bhe, il fatto è che quando si usa 29.97 l'immagine saltella un po'. La ragione è a noi sconosciuta. Se lo si imposta a qualcosa tra 25 e 27 l'immagine si stabilizza. Per ora tutto quello che possiamo fare è accettarlo come un fatto.
    -vf expand=-1:-1:-1:-1:1,lavc
    Anche se il driver DXR3 può inserire degli OSD nei video MPEG1/2/4, ha una qualità molto minore dell'OSD di MPlayer, e ha anche alcuni problemi di refresh. La riga di comando scritta sopra prima converte il video in entrata in MPEG4 (questo è obbligatorio, spiacente), poi applica un filtro di espansione che in realtà non espande nulla (-1: default), ma applica il normale OSD sull'immagine (questo è quello che fa l' "1" alla fine).
    -ac hwac3
    L' em8300 supporta la riproduzione audio AC3 (suono surround) attraverso l'uscita audio digitale della scheda. Vedi l'opzione -ao oss sopra, deve essere usata per specificare l'output DXR3 al posto di una scheda sonora.

    2.3.1.4 Altro hardware di visualizzazione

    2.3.1.4.1 Zr

    Questo è un driver per la visualizzazione (-vo zr) per un certo numero di schede MJPEG di cattura/riproduzione (testato per DC10+ e Buz, e dovrebbe funzionare per LML33, DC10). Il driver funziona codificando il frame in jpeg e mandandolo poi alla scheda. Per la codifica jpeg è usato libavcodec, ed è quindi necessario. Con la speciale modalità cinerama, si possono guardare i film in vero wide screen se hai due beamer e due schede MJPEG. A seconda della risoluzione e delle impostazioni di qualità, questo driver può richiedere molta potenza di CPU, ricorda di specificare -framedrop se la tua macchina è troppo lenta. Nota: ill mio AMD K6-2 350MHz è abbastanza (con -framedrop) potente per vedere cose della dimensione dei VCD e film ridimensionati.

    Questo driver dialoga col driver del kernel disponibile a http://mjpeg.sourceforge.net, quindi devi far funzionare questo prima. La presenza di una scheda MJPEG è rilevata automaticamente dallo script configure; se l'autorilevamento non ha successo forzalo con

      ./configure --enable-zr
    

    L'output può essere controllato con varie opzioni, una descrizione completa si trova nella pagina man; per una descrizione breve eseguire

      mplayer -zrhelp
    

    Funzioni quali la scalatura o l'OSD non sono gestite dal driver, ma possono essere fatte tramite i filtri video. Ad esempio, supponi di avere un filmato con una risoluzione di 512x272 e vuoi vederlo a schermo intero sulla tua scheda DC10+. Ci sono essenzialmente tre possibilità: puoi riscalare il filmato con una larghezza di 768 o 384 o 192. Per ragioni di performance e qualità, io sceglierei di ridimensionare il filmato a 384x204 usando lo scalatore software con l'algoritmo bilineare veloce. La linea di comando è

      mplayer -vo zr -sws 0 -vf scale=384:204 movie.avi
    

    Il ritaglio (cropping) può essere fatto sia dal filtro crop che dal driver stesso. Supponi che un filmato sia troppo largo per essere visualizzato dalla tua scheda Buz e che vuoi usare -zrcrop per ridurne la larghezza; il comando da usare sarebbe

      mplayer -vo zr -zrcrop 720x320+80+0 benhur.avi
    
    se vuoi invece usare il filtro crop fai
      mplayer -vo zr -vf crop=720:320:80:0 benhur.avi
    

    Usando più di un'opzione -zrcrop si attiva la modalità cinerama, che permette di dividere l'immagine su più TV o proiettori (beamer), al fine di creare uno schermo più grande. Supponi di avere due proiettori. Quello di sinistra è collegato alla tua scheda Buz /dev/video1 e quello di destra alla tua scheda DC10+ /dev/video0. Il filmato ha risoluzione 704x288. Supponi anche di voler far funzionare il proiettore di destra in bianco e nero, e di avere su quello di sinistra immagini con qualità jpeg 10. Il comando da utilizzare sarebbe

      mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \
              -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 movie.avi
    

    Puoi notare che le opzioni che appaiono prima del secondo -zrcrop si riferiscono solo alla scheda DC10+ e quelle che lo seguono si applicano alla scheda Buz. Il numero massimo di schede utilizzabili con cinerama è quattro, quindi puoi construire un maxischermo 2x2.

    Per finire un avviso importante: non avviare o fermare XawTV sul dispositivo di riproduzione durante la stessa, bloccherà il tuo computer. Va comunque bene far partire PRIMA XawTV, e POI MPlayer, aspettare che MPlayer finisca e POI fermare XawTV.

    2.3.1.4.2 Blinkenlights

    Questo driver è in grado di usare il protocollo UPD Blinkenlights. Se non sai cosa sia Blinkenlights, non hai bisogno di questo driver.

    2.3.1.5. Supporto TV-out

    2.3.1.5.1. Schede Matrox G400

    Sotto Linux hai due modi per far funzionare l'output TV delle G400 :

    IMPORTANTE: per istruzioni sul supporto TV-out delle Matrox G450/G550) vedi la prossima sezione!

    Costruire un cavo TV-out Matrox

    Nessuno si assume alcuna responsabilità né fornisce alcuna garanzia per qualsiasi danno causato seguendo questa documentazione.

    Cavo per G400: Il quarto pin del connettore CRTC2 è il segnale video composito. Le masse sono il sesto, settimo e ottavo pin (informazioni fornite da Balázs Rácz).

    Cavo per G450: Il primo pin del connettore CRTC2 è il segnale video composito. Le masse sono il quinto, sesto, settimo e quindicesimo (5, 6, 7, 15) pin (informazioni fornite da Balázs Kerekes).

    2.3.1.5.2 Schede Matrox G450/G550

    Il supporto al TV output per queste schede è stato introdotto solo recentemente, e non è ancore ne kernel ufficiale. Al momento il modulo mga_vid non può essere usato AFAIK, perchè il driver G450/G550 funziona solo in una configurazione: il primo chip CRTC (con molte più caratteristiche) sul primo display (sul monitor), e il secondo CRTC (non BES - per una spiegazione del BES, vedi la sezione G400 sopra) sulla TV. Quindi al momento puoi usare solo il driver di output fbdev di MPlayer.

    Il primo CRTC non può essere indirizzato alla seconda uscita, al momento. L'autore del driver del kernel matroxfb - Petr Vandrovec - ne implementerà probabilmente il supportp, visualizzando l'output del primo CRTC su entrambe le uscite insieme, come attualmente raccomandato per la G400, vedi la sezione sopra.

    La patch del kernel necessaria e le istruzioni dettagliate sono scaricabili da http://www.bglug.ca/matrox_tvout/

    2.3.1.5.3. Schede ATI

    PREAMBOLO

    Attualmente ATI non vuole supportare nessuno dei suoi chip TV-out sotto Linux a causa della tecnologia sotto licenza della Macrovision che utilizzano.
    STATO DEL TV-OUT DELLE SCHEDE ATI SOTTO LINUX

    Con altre schede, usate semplicemente il driver VESA, senza Vidix. Però è necessaria una CPU potente.

    La sola cosa che devi fare - collegare la TV prima di avviare il PC in quanto il BIOS video viene inizializzato solo al momento della procedura di POST.

    2.3.1.5.4. Voodoo 3

    Controlla questa URL.

    2.3.1.5.5 nVidia

    Primo, DEVI scaricare i driver a sorgenti chiusi da http://nvidia.com. Non descriviamo il processo di installazione e configurazione perchè non rientra negli scopi di questa documentazione.

    Dopo che XFree86, XVideo, e l'accelerazione 3D funzionano correttamente, modifica la sezione Device della tua scheda nel file XF86Config, riferendoti al seguente esempio (adattalo per la tua scheda/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
    

    Naturalmente la perte importante è quella del TwinView.