TV-Out
Contents |
Introduction
This howto covers the useability of the TV-out functions of modern display adapters. The article is a stub, and does not yet cover all areas. Actually it doesn't even cover xorg yet, just the framebuffer. Everyone who can, please fill in the blanks. I'm battling with TV-out myself at the moment with Radeon 9250, and wikifying my efforts as I go. Thanks.
TV-out can be done in many ways, so introducing all of them and giving clear explanations for them all is the target here. Also some technical information about the differences between the CRT and plasma televisions and the CRT and TFT monitors in general would be very good.
Connection types
Most likely you're going to connect from S-Video output to SCART input. The hardware costs about 10 €, and the quality isn't too great but acceptable. As I compare the DVB input at the television from the antenna to the DVB stream looped through the computer (DVB-PCI and an ATI S-Video chip, to SVIDEO input on the TV), there is a noticeable difference in quality.
S-Video
The small round connector has two separate video signals, one carrying brightness (luminance), the other carrying color (chroma). Also referred to as Y/C video. Audio is not carried on this cable.
The most common connection type on modern display adapters is the S-Video mini-DIN socket. The advantage of S-Video over RGB is that the cables and connectors are cheap and easy to find. Using S-Video is recommended if your TV supports it, because the quality is visibly superior to composite.
There are two disadvantages of using this feature instead of RGB. The first is that most of the cards on the market now have rather poor quality TV-out. The second is that TV-out is an area that is neglected by the xorg developers (at least up to 6.8.2), leaving TV-out up to proprietary drivers and individual driver projects.
Composite video
The most common form of connecting common electronic devices (such as digital cameras) into television, putting all the video information into one signal. Most televisions provide this option with a yellow RCA jack. Audio is not carried on this cable, though two separate cables with similar red and white RCA jacks for right and left line-level audio are commonly bonded to composite video cables. If you do not have a composite out on your card or you did not get a separate composite cable use the s-video to rgb cable. Most likely the composite signal will be on the blue cable
Component video
Three separate RCA jacks (colored red, green and blue) carry three video signals, one luminance (brightness) and two chrominance signals (color information), and is usually referred to as "Y, B-Y, R-Y", YPbPr or YUV. Audio is not carried on this cable. This connection provides for picture quality superior to S-Video and is typically used in home theater for DVDs, satellite and analogue HDTV; less common in Europe but is starting to become more widely available.
SCART
SCART has been standard in Europe since mid-1980s for all consumer electronics, which meant that RGBS was available on even the earliest PAL DVD players and satellite receivers. Japan uses a 21 pin RGB connector which is visually similar to SCART but with different pin configurations. The large 21 pin connector may carry:
- one video signal composite video;
- or two video signals S-Video;
- or for picture quality similar to component video, three signals of separate red, green and blue or RGB;
- or for best picture quality, four video signals of separate red, green, blue and sync or RGBS;
- plus right and left line-level audio channels;
- along with a number of control signals including an aspect-ratio flag (e.g. widescreen).
Framebuffer
Using the framebuffer isn't a very clean solution if there are people in your house who can't or won't use the command line to play movie clips and pictures. However, it is the easiest solution, if it works in the first place. The downside is that many video filters (-vf options) are not supported.
You need to enable framebuffer support for the console in the kernel. Refer to Framebuffer.
Attach the output cable into the TV set, and boot up the computer. Some BIOSes can recognize the television and set the correct aspect ratio. Unfortunately my TFT monitor remains blank while using TV.
A possible solution to this would probably be fbset. Try it out.
Mplayer does the job of playing video clips just fine. It needs a framebuffer driver, and for my purposes DirectFB did the best job. The lengthy man mplayer gives several options for -vo switch. fbdev, fbdev2, directfb and vidix seem to be the best options. Compile mplayer and dependencies with the directfb USE flag. Then operate the player with -vo switch:
mplayer /path/to/file.mpeg -vo directfb
The mpeg plays on tty7, and you can pause and stop it from the tty you started it from by pressing CTRL-ALT-Fx where x is the number of the tty. For more information, look at MPlayer/Framebuffer.
In a similar fashion it is possible to view graphics on the TV with fbi / fbida. The program has several nice options, but unfortunately does not support autozoom (like feh -FZ does). The alternative is to use fbv, which unfortunately does not respect colors.
# emerge fbi $ fbi /path/to/files/*
X configuration
Many people, who have got the TV-out to function are surprised when the video overlay only works on one monitor at a time. Most display adapters only have one head for overlay, so you need to specify this head to output to the TV. Usually this is screen0. Newer Ati-drivers also have an option to play video overlay on screen1.
ATI open-source driver (Radeon)
For Radeon 8500 and newer cards#ATI-proprietary-drivers may be easier to set up than Ati-Gatos, because GATOS under development only.
There is no official support in the Xorg-7.1 (xf86-video-ati-6.6.3), however you can try to enable it youself with the follow patch http://bugs.gentoo.org/show_bug.cgi?id=127642 (based on gatos project) and configuration, unless you have a R300+ (9100IGP for example) card wich they do not work at the moment:
| Code: xorg.conf |
Section "Device"
Identifier "RADEON-TVOut"
Driver "radeon"
Option "AGPMode" "4"
Option "AGPFastWrite" "yes"
Option "TVOutput" "PAL"
Option "IgnoreEDID" "true"
Option "MonitorLayout" "NONE, CRT" #here it is!
EndSection
Section "Monitor"
Identifier "TV Monitor"
HorizSync 30.0 - 40.0
VertRefresh 60
Modeline "800x600" 40.00 800 840 968 1056 600 601 605 628
EndSection
Section "Screen"
Identifier "TV Screen"
Device "RADEON-TVOut"
Monitor "TV Monitor"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
EndSection
|
The patch for 'radeon' open source driver bundled with xorg-6.x
can be found here:
http://shell.world-net.co.nz/~knightw/tvout/
The patch for xorg-7 has been also found (but not tested) there: http://shell.world-net.co.nz/~knightw/tvout/7/
http://shell.world-net.co.nz/~knightw/tvout/
Gatos drivers
ATI-Gatos is a project to provide extra drivers for xorg-x11 to make use of the multimedia functionality of ATI cards. Gatos is lagging behind the opensource 'radeon' driver in its support for the latest chipsets, though. Getting it installed, especially for TV-out, looks a little daunting, but is simple enough given a recipe.
TV-out is only available in one of GATOS' CVS branches, so make sure you also have CVS installed and run these commands:
cvs -d:pserver:anonymous@gatos.cvs.sourceforge.net:/cvsroot/gatos login cvs -z3 -d:pserver:anonymous@gatos.cvs.sourceforge.net:/cvsroot/gatos co -r tv_output ati.2
Just press Return when the first command asks for a password. To build it when it's finished downloading run:
xmkmf /usr/X11R6/bin/tree make ; make install
- I get an error with the above line. - Jan 2006.
Configure GATOS' TV-out in xorg.conf. Use the radeon driver in the Device section as usual, but add this line:
Option "TVOutput" "PAL"
Other valid settings in place of PAL are NTSC, NTSC-J, PAL-CN, PAL-M, PAL-N or PAL-60. Use a resolution of 800x600 (recommended) and/or 640x480 in the Screen section.
ATI-opensource-driver (>= 6.7.191)
As of version 6.7.191, the GATOS code was re-licensed and integrated into the driver (more info here).
Generally the following should work out of the box:
xrandr --addmode S-video 800x600 xrandr --output S-video --mode 800x600
For a Radeon 9000, issuing the following commands works:
xrandr --output S-video --set load_detection 1 xrandr --output S-video --auto
Note that the default TV standard appears to be NTSC, so if you need PAL you must either add this line to the "Device" section in your xorg.conf:
Option "TVStandard" "pal"
Or run the following command before activating TV-Out:
xrandr --output S-video --set tv_standard pal
ATI-proprietary-drivers
Please refer to the ATI Drivers HOWTO for setting up the proprietary drivers.
The latest drivers incorporate both /opt/ati/bin/fglrxconfig and /opt/ati/bin/aticonfig. The former makes a brand new xorg.conf and the latter modifies an existing file. Backup your working xorg.conf, close xorg and from console run aticonfig. An example:
cd /etc/X11 cp xorg.conf xorg.conf.radeon /opt/ati/bin/aticonfig --initial=dual-head --tvf=<TV standard> --tvs=VIDEO --hsync2=<TV hsync> --vrefresh2=<TV vrefresh> --iagp=off --agpl=off --ovon=1 -v cat xorg.conf.radeon >> xorg.conf nano xorg.conf
That creates a good starting point for creating your final xorg.conf. run aticonfig for full list of options. You need to specify the TV standard (see bottom of this page) as well as the hsync and vrefresh for the television.
Please continue this article if you've got a working TV-out on xorg. See the talk pages. -Ruxpin
To make TV-output working make sure that the second monitor has been added as bellow:
Section "Monitor"
Identifier "Monitor1"
HorizSync 30-81
VertRefresh 56-88
EndSection
Section "Device" Identifier "ATI Graphics Adapter connector 0" Driver "fglrx" .. # === TV-out Management === Option "NoTV" "no" Option "TVFormat" "NTSC-M" Option "TVStandard" "PAL-D" Option "TVHSizeAdj" "0" Option "TVVSizeAdj" "0" Option "TVHPosAdj" "0" Option "TVVPosAdj" "0" Option "TVHStartAdj" "0" Option "TVColorAdj" "0" Option "GammaCorrectionI" "0x06419064" Option "GammaCorrectionII" "0x07d1905b" ... EndSection
Section "Device" Identifier "ATI Graphics Adapter connector 1" Driver "fglrx" BusID "PCI:1:0:0" Screen 1 EndSection
Section "Screen"
Identifier "Screen1"
Device "ATI Graphics Adapter connector 1"
Monitor "Monitor1"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0 # initial origin if mode is smaller than desktop
EndSubsection
EndSection
Section "ServerLayout" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" LeftOf "Screen0" EndSection
nVidia
See TV-Out with GeForce
Also see HOWTO Separate x-screens on Monitor and TV
Intel GMA
See this HowTo.
TV standards
The value of TV standard should be adjusted to your region.
| PAL-B | used in Australia, Belgium, Denmark, Finland, Germany, Greece, Guinea, Hong Kong, India, Indonesia, Italy, Malaysia, The Netherlands, Norway, Portugal, Singapore, Spain, Sweden, Switzerland ,Thailand and Turkey. |
| PAL-D | used in China and North Korea |
| PAL-G | used in Australia, Denmark, Finland, Germany, Italy, Malaysia, The Netherlands, Norway, Portugal, Spain, Sweden and Switzerland. |
| PAL-H | used in Belgium |
| PAL-I | used in Hong Kong, The United Kingdom, Ireland, Macua, Falklands, Angola, Lesotho, Namibia, Tristan da Cunha and South Africa |
| PAL-K1 | used in Guinea |
| PAL-M | used in Brazil |
| PAL-N | used in France, Paraguay, and Uruguay |
| PAL-NC | used in Argentina |
| NTSC-J | used in Japan |
| NTSC-M | used in Canada, Chile, Colombia, Costa Rica, Ecuador, Haiti, Honduras, Mexico, Panama, Puerto Rico, South Korea, Taiwan, United States of America, and Venezuela |
See also
- DMCA problems Commercial Link
- VGA to RGB SCART Direct Drive with ATi Radeon 7500 / 8500 / 9x00
- VGA to TV for RADEONs
- Television at Wikipedia
- http://www.realh.co.uk/linux_tv_howto/index.html
- TV-Out for video applications under linux
- TV-Out with GeForce
- HOWTO Setup MythTV
- Gatos tv_output for Xorg
- Mplayer documentation
Created by NickStallman.net, Luxury Homes Australia
Real estate agents should be using interactive floor plans and list their apartments, townhouses and units.
