Announcement

Collapse
No announcement yet.

Open-Source ATI Driver Gets TV-Out

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • phoronix
    started a topic Open-Source ATI Driver Gets TV-Out

    Open-Source ATI Driver Gets TV-Out

    Phoronix: Open-Source ATI Driver Gets TV-Out

    Thanks to recent commits in the RandR 1.2 branch for the open-source X.Org Radeon driver, it's now possible to use S-Video and composite TV output on your ATI graphics card without any patches. This is not limited to the R200 series but will also work with the R300 series and theoretically any graphics card supported by the xf86-video-ati driver. In this guide have outlined the instructions for enabling TV output support from the Radeon driver git code as well as some of the current limitations.

    http://www.phoronix.com/vr.php?view=10814

  • gzahl
    replied
    Well i didnt see the output with fglrx - just installed for my "windows" friend ubuntu.
    I'll try ntsc and pal commands these days, see what it can help.

    I have the script in the bootup sequence, but if it does not work reliably it doesnt help a lot.

    Is there any chance that we track down the problem in the driver? I have no experience in driver hacking, but C/C++ knowledge, but i am short in time atm. Maybe when my exams are done in 1-2 months.

    Kind regards
    Manuel

    Leave a comment:


  • xeros
    replied
    I'm glad to hear that it worked for you and I'm not the only one who has such problem.

    With this garbage on the screen take a look at the 'xrandr --output S-video --set tv_standard pal' and '... ntsc' commands. I would suggets you try both commands after you see 'something' on the TV screen.

    I've got sometimes good PAL sometimes good NTSC S-video output but I haven't get both working (I didn't try to wait longer for both signals to work).
    But now with that simple script I get allways any signal on my TV in less than 5 minutes (for me it's not a matter if it's NTSC or PAL).

    But be carefull - I don't know if it wont damage your card, TV or monitor (driver/hardware gurus should tell if it's safe or not, I don't know). It's changing settings as fast as your computer can. I allways switch off monitor for the time I use this script.

    Edit:
    And about fglrx you're right - it wont work on ours cards in Karmic.

    And for HTPC... I would suggest to make some changes to the script. If it could be possible to get somekind of signal if the TV output is OK or not it would be simple to make it work out of the box in Ubuntu starting sequence.
    But for now I haven't found anything to check it from the software.
    Btw. have you noticed that the TV output (colors. contrast, sharp image,...) is better in this open source driver than it was in fglrx before? :-)
    If our problem could be traced at the software/driver side then driver developers could fix or make a workaround for our problem.
    Last edited by xeros; 01-23-2010, 04:09 PM.

    Leave a comment:


  • gzahl
    replied
    Hi,

    I tested your script and it worked for me at first. Thanks a lot . It is the first time i got an image on the S-Video. I have a R350, i think. Well it is the PC of a friend.

    After 2 or 3 reboot, where it worked, it stopped working and i just get a disturbed image which is flickering and unreadable.

    But it does work, when i am booting or shutdown the PC at usplash and the BIOS Screens.

    Any news about this bug? Would be very nice, if this could work, because it is a HTPC.

    I didnt tested fglrx. because there is no version for Ubuntu Karmic and R350, right?

    Cheers

    Manuel

    Leave a comment:


  • xeros
    replied
    I've done some more testing with xrandr commands and now I know my problem is connected to pal/ntsc tv_standard changing.

    With commands (in script):
    Code:
    xrandr --output S-video --set load_detection 1
    xrandr --output S-video --auto
    xrandr --output S-video --mode 800x600
    xrandr --output S-video --set tv_standard pal
    xrandr --output S-video --crtc 1
    xrandr --output S-video --same-as DVI-0
    for i in `seq 1000`; do xrandr --output S-video --set tv_standard pal; xrandr --output S-video --set tv_standard ntsc; done
    I get proper PAL signal after 2-3 minutes (tested 3 times with switching PC off/on and cutting the power between tests).
    Of course I'm switching off my monitor for this because of these very quick mode changes (even on monitor) with changing TV standards.

    Before that I've tried:
    Code:
    xrandr --output S-video --set load_detection 1
    xrandr --output S-video --auto
    xrandr --output S-video --mode 800x600
    xrandr --output S-video --set tv_standard pal
    for i in `seq 1000`
    do
            xrandr --output S-video --set load_detection 1
            xrandr --output S-video --crtc 1
            xrandr --output S-video --same-as DVI-0
            sleep 1
            xrandr --output S-video --set load_detection 0
            sleep 1
    
    done
    to check if I can get the proper S-video output without need of mode changes of my monitor (connected to DVI-0) in time when TV output is switching but that didn't worked (I've been waiting more than an hour - maybe 1:30h, and I've run it three times in that time).

    What do you think about it? Is it a hardware error or driver bug? Does anyone here use S-video output from R300 card to confirm it?

    Leave a comment:


  • xeros
    replied
    The workaround for enabling S-video ouput works quite well (taking from few minuts to one hour of xrandr commands in the loop to enable it) but I've found now that it might be something with the 'ntsc' and 'pal' standards controlled by xrandr (or maybe other commands, too). My TV (28" Daewoo CRT) supports both NTSC and PAL and before yesterday I had PAL signal (with that workaround) but I couldn't get NTSC signal and from yesterday I might get NTSC but not PAL (when I do "xrandr --output S-video --set tv_standard ntsc"). The difference in video on TV is that before yesterday I've got black and white screen on AV2 option in TV and color screen on SVHS2 option (both options are for the same second Euro/Scart connection which supports S-video). From yesterday I've got proper color screen on both AV2 and SVHS2 TV options. Is there a way to check card enabled modes(?) other than xrandr? Maybe reading some registers? It all looks that driver thinks that card has enabled some mode for S-video but it really didn't do it.

    Edit:
    I've checked driver and kernel version but it didn't change from the ones I've post before.
    Last edited by xeros; 12-03-2009, 04:40 PM.

    Leave a comment:


  • xeros
    replied
    No, it doesn't help either. I'm using KDE 4.3.3 with KWin desktop effects [OT: I'd like to say desktop effects on yours open source driver work a LOT better than in binary FGLRX driver before they dropped support for R300-R500 or even binary Nvidia drivers on other hardware - more FPS and less FPS drop on using effects] but it doesn't matter if it's enabled or disabled it's the same issue (I'm using shortcut ALT+Shift+F12 do enable or disable them).
    I'm "enabling" S-video output by this workaround loop with xrandr commands separated by 1s sleep time and I get proper output after 30-60 minutes. After it gets proper output it's working even after reboot (by both using shutdown/reboot, ALT+SysRq[S,U,B], or even hardware reset switch) - it's not enabled at BIOS or boot time but just once enabling by xrandr it's working. The problem gets back after I cut of power to computer after shutdown (even for few seconds). Could it be driver or hardware problem?

    Edit:
    I thought about connecting S-video to the other card in my PC (Radeon X300SE PCI-E (RV370)) to check if it's software/driver problem but unfortunately it has only composite RCA output. If this test could be useful after all I could get a cable to connect it to TV card composite input.
    Last edited by xeros; 11-20-2009, 03:16 AM.

    Leave a comment:


  • agd5f
    replied
    If you are using a compositor like compiz does disabling it help?

    Leave a comment:


  • xeros
    replied
    Yes, it's the xrandr in the loop!
    I've get by running:
    Code:
    for i in `seq 100`; do ./tvout-wlacz.sh; sleep 3; ./tvout-wylacz.sh; sleep 3; done
    The "tvout-wlacz.sh" script is the one I've post here before for enabling tvout and "tvout-wylacz.sh" is for disabling load_detection and changing DVI-0 mode to 1280x1024 (my LCD native resolution):
    Code:
    #!/bin/bash
    xrandr --output S-video --set load_detection 0
    xrandr --output DVI-0 --mode 1280x1024
    I've been running tvtime all the time loop was working. After few flickers I've get S-video output signal in tvtime window.

    Edit:
    Xorg.0.log.bz2 taken just after the S-video has put the right signal.
    Does it look as the driver bug? How can I trace it? I've been even thought that the S-video card connector was broken but it's not - I've been switching cables and the signal is still there (on TV and TV card, too).

    Edit2:
    Now (as I have S-video signal) I can change resolution on DVI-0 and even change refresh on S-video (default 800x600 with 59.9Hz got just after set load_detection=1 works just like the manually inserted modeline for 50Hz).
    Too bad, "dmesg", "Xorg.0.log" and "xrandr" doesn't say anything special when there's the proper S-video signal.

    Edit3:
    Just like before - S-video works even after reboot but if I turn off PC and switch off power then it doesn't work. Now after few hundred times the loop has worked before I've get proper S-video signal (loop with changing tv_standard, resolution, refresh rate, --auto, --same-as, and even --off) - it took ~35-40 minutes (with one reboot before next loop run).
    I thought it might be a workaround for now but it seems it's not. There has to be something different.
    Last edited by xeros; 11-17-2009, 05:40 PM.

    Leave a comment:


  • xeros
    replied
    I apreciate for yours suggestions but it didn't help.

    Now I'm getting 800x600 on DVI-0 even at KDM (I can change resolution by xrandr) and S-video is forced on but the display on S-video is as before but it looks like it sends "something" through S-video:


    It's picture taken from LCD monitor with tvtime getting S-video signal from TV card. The cards (Video and TV) are connected with (~50cm length) S-video <-> S-video cable (4 pin (luminecity and chromacity) + ground).
    The picture on TV is the same, but there is 10m lenght S-video <-> S-video cable connected to S-video <-> EURO(Scart) at TV side and it's connected to the Scart input which supports S-video in signal (I was having color PAL signal there from my Radeon 9600 card).

    Any thoughts?

    Edit:
    Maybe it worked because I've been trying many times to change TV standard, resolution, refresh... (even 'xrandr' commands in 'for i in `seq ...`' loop in bash to check if it's really changing something)?
    Both NTSC and PAL standards are changing but both are something like of of sync(?) like on the pictures above.
    Last edited by xeros; 11-17-2009, 03:59 PM.

    Leave a comment:

Working...
X