I'm having some troubles with xrandr and S-Video/Composite output in Ubuntu 14.04. Right now I have 3 displays plugged into my computer: VGA, DVI, and TV (S-Video/Composite, not sure about the difference). Because of this, and my GFX-card not being able to handle 3 displays at the same time, neither All Settings -> Display nor NVIDIA X Server Settings can mirror the display to just 2 out of 3 of the displays. So I thought I'd force it with xrandr.

One script to mirror between VGA and DVI works fine (same 1280x1024 resolution):

xrandr --output VGA-0 --off --output DVI-I-0 --off --output TV-0 --off
xrandr --output VGA-0 --auto --output DVI-I-0 --auto --same-as VGA-0

However, when I try to mirror TV and VGA, the resolution doesn't change to 1024x768 for the VGA, and the colors seem screwed up (or extra bright). The TV shows 1024x768, out of the 1280x1024 (mouse disappears beyond the edge).

xrandr --output VGA-0 --off --output DVI-I-0 --off --output TV-0 --off
xrandr --output TV-0 --auto -s 1024x768 --output VGA-0 --auto -s 1024x768 --same-as TV-0

I tried adding a display mode, but then both screens turn off.

xrandr --output VGA-0 --off --output DVI-I-0 --off --output TV-0 --off
xrandr --newmode "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
xrandr --addmode VGA-0 1024x768_60.00
xrandr --addmode TV-0 1024x768_60.00
xrandr --output TV-0 --auto --mode 1024x768_60.00 --primary --output VGA-0 --auto --mode 1024x768_60.00 --same-as TV-0

Lucky I remember the name of both scripts so I don't need to reboot everything.

Could anyone help me write good commands so that the resolution is changed to 1024x768 when mirroring the TV output, and back to 1280 (or smallest screen's native resolution) when mirroring VGA/DVI?

PS. Each time I run this, the task bar at the bottom moves up to join the Applications bar at the top having me to Super + Alt + Drag it back down again (Gnome classic theme).


Trying the following:

xrandr --verbose --output VGA-0 --auto --output TV-0 --auto --same-as VGA-0 640x480
xrandr: unrecognized option '640x480'

No change in screen.

xrandr --verbose --output VGA-0 --auto --output TV-0 --auto --same-as VGA-0 --size 640x480
screen 0: 1280x1024 320x256 mm 101.60dpi
crtc 0:    1280x1024   60.0 +0+0 "VGA-0"
crtc 1:     1024x768   60.0 +0+0 "TV-0"

Mirroring VGA and TV, but TV is cropped to 1024x768 and VGA is still full 1280x1024.

xrandr --verbose --output TV-0 --auto --output VGA-0 --auto --same-as TV-0 --size 640x480
screen 0: 1280x1024 320x256 mm 101.60dpi
crtc 0:     1024x768   60.0 +0+0 "TV-0"
crtc 1:    1280x1024   60.0 +0+0 "VGA-0"

Same sizes as above, except VGA colors are odd (much greens and pinks).

xrandr --verbose --output VGA-0 --auto --size 640x480 --output TV-0 --auto --same-as VGA-0 --size 640x480
screen 0: 1280x1024 320x256 mm 101.60dpi
crtc 0:    1280x1024   60.0 +0+0 "VGA-0"
crtc 1:     1024x768   60.0 +0+0 "TV-0"

Same as last.

xrandr --verbose --output VGA-0 --auto --scale 640x480 --output TV-0 --auto --same-as VGA-0 --scale 640x480
screen 0: 1280x1024 320x256 mm 101.60dpi
crtc 0:    1280x1024   60.0 +0+0 "VGA-0"
xrandr: Configure crtc 0 failed
crtc 0: disable
crtc 1: disable
screen 0: revert
crtc 0: revert
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x0
  Serial number of failed request:  35
  Current serial number in output stream:  35

No changes were made.


S-Video/composite is very old, back from the time when I was a kid and dinosaurs still roamed the Earth and the S-Video hardware just doesn't support this resolution.

It's great to convert VCR tapes and to display crude graphics on a CRT TV at a whopping 480i resolution (no error: that's the old IBM PS/2 VGA Interlaced "high-resolution" mode at 640x480x16) or if you are lucky 576i.

So you want to digitize old VCR tapes to DVD, just forget about getting any modern use out of the S-Video port on your computer.

Sorry to be the harbinger of bad news...

The best you can do is: xrandr --output VGA-0 --auto --output DVI-I-0 --auto --same-as VGA-0 --output TV-0 640x480

  • I actually have a use for this, believe it or not. I started off by buying a VCR Saver kit to save family videos. And my Desktop has an S-Video out allowing us to watch video files on our TV. When I got a laptop I saw a new use for the VCR Saver: Showing game stuff over Skype (Skype desktop sharing was too slow, and so was Fraps despite the laptop's power). So, how do I force Ubuntu's resolution on both VGA and TV? – Edward Mar 17 '16 at 12:41
  • Answer edited... What you want to do is not possible AFAIU. If this answer did help, just click the little grey ☑ at the left of this text right now turning it into beautiful green. – Fabby Mar 17 '16 at 22:01
  • Unrecognized option '640x480' Even if I do add -s, only VGA and DVI have picture, not TV. Removing the DVI portion doesn't give anything on TV. Adding between TV-0 and -s the --auto brings me back to a VGA with 1280 and TV cropped to 1024. Tried --scale as well, but gave errors. – Edward Mar 19 '16 at 23:12
  • What's the full output of xrandr? I have to option of going to 640x480 on my plasma TV and 320x200 on an old CRT in VGA mode... – Fabby Mar 22 '16 at 7:12
  • That will have to wait... I may have broke Xorg.... – Edward Mar 23 '16 at 13:03

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.