TV-Out na Matrox G400 DualHead

Vlada Macek tuttle na sandbox.cz
Neděle Duben 2 11:00:24 CEST 2006


Sen:

    Xka na monitoru pro normalni praci, nezavisly vystup videa vc.
    titulku na druhem konektoru do televize. Je to vubec technicky
    mozne? Pokud ano, jak jste toho dosahli?

Konfigurace:

    Matrox G400 DualHead, Debian Sarge jadro 2.6.8-2-686 z balicku, Xka
    1600x1200, D: 229.516 MHz, H: 106.257 kHz, V: 85.006 Hz

Situace:

Zatim jsem ve stavu, kdy mi TV-Out mi "nejak funguje". Pri bootu delam:

    mknod /dev/mga_vid c 178 0  
    chown root:video /dev/mga_vid
    chmod 0660 /dev/mga_vid  

    modprobe mga_vid
    modprobe i2c-matroxfb
    modprobe matroxfb_maven
    modprobe matroxfb_crtc2

Coz mi z konzole udela pokazde  jinou zmet barevnych bodu, takze zivorim
v Xkach bez moznosti konzole. Pomoci prilozeneho skriptu poustim filmy.

Ten skript jsem vydestiloval z ruznych navodu na netu a ze skriptu ve
zdrojacich mplayeru. Pomoci -vf expand=0:x:0:y nastavuju hodnoty pro
kazdy film tak, abych nemel kolem filmu rozhazene smeti, jen cerne pruhy.

Po skonceni filmu zustane video v Xkach v nejakem divnem stavu a musim
nekolikrat prepnout CtrlAlt+-. Pak musim vynutit prekresleni aplikaci,
abych zrusil pozustatky, ktere samy uplne nezmizi.

Jak jiste uznate, je to znacne neprakticke. Je mozne dosahnout
prehravani videa na druhem vystupu karty za soucasneho zcela nezavisleho
fungovani v Xkach? To by bylo idealni. Ocenim vsak i prispevky k me
soucasne situaci, jak ji zlepsit.

Diky predem za rady!

-- 

\//\/\
(Sometimes credited as 1494 F8DD 6379 4CD7 E7E3 1FC9 D750 4243 1F05 9424.)

 [ When you find a virus in mail from me, then I intended to infect you, ]
 [ since I use SW that is not distributing malware w/o my knowledge.     ]



------------- další část ---------------
#!/bin/bash

function tv_on
{
#	chvt 2
#	sleep 2
#	chvt 1

	matroxset -f /dev/fb0 -m 0		# this disconnects fb0 from outputs
	matroxset -f /dev/fb1 -m 0		# this disconnects fb0 from outputs
	matroxset -f /dev/fb0 -m 3		# this connects fb0 to both outputs
	matroxset -f /dev/fb0 -o 1 1	# this sets fb0 to PAL output

#/home/tuttle/bin/matroxold/con2fb /dev/fb0 /dev/tty1
#/home/tuttle/bin/matroxold/con2fb /dev/fb0 /dev/tty2

	#/usr/sbin/fbset -fb /dev/fb0 -xres 800 -yres 600
	/usr/sbin/fbset -fb /dev/fb0 -a -depth 32 -left 60 -right 0 -upper 70 -lower 39 -hslen 76 -vslen 4 -xres 640 -yres 512 -bcast true -laced false

	/usr/sbin/fbset -g 832 768 832 768 32 -t 20203 40 0 63 29 56 4 -bcast true

	matrox 0x1e 0xd0
		#Contrast
	matrox 0x20 0xff
		#Saturation
	matrox 0x22 0xff
		#Hue
	matrox 0x25 0xf0
		#Brightness
	matrox 0x0e 0x38

	setterm -cursor off
	setterm -blank 0 -powerdown 0
	setterm -foreground black
	clear

	trap "" EXIT

}

function tv_off
{
	echo -e \\7

	matroxset -f /dev/fb0 -m 0
	matroxset -f /dev/fb1 -m 0
	matroxset -f /dev/fb0 -m 1
	matroxset -f /dev/fb0 -o 0 128
	#/usr/sbin/fbset -fb /dev/fb0 640x480-60

    setterm -cursor on
    setterm -blank 10 -powerdown 50
    setterm -foreground white

	chvt 7
}

trap tv_off EXIT

tv_on

#mplayer -vo mga -zoom -fs "$@" 2>&1 >/tmp/tv.printout

#mplayer -vo mga -zoom -vf expand=0:-177:0:60 -fs "$@" 2>&1 >/tmp/tv.printout
mplayer -vo mga -zoom -vf expand=0:-130:0:75 -fs "$@" 2>&1 >/tmp/tv.printout

tv_off


Další informace o konferenci Linux