If you're talking about fullscreen resolutions, that's perfectly normal. It's a side effect of using TwinView instead of 2 X servers. Same thing happens in SDL. I'm unsure what happens with Xinerama, probably something similar.
The X server reports the virtual screen size instead of the actual per-monitor size. There's really nothing you can do about it, except
- advising users to use an X setup that only uses 1 monitor for your games (you can run multiple X setups at the same time on XOrg)
- advising users to use 1 X server per screen
- implementing a windowed mode that appears to cover the whole screen
I'd recommend the first resolution.
For example, I have a setup that uses ServerLayouts in the XOrg configuration file.
One such layout is called 'leftLayout'.
It uses the screen 'left'.
The screen 'left' looks like this:
Section "Screen"
Identifier "left"
Device "tft"
Monitor "monitor"
DefaultDepth 24
Option "AddARGBGLXVisuals" "true"
Option "MetaModes" "NULL,1280x1024"
Option "UseEdidDpi" "FALSE"
Option "NoLogo" "True"
Option "DPMS"
Option "TwinView"
Option "TripleBuffer" "true"
SubSection "Display"
Virtual 1280 1024
Depth 24
EndSubSection
EndSection
The relevant thing here is the MetaModes Option. Although left and right are switched for reasons related to my specific configuration, you should see what I'm doing there instantly.
I call that layout with the following line from a terminal when X is not running:
xinit -- :1 -layout leftLayout
The configuration file .xinitrc in the user's home directory then handles the Window Manager startup.
The :1 is the offset relative to tty7, by the way.
So if it's :0, it's tty7; if it's :1, it's tty8 and so forth.
So if I want to call 3 KDEs, each with its own X server, the first on both screens, the second on the left and the third on the right, provided my .xinitrc starts KDE in some way, I would write
xinit -- :0 -layout bothLayout && xinit -- :1 -layout leftLayout && xinit -- :2 -layout rightLayout
And the layouts are all in /etc/X11/xorg.conf
---
A similar issue, by the way: The placement of the viewport is pretty random in fullscreen, also in SDL _and_ LWJGL; in my case, it's on the right monitor, and only half the viewport is displayed.