I want to do some emulation on an external display. I have a Sony PGM2950Q monitor. This monitor is only capable of displaying 480p (640 x 480) at 31Hz. So it should be great for Mame.
Plugging it in to my Thinkpad T-61 (intel graphics) with Ubuntu 14.04.3 with VGA (via BNC breakout cable) results in a garbled / overlapping display running at the lowest setting of 800x600 @ 60Hz. I know the monitor works as have tested it previously.
What would be the best way to fix this? Ideally I want it to recognise a configured display rather than have to set it up every time.
1 Answer
You can use xrandr:
The commands to be executed in order:
cvt 640 480
xrandr --newmode "640x480_31.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsyncThe part of the line after xrandr --newmode is similar to the ouput you should get when using the cvt command, so copy the output from the "resolution_refreshRate" ("640x480_31.00" here) point to the +vsync point and add it to xrandr --newmode.
Then:
xrandr --addmode LVDS1 resolution_refreshRate (don't use speechmarks)
xrandr --output LVDS1 --mode resolution_refreshRateIf you want to make the changes permanent:
Create a bash script,
xrandr.shfor example, and place your xrandr commands into it:#!/bin/bash sudo xrandr --newmode ""640x480_31.00"" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync sudo xrandr --addmode LVDS1 640x480_31.00 xrandr --output LVDS1 --mode 640x480_31.00
Make the script executable with
chmod +x xrandr.shSearch for "Startup Applications" in the dash, run it, and add the script as a startup application.
The commands will now run every time you log into your account.
Note: I'm using LVDS1 as the supposed monitor name, but yours probably won't be the same. You can find your monitor name using:
xrandr | grep " connected " | awk '{ print$1 }'