NVIDIA TV Out (Solaris)
Solaris Express in any recent version will have out of the box NVidia support if you install the Developer Edition or the Community Release. This driver doesn’t differ (at least as far as I know) from the Linux device driver, so setting up secondary screens and tv-outs is quite the same. There even is a preinstalled tool “nvidia-settings” which might help you do the job, but it didn’t help me that much since you have to implement at least the second screen by hand in your X configuration file.
Before you begin, make a backup of your working /etc/X11/xorg.conf file.
We will now take a look at how this xorg.conf file has to be changed for TV-Out support.
- Change the “Device” section that it looks like this:
Section "Device" Identifier "Videocard0" Driver "nvidia" # optional (find out with "$ Xorg -scanpci") BusID "[Your BusID, e.g.: PCI:2:0:0]" Screen 0 EndSection
- Add a new “Device” section for the TV, just like the one before, but change “Screen 0” to “Screen 1” and “Videocard0” to “Videocard1”
- Change the “Monitor” section as follows:
Section "Monitor" Identifier "Monitor0" HorizSync 30.0 - 100.0 #adjust to your monitor VertRefresh 50.0 - 94.0 #adjust to your monitor Option "DPMS" EndSection
- Add a new “Monitor” section for the TV, just like the one before, but change “Monitor0” to “Monitor1”
- Now we configure the possible resolutions for CRT and TV
You will have to adjust them to your liking. “Screen0” deals with the CRT, “Screen1” with the TV.
Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 Option "metamodes" "CRT: 1600x1200 +0+0; CRT: 1400x1050 +0+0; CRT: 1280x1024 +0+0; CRT: 1024x768 +0+0; CRT: 800x600 +0+0; CRT: 640x480 +0+0" SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "Videocard1" Monitor "Monitor1" DefaultDepth 24 Option "metamodes" "TV: 1024x768 +0+0" SubSection "Display" Depth 24 Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection EndSection
- Now you we are physically set up and can define a Serverlayout which defines how the monitors do correspond to each other.
In this example the CRT will be the primary monitor whereas the TV can be reached by dragging the mouse cursor out the left side of your monitor.Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 1024 0 Screen 1 "Screen1" LeftOf "Screen0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection
Now we are all done. Save xorg.conf and restart your Xserver(in Solaris logging out and in again will do the job).
A working copy of my file as an example can be downloaded here.