Categories
Software and Programming

The recurring [K]ubuntu TV-out video saga

Upgrading my OS to Jaunty broke TV output, because the proprietary driver doesn’t work anymore. However, I eventually found how to get output to my TV. I set up the following script:


#!/bin/sh
xrandr -s 800x600 # resize so that cloning goes smoothly
xrandr --output S-video --set load_detection 1
xrandr --addmode S-video 800x600
xrandr --output S-video --mode 800x600
# xvattr -a XV_CRTC -v 1
vlc -f $*
echo Done playing $*
xrandr -s 1024x768

xrandr is a program that modifies your display dynamically. I guess this is all doable with configuration, but the infamous X conf file appears to be deprecated, so whatever. I use xrandr anyway to change resolution, because the output of the screen is duplicated onto the TV, and I want it to fit without being cropped.

So, first the script sets the resolution to the TV-compatible 800 width by 600 height; next the S-video commands tell the OS to look for the TV and set it up – and then my script passes its arguments (my movies) to the vlc media player. Once vlc quits, the resolution is restored.

There’s a commented out command that uses an utility called xvattr to change whether the X-Video extension (XV) should apply to the default output (the computer screen) or the TV – with when you see video on one, you just get a blank window on the other. Thankfully, I can tell vlc to show video using regular X server video instead of the XV extension, so nevermind that. I don’t see any noticable difference in the display behavior, which is pretty bad in either case – whenever windows appear in a shot, I see blocky video boxes on the TV. I think the proprietary driver didn’t have this problem.

And because my LCD screen burnt out this Saturday (a year beyond its warranty), I’m using a huge and scratchy-screened old CRT, which makes old-school oomph noises whenever it switches resolution.

6 replies on “The recurring [K]ubuntu TV-out video saga”

the output of the screen is duplicated onto the TV ???

and that is why? there’s your problem right there.

Dude, changing resolution every time you want to watch a movie is not a solution. It feels much more like sediment.

Remember, xorg.conf is going away only when and because autodetection gets good enough. That’s what we tech folks call “maturity”. Since we are not yet there, conf-ing the shit out of your X is way more elegant than changing resolution every time you want to watch a movie.

What card you use? Is open source driver really sufficient? Running OS intel here, but still using Nvidia prop. on the real machine. Maybe you should upgrade driver/kernel independently, not from official repos. There just has to be a better way than changing resolution every time you want to watch a movie.

Wait, did I say that already? Never mind, once more won’t hurt, just to really let it sink in: you are CHANGING YOUR DESKTOP RESOLUTION EVERY TIME YOU WANT TO WATCH A MOVIE.

Hell, you might as well rewrite some of your window manager to display clients on the TV, hard-coding the size of your TV as you go along.

Dell Latitude D600 : ATI Radeon 9000 Mobility : Ubuntu 9.04 – GNOME

I tried this script with/without xvattr. It displays the live screen on the TV, but blanks to deep blue when VLC goes to fullscreen video; windowed VLC shows a blank box on TV, live on system.

For s-video, it comes out looking like poor composite video with left/right margin deformation.

I’m not familiar with this xorg.conf folks have mentioned.

NOTE: Had to uninstall ATI Radeon Catalyst Control Center and the fglrx-amdcccle module because it corrupted/froze my graphics. ATI is failing to keep up with X.

Andy – in vlc, go to Preferences > video and make sure that output is set to “X11 video output” instead of “XVideo extension video output”. The XVideo extension can only display video on one of the screens (monitor or TV), not both.
Quality isn’t good, as I mention, but it works for me.

Comments are closed.