HOWTO: NVIDIA TV-OUT for Newbies
This guide works on Ubuntu Breezy and Ubuntu Dapper. Now it works also with driver 8762
NOTE: this guide has been translated into German by cfBuba:
http://www.ubuntu-forum.de/thread.php?threadid=13096
This guide is inspired to Promethe's, who I really want to thank because I have managed to get my TV-OUT to work thanks to his guide: HOWTO: TV-out in Hoary (nVidia?)
My guide is aimed at newbies who want to enable the TV-OUT port of their Nvidia graphic card. It works ONLY if you have a Nvidia card and it requires the Nvidia proprietary drivers.
If you need a guide to the installation of the Nvidia drivers your can try mine:
Guide for Breezy
Guide for Dapper
If you have problems with the resolution of your main Monitor: HOWTO: change resolution/refresh rate in Xorg
Make a backup of your xorg.conf
Code:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
.
Edit your xorg.conf
If you use GNOME
Code:
sudo gedit /etc/X11/xorg.conf
OR if you use KDE
Code:
sudo kedit /etc/X11/xorg.conf
OR (this will work on every graphical interface)
Code:
sudo nano /etc/X11/xorg.conf
Get to the “Monitor” section and change the name (i.e. the identifier) of your current monitor to “Monitor[0]” and make it look like the following example:
Before:
Code:
Section "Monitor"
Identifier "AL1715"
Option "DPMS"
EndSection
After:
Code:
Section "Monitor"
Identifier "Monitor[0]" #CRT
Option "DPMS"
HorizSync 31.5-80
VertRefresh 56.3-75
EndSection
In my case the monitor had been detected by Ubuntu as "AL1715" therefore no refresh parameters were set (because that name corresponded to a particular profile)
If your monitor already has the its HorizSync and VertRefresh leave them as they are.
If it doesn't have them then you will have to put them manually as in the previous example (you can find the frequencies of vertical and horizontal refresh for your monitor in its manual or on the internet, in the website of its manufacturer)
Now you have to add your TV as the second monitor. You have to add the following lines under the section of the 1st monitor.
Code:
Section "Monitor"
Identifier "Monitor[1]" #TV
HorizSync 30-50
VertRefresh 60
EndSection
If you wish, you can change the HorizSync and VertRefresh, but those values should work fine on most new TVs.
Get to the "Device" section.
Now you have to change the name (i.e. the identifier) of your primary device (i.e. your graphic card) to "Device[0]" and add the parameter “screen 0” as in the (2nd) example:
Before:
Code:
Section "Device"
Identifier "NVIDIA Corporation NV34 [GeForce FX 5500]"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
After:
Code:
Section "Device"
Identifier "Device[0]"
Driver "nvidia"
BusID "PCI:1:0:0"
screen 0
EndSection
Now you have to add the TV-OUT as a device below your Device[0] and add all the options listed below. Make it look EXACTLY like this example:
Code:
Section "Device"
Driver "nvidia"
Identifier "Device[1]"
Screen 1
Option "TVOutFormat" "Composite" #or SVIDEO etc
Option "TVStandard" "PAL-G" #or NTSC etc
Option "ConnectedMonitor" "Monitor[1]"
BusID "PCI:1:0:0" #adjust using 'lspci' or cat /proc/pci
EndSection
You might want to change 2 things in the example above:
1)You can change "Composite" to “SVIDEO” (according to the type of video cable you use)
2)You can change your TVstandard from “PAL-G” to “NTSC-M” or "NTSC-J" according to your tv.
If you did everything correctly you should have two Section “Device” like in the example below:
Code:
Section "Device"
Identifier "Device[0]"
Driver "nvidia"
BusID "PCI:1:0:0"
screen 0
EndSection
Section "Device"
Driver "nvidia"
Identifier "Device[1]"
Screen 1
Option "TVOutFormat" "Composite" #or SVIDEO etc
Option "TVStandard" "PAL-G" #or NTSC-M etc
Option "ConnectedMonitor" "Monitor[1]"
BusID "PCI:1:0:0" #adjust using 'lspci' or cat /proc/pci
EndSection
Get to the “Screen” section and change Identifier, Monitor and Screen like in the (2nd) example below:
Before:
Code:
Section "Screen"
Identifier "Default Screen"
Device "NVIDIA Corporation NV34 [GeForce FX 5500]"
Monitor "AL1715"
etc.
After:
Code:
Section "Screen"
Identifier "Screen[0]"
Device "Device[0]"
Monitor "Monitor[0]"
[Of course the Screen section is longer than the one in the example (it contains your screen resolution, etc.)]
Now you have to put another section under the previous. Make the new section look EXACTLY like the following example:
Code:
Section "Screen"
Device "Device[1]"
Identifier "Screen[1]"
Monitor "Monitor[1]"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768_60"
EndSubSection
EndSection
NOTE if your TV does not support a refresh rate of 60Hz you might want to set this line "Modes "1024x768_60"" as "Modes "1024x768_50"" in order to set the refresh rate to 50Hz
If you did everything correctly you should have two Section “Screen” like in the example below (OF COURSE the resolutions you have in your xorg.conf are likely to be different from mine, therefore leave them as they are):
Code:
Section "Screen"
Identifier "Screen[0]"
Device "Device[0]"
Monitor "Monitor[0]"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Section "Screen"
Device "Device[1]"
Identifier "Screen[1]"
Monitor "Monitor[1]"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768_60"
EndSubSection
EndSection
Now you have to change your "ServerLayout" section and make it look like the following example:
Code:
Section "ServerLayout"
Identifier "Simple Layout"
Screen 0 "Screen[0]"
Screen 1 "Screen[1]" RightOf "Screen[0]"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Then change the two words in red and blue in the previous example with the ones you can find in your “InputDevice" section (which I will put in red and blue respectively):
In my case the "InputDevice" Section is the following:
Code:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Therefore in my case the result would be the following:
Code:
Section "ServerLayout"
Identifier "Simple Layout"
Screen 0 "Screen[0]"
Screen 1 "Screen[1]" RightOf "Screen[0]"
InputDevice "Configured Mouse" "CorePointer"
InputDevice "Generic Keyboard" "CoreKeyboard"
EndSection
Ok, now save your xorg.conf and exit.
Now, let's try it.
Plug in the video cable (make sure that both your TV and your graphic card are linked by this cable)
Log out
Restart your computer.
Then log in and you will be able to see your desktop on your TV screen (ONLY after you login). Keep in mind that it is not a clone of your current desktop. It has its own resolution and you can use it INDEPENDENTLY from the desktop you can see on your main monitor.
For example you can watch a film (in full screen) on your TV screen while writing a text or surfing the web on your main monitor.
Here's how it works:
Move your mouse to the extreme right part of the screen until it disappears from your main monitor. You will now be able to see the cursor on your TV. From there you can use the cursor to open the files you need etc.
If you need to use the mouse cursor in your 1st desktop you have to move it to the extreme left of the screen until it disappears from your TV and reappears on your main Monitor.
Enjoy!
Alberto
Re: HOWTO: NVIDIA TV-OUT for Newbies
I've run through all the listed steps in both this guide and the previously referenced one, and I never get anything displayed on my television. X loads fine, everything seems to be working, but to get display, I have to run the nvtv frontend and configure everything by hand, which ends with me having cloned screens and locked resolution. Any ideas as to what I may be doing wrong?
Re: HOWTO: NVIDIA TV-OUT for Newbies
Quote:
Originally Posted by corruption
I've run through all the listed steps in both this guide and the previously referenced one, and I never get anything displayed on my television. X loads fine, everything seems to be working, but to get display, I have to run the nvtv frontend and configure everything by hand, which ends with me having cloned screens and locked resolution. Any ideas as to what I may be doing wrong?
Did you restart your computer?
nvtv is automatically launched every time you boot Ubuntu.
Re: HOWTO: NVIDIA TV-OUT for Newbies
Thank you for this Howto. This has been the biggest struggle that I have had with Linux, right after Japanese input.
I have a display on my tv, with its own task bar. I am still having a couple of small problems...
One is that my autostart applications are starting and running on both screens. Any way I can get them to start only on "screen 0"?
The other problem is that I would like to be able to drag a mplayer window into screen 1 (TV), like I could in Windows. Any way to do that (or, are there any easy tricks or commands to get mplayer to open/play a movie directly on the tv?
I am using Kubuntu and a FX5200 card.
Re: HOWTO: NVIDIA TV-OUT for Newbies
I followed the guide step by step (even went back through it a few times to make sure) but it just wont work. Whenever gdm starts all i see is a black screen. In order to get the actual login prompt to show up i have to manually change the resolution. The mouse can always go off to the right of the screen but it just comes right back on the left side. I can tell though that its trying to use a resolution of 1024x768 as the mouse is restricted to the upper left corner. I noticed in my Xorg.0.log that i get
Code:
(WW) NVIDIA(1): Invalid ConnectedMonitor string token: "Monitor[1]";
(WW) NVIDIA(1): discarding token.
and futher down it says
Code:
(II) NVIDIA(1): Connected display device(s): CRT-0
My xorg.conf http://rafb.net/paste/results/68jSsd63.html
My Xorg.0.log http://rafb.net/paste/results/asBLj525.html
Thanks
Re: HOWTO: NVIDIA TV-OUT for Newbies
Slide,
One thing I noticed is that
Code:
Option "TVOutFormat" "SVIDEO"
should be with a dash in "S-VIDEO"
Code:
Option "TVOutFormat" "S-VIDEO"
I don't know if that si going to solve your problem, but is worth the addition.
I found something else. Take a look at this section from my (working) config:
Section "Device"
Identifier "Device[0]"
Driver "nvidia"
BusID "PCI:1:0:0"
Screen 0
Option "ConnectedMonitor" "Monitor[0]"
Option "NoLogo" "true
EndSection
Section "Device"
Driver "nvidia"
Identifier "Device[1]"
Screen 1
Option "TwinView" "true"
Option "TVOutFormat" "COMPOSITE"
Option "TVStandard" "NTSC-M"
Option "ConnectedMonitor" "TV"
BusID "PCI:1:0:0"
EndSection
The bolded parts are different than yours.
Re: HOWTO: NVIDIA TV-OUT for Newbies
Yes, got it to work! :)
Ok, so tabinin you were right about the TVStandard being NTSC-M, but the TVOutFormat can only be SVIDEO and COMPOSITE, this is what i got in the log when i set it to S-VIDEO.
Code:
(**) NVIDIA(1): Option "TVOutFormat" "S-VIDEO"
(**) NVIDIA(1): Unknown TVOutFormat value. Known values are "SVIDEO" and
(**) NVIDIA(1): "COMPOSITE"
I don't know exactly what was wrong, it seems that xorg didnt like the name Monitor[1] and when i changed it to TV it works now, shrug. Thanks! :)
Re: HOWTO: NVIDIA TV-OUT for Newbies
Quote:
Originally Posted by slide
Yes, got it to work! :)
Ok, so tabinin you were right about the TVStandard being NTSC-M, but the TVOutFormat can only be SVIDEO and COMPOSITE, this is what i got in the log when i set it to S-VIDEO.
Code:
(**) NVIDIA(1): Option "TVOutFormat" "S-VIDEO"
(**) NVIDIA(1): Unknown TVOutFormat value. Known values are "SVIDEO" and
(**) NVIDIA(1): "COMPOSITE"
I don't know exactly what was wrong, it seems that xorg didnt like the name Monitor[1] and when i changed it to TV it works now, shrug. Thanks! :)
Weird... Anyhow I'll fix the s-video thing
Re: HOWTO: NVIDIA TV-OUT for Newbies
I too had to change "Monitor[1]" to "TV".
However, my TV screen is still blank. I have the following messages in X.org's logfile:
Code:
(II) NVIDIA(0): Connected display device(s): CRT-0, TV-0
(WW) NVIDIA(0): Multiple displays connected, but only one display allowed;
(WW) NVIDIA(0): using first display
What's going on?
Re: HOWTO: NVIDIA TV-OUT for Newbies
Quote:
Originally Posted by Knorhaen
I too had to change "Monitor[1]" to "TV".
However, my TV screen is still blank. I have the following messages in X.org's logfile:
Code:
(II) NVIDIA(0): Connected display device(s): CRT-0, TV-0
(WW) NVIDIA(0): Multiple displays connected, but only one display allowed;
(WW) NVIDIA(0): using first display
What's going on?
Post your /etc/X11/xorg.conf , please.