Fullscreen game messes with the xrandr dual-monitor setup

driverstiling-wmwindow-managerxrandr

I have Gentoo Linux, the Awesome window manager and an open-source ATI driver.

Here's my xorg.conf:

Section "Files"
        #ModulePath   "/usr/lib64/xorg/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
        FontPath     "/usr/share/fonts/OTF"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/100dpi/"
        FontPath     "/usr/share/fonts/75dpi/"
        FontPath     "/usr/share/fonts/terminus"
EndSection

Section "ServerLayout"
  Identifier     "My X Server"
  Screen 0 "Screen0" 0 0
EndSection

Section "Monitor"
        #DisplaySize      510   290     # mm
        Identifier   "LeftMonitor"
        VendorName   "DEL"
        ModelName    "DELL U2311H"
        HorizSync    30.0 - 83.0
        VertRefresh  56.0 - 76.0
        Option      "DPMS"
        Option         "PreferredMode"  "1920x1080"
EndSection

Section "Monitor"
        #DisplaySize      380   300     # mm
        Identifier   "RightMonitor"
        VendorName   "SAM"
        ModelName    "SyncMaster"
        HorizSync    30.0 - 81.0
        VertRefresh  56.0 - 75.0
        Option      "DPMS"
        Option         "PreferredMode"  "1280x1024"
EndSection

Section "Device"
  Identifier  "Card0"
  Driver      "radeon"
  VendorName  "ATI Technologies Inc"
  BoardName   "Mobilitiy Radeon HD 3600 Series"
  BusID       "PCI:4:0:0"
  #Option "AccelMethod" "EXA"
  Option         "monitor-HDMI-0" "RightMonitor"
  Option         "monitor-DVI-0" "LeftMonitor"
EndSection

Section "Screen"
  Identifier   "Screen0"
  Device       "Card0"
  Monitor      "LeftMonitor"
  DefaultDepth 24
  SubSection "Display"
        Depth     24
        Modes           "1920x1080" "1280x1024"
        Virtual     3200 1080
  EndSubSection
EndSection

And to enable the monitor on the right side I do xrandr --output HDMI-0 --mode 1280x1024 --right-of DVI-0 at system launch.

Good thing, it works.
Bad thing, Altitude game breaks it. The main (left) monitor loses signal and I can't re-enable it ( while the game itself runs happily on the right screen, in fullscreen mode).

No problems in windowed mode (1024×768), as well as with all other applications (fullscreen flash, VLC, etc), but when I try to change in-game resolution to 1280×1024, it breaks the same way as with fullscreen.

Any ideas?

Edit: It breaks when I close the game as well. Argh!

Edit2: Probably related to this bug.

Edit3: Investigating this strange behavior with the guys from Nimbly Games (creators of Altitude). They actually fixed the problem at game exit, so I can at least play in windowed mode now.

As for fullscreen mode, I think it's a problem somewhere in xrandr, or unstable open-source radeon R600 drivers, so that Awesome (window manager) actually restarts when Altitude goes to fullscreen mode/tries to change resolution.

Best Answer

Figured it out.

I should have run xrandr --output HDMI-0 --mode 1280x1024 --right-of DVI-0 with sudo.
That way normal applications don't have access to Randr's setup (resolution etc.), and so can't break anything.

Edit: Actually, it helped with only one game (Osmos). For others, monitor is still losing signal, but I can at least run xrandr again to restore it.