External display as primary?

My personal philosophy is that every question that someone could ask, probably already has been. So don’t waste other people’s time, dig more and find your own answer for yourself. This time I’m stuck. I dug through Samba, through kernel compiling, openssl, and VNC problems. But finally I’m stuck with video control. I apologize guys, but if anyone can point me in the right direction I’ll be extremely grateful.

I’m a long time MS fellow. Trying out Linux. Ubuntu was a little too remedial, and finally I’ve settled on opensuse 11.0. I’m trying to take my old X31 ThinkPad laptop with ATI video, and turn it into a fileserver and media center. I already have filesharing setup, and have full control of the system remotely via VNC. My last step I’m trying to set up is to have the system serve as a media center. My TV has a VGA input, so it’s easy enough to configure it as an external monitor through X11. BUT!!!

When I try to play any video, the video displays perfectly on my laptop LCD, but on my TV the video is a blank blue or black box. I’m configured for mirror mode, and using VLC as the media player.

I’ve done some searching, and I think the problem is that I need to set up the external display as the primary display. But I don’t know how…

So, after that long description, any ideas? What’s stumped me is that there seem like so many different places to look. Configure VLC in a special mirror mode? Set the external display as primary? Use xrandr to control video? Directly edit the x11 conf?

I’m stumped. Any advice is greatly appreciated…

Tough, no other ideas yet. Anyhow, after a week long vacation, I’m back working on this. Here’s where I’ve gotten so far…

I found out that in BIOS I need to make certain that all default output as primary ALWAYS goes to the LCD. If it’s mixed, then when booted into Linux some strange things can happen.

Once that change is made, when I configure the system for extended desktop mode in Xinerama, then videos file can indeed correctly play on the external display, since it seems that in Xinerama by default it assigns the external display as the primary.

However, in mirror mode it’s still no-go, since in that mode the LCD is still the default primary.

I really don’t want to use Xinerama, it seems like just giving up, when I think it should be as easy as just changing the default display of mirror mode to use the external vs. the LCD.

Unfortunately, I’m still stuck. I can’t find any way through Yast, or through the xorg.conf to be able to edit these modes.

Ah well, I’ll see what I can come up with…

Please do…I am stumped on this too. I have the issue of having a Compaq 725US with an S-Video Output and I figured out how to make it work using Sax2 and extra options for the video card. With the TV-ON selected, I was able to turn off the LCD and everything would be on the tv. BUT it was all black with stripes…in the configuration mode using Sax2 it changed resolution to 640x480 but the frequency was 30Hz which probably caused the problem but how do I fix that?

SO I will be watching this post carefully…

Ha! Got it! I know it’s not perfectly configured, but it’s working flawlessly, so I’ll leave it alone.

There are two main problems here:
First, there are many many xorg / X11 write-ups and advice. But they always provide concrete examples on how to accomplish something, but no background for the “why”. So when you try to match the write-up and it doesn’t work you have no idea WHY it doesn’t work, or what else to try.

Second, in opensuse 11.0, using the Yast → Hardware → Graphics Card and monitor… there is no option to configure the external display as your only or primary display. You MUST use your laptop display as the primary.

So here’s how I solved my problem… but unfortunately I don’t think it’ll help you much. But hopefully it gives you a step in the right direction.

First, when trying to directly follow xrandr guides there was a lot of misinformation, options that wouldn’t work, and output that just didn’t match up. For example, supposedly when you input, “xrand -q”, or “xrandr -q --verbose”, you SHOULD be able to see the ‘name’ that is assigned to your laptop display and your external display. Not true. What I eventually pieced together…

use “man xrandr” to see the xrandr options. It’s actually pretty short and simple. And using a tip on other site, I figured out that I can use “man radeon” to get information about my ATI card. (Intel folks can use “man intel”). WELL! It wasn’t terribly obvious to me, but it seems that the options listed in those two man pages are the exact definitions used in the xorg.conf file. And from “man radeon” I was able to figure out the 'name’s of my display… which were DIFFERENT than all the write-ups I’d read. (My external monitor was NOT ‘VGA’, or ‘VGA-0’… it’s actually ‘CRT’).

Armed with that information I made these changes to get my system working… I first set my system to use clone mode, reboot to make sure my xorg.conf is as clean as possible, then:

su to root, then ‘cd /etc/X11/’, and then use vi to edit xorg.conf

Head down to the display section, and I made these two changes:
Option “MonitorLayout” “CRT,LVDS”
Option “MergedFB” “true”

I really don’t think the 2nd one is necessary… it’s just an option to assign the Frame-Buffer to be merged for the two displays.

Wammo. Reboot, my CRT is now my primary display, video plays correctly, and I’m a happy camper.

All this would be a LOT easier if OpenSuse / Sax just had an option to use the external CRT as the primary display. Phew. Now I know why a lot of Windoze people are so reluctant to make the switch to Linux. If my parents were trying to accomplish this mission it’d take them 30 seconds in WinXP, but it’d be impossible for them to accomplish in Linux.