Setting X11 display resolution

I knew I was going to have this problem upgrading to openSUSE 13.1 (because it happens every time I upgrade) but I did it anyway and unfortunately did not save my previous xorg.conf file. >:(

I have a MAME arcade that uses an authentic arcade style CRT which is only capable of 800x600 resolution (max). Unfortunately, openSUSE does not detect this and boots into a higher resolution causing the monitor to display an over range error. In a previous version (12.2) I managed to create an xorg.conf file that fixed this, but that was a long time ago and X11 has probably changed since then anyway. On bootup I can specify the resolution for GRUB2 but as soon as X11 starts it defaults to something higher. Simple problem but no simple answer. How do I tell X11 to use 800x600 resolution in 13.1?

PS: I’m able to run xrandr to set the display resolution and it works. Just need to figure out how to make it stick at startup.
PPS: I’m using the included radeon graphics driver.

I’m not familiar with MAME arcade games - I had to google for quick 101. Which desktop environment are you running this within? The problem with KDE (and probably Gnome) is that while it is still possible to set the display resolution (via simple edit to /etc/X11/xorg.conf.d/50-screen.conf) when the X-server starts, after login the native display resolution is again set. This can then be overridden using an autostart script for Gnome, KDE. LXDE etc.

I’m running KDE. I already set a login script to run xrandr upon login, but that’s kind of cheesy. If auto-login wasn’t enabled I’d never see the login screen.

I’m assuming that you’re using this as a dedicated MAME arcade console. If you’re happy to use another window manager, you can use the Xorg config approach. I’ve tested the following configuration with ICEWM. Edit /etc/X11/xorg.conf.d/50-screen.conf like this

Section "Screen"
   Identifier "Default Screen"
   Device "Default Device"
   Monitor "Default Monitor"
   SubSection "Display"
                Depth           24
                Modes           "800x600"

When finished, restart the X-server with CTRL+ALT+Backspace (twice). At login, choose ICEWM. The X-server will then start and stay at 800x600