Getting TV out to work on ATI 9250 video card with opensuse 11.3 HELP!?

How do I get the s-video out to work. I have a Visiontek Xtasy Radeon 9250 128mb Pci Video Card and OpenSUSE 11.3. I attempted to install the ATI drivers and doesn’t really seem to work at all… With the default install i get flickering and black and white output on my TV and it calls my tv “uknown monitor” in the video card settings. I had wanted to setup a spare computer to output multimedia to my TV in addition to being a home server…

I am surprised that no-one else has responded considering how long it has been since your original post. This may be partly due to recent huge changes in the X Window System and badly lagging documentation. This means that a lot of detective work is needed to find answers and mistakes are guaranteed. However I’m willing to take a risk and attempt a reply.

The wording of your post implies that:

  1. You are using the default install open source radeon driver with openSUSE 11.3.
  2. You are using KMS (also read /usr/share/doc/release-notes/openSUSE/RELEASE-NOTES.en.html#05).
  3. You have not created an /etc/X11/xorg.conf](http://www.freebsd.org/doc/handbook/x-config.html) file.

Notes

  • The above hyperlinks are useful in a glossary context but not all of the information is up to date or relevant.
  • The open source radeon driver limits the maximum s-video resolution to 800x600.

Fingers crossed that the procedure described below will work for you too since our GPU’s appear to be reasonably similar. This procedure successfully enabled s-video TVout for a Radeon 9600 AS (AGP) under openSUSE 11.3.

Procedure

Open a text editor such as Kwrite(KDE) or Gedit(Gnome) + enter the following lines (leaving out the # comments):

xrandr --addmode S-video 800x600
xrandr --output S-video --mode 800x600
xrandr --output S-video --off # a linux forum has suggested that tv standard can't be changed whilst S-video is on
xrandr --output S-video --set "tv standard" pal-i
xrandr --output S-video --set "load detection" 1
xrandr --output S-video --auto # this turns S-video back on

Please note pal-i works as the “tv standard” type for the UK.
If you live in any other country, the best I can suggest is to refer to:

  1. Thinkwiki
  2. nVidia

(I’ve looked hard but these are the most useful sources I could find)
then choose the “value” to follow “tv standard” corresponding to your country (note that the syntax for “tv standard” and “load detection” was deduced from the KMS section of the Thinkwiki hyperlink and confirmed by trial and error (also read the sturmey (Guest) comment in this Ubuntu blog).
If the values from the two sources disagree then decide which values work via trial + error.
Now save the file to /home/substitute-actual-username-here/bin/tvsetup and close it.

Next create 2 more files as shown (leaving out the # comments):

xrandr --output S-video --set "load detection" 1 # "load detection" format was deduced from a working line in "tvsetup"
# Current xrandr documentation is poor and out of date so determining the parameter format which works was difficult.
xrandr --output VGA-0 --mode 800x600 --output S-video --mode 800x600 --same-as VGA-0 # this clones screens at 800x600
# If you do not have a VGA default monitor you will have to substitute VGA-0 with the appropriate term.
# You can determine the appropriate term by opening a terminal and typing just xrandr or xrandr -q.
# xrandr reported that my default monitor device identifier was VGA-0 e.g.
#     Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
#     VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 268mm x 198mm
#        1024x768       85.0*+   85.0     70.1     60.0  
#        1280x960       60.0  
#        800x600        60.3  
#        640x480        85.0     60.0  
#        720x400        70.1  
#     DVI-0 disconnected (normal left inverted right x axis y axis)
#     S-video connected (normal left inverted right x axis y axis)
#        800x600        59.9 +
#        640x480        59.9

…and save this to /home/substitute-actual-username-here/bin/tvon.

xrandr --output S-video --off # (this line switches off s-video output) 
xrandr --output VGA-0 --auto # (this line switches my VGA monitor to its preferred mode)
# If you do not have a VGA default monitor you will have to sustitute VGA-0 with the appropriate term.
# You can determine the appropriate term by opening a terminal and typing just xrandr or xrandr -q.
# In the example below (after running tvsetup), xrandr reported that my default monitor device identifier was VGA-0.
#     Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
#     VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 268mm x 198mm
#        1024x768       85.0*+   85.0     70.1     60.0  
#        1280x960       60.0  
#        800x600        60.3  
#        640x480        85.0     60.0  
#        720x400        70.1  
#     DVI-0 disconnected (normal left inverted right x axis y axis)
#     S-video connected (normal left inverted right x axis y axis)
#        800x600        59.9 +
#        640x480        59.9

…and save this to /home/substitute-actual-username-here/bin/tvoff.

To make the 3 scripts executable, open a terminal and enter the following commands (su -c or sudo is redundant where chmod operates on user owned files):


cd bin
chmod +x tvsetup
chmod +x tvon
chmod +x tvoff

Apparently you only need to execute the setup script once. Execute tvon and tvoff as needed. Your /home/user/bin directory is included in the search path for user terminal commands so after opening a terminal, simply enter one of the new commands tvsetup, tvon or tvon to execute the relevant script.

Final notes

  1. If your primary monitor’s default resolution is unsatisfactory you could replace tvoff’s --auto parameter to explicitly define the resolution you want restored e.g. --mode 1024x768.
  2. To change the default resolution permanently you probably need to create + configure an /etc/X11/xorg.conf file (I have done this). However the xrandr commands described here should get your graphics card’s s-video working so I would prefer to leave the xorg.conf can of worms closed. If you prefer to open the can, don’t blame me.
  3. (To anybody) If you spot any mistakes or something misleading, please contribute your wisdom.

Terry.

I have a similar problem. Since the upgrade i have to choose between s-video and my laptop screen

I will try out your scripts tonight and see if it will work
(and see if i can post back smoething more tweakfriendly version)

Since you did not mention what make/model of laptop/gpu you have, I advise you to first check that your gpu is supported by the open source “radeon” driver with the terminal command

man radeon

and make sure that your gpu is listed in the Supported Hardware section. If it isn’t listed I have no idea whether the procedure described in my previous post will work for you. I have not investigated proprietary drivers but the scripts won’t work with the open source radeonhd driver since this does not support TV out e.g

man radeonhd

Since you have a laptop the main display descriptor in the scripts “tvon” and tvoff" will need to be changed from “VGA-0” to “LVDS” or a similar term. My comments in the “tvon” and “tvoff” code boxes in my previous post described how to identify the correct term to use via a terminal e.g.

xrandr -q

If your customised scripts work as expected, you could streamline things even further by creating launcher icons for each script: Just right mouse click on the desktop and the rest is obvious.
Hopefully these tips might help a bit before you start testing.
Terry.

Great Scripts! Thank-you.

Works well on Toshiba Satellite laptop (ATI X1200) with Opensuse 11.3. I made the suggested mods for a laptop.