If you have an nVIDIA card and are using the nVIDIA drivers with TwinView (two monitors showing up as one), you might have found that the SDL renderer would only let you choose one resolution/window size, being your entire display.
Turns out its a.. peculiarity... of the nVIDIA drivers and the way they non-standard-ly implement the TwinView.
In your xorg.conf (or whatever the other X server's user), you will have code that looks something like this:
Code: Select all
Section "Device"
Identifier "NVIDIA Driver"
Driver "nvidia"
#VideoRam 1048576
# Insert Clocks lines here if appropriate
Option "TwinView"
Option "MetaModes" "1280x1024,1024x768@1024x1024"
Option "SecondMonitorHorizSync" "30-70"
Option "SecondMonitorVertRefresh" "30-160"
Option "TwinViewOrientation" "RightOf"
Option "DPMS"
EndSection
When you run an SDL app, it queries the X server for what resolutions are available (even if you run in windowed mode). The nVIDIA driver will only report one resolution (the size of the desktop).
The fix for this is to make your MetaModes line looks like:
Code: Select all
Option "MetaModes" "1280x1024,1024x768@1024x1024;1280x1024,NULL;1024x768,NULL;800x600,NULL"
Of course, you will have to restart your X server for these configuration changes to take effect. Usually logging out of X will do it.
Hope this help's some-one. I should probably find an SDL forum or something and post this there (I found it out while trying to fix Neverwinter Nights, which uses SDL too), but I'll give it to the OGRE community first