Okay, I tracked down the appropriate piece of code. It's in .../libsdl1.2-1.2.15/src/video/x11/SDL_x11modes.c and is called get_real_resolution(). In here it's calling XF86VidModeGetModeLine() which is going to give the raw modeline value (as above). However, as a work-around you can persuade the code to use Xinerama by setting "SDL_VIDEO_FULLSCREEN_DISPLAY=0" in the environment. Since Xinerama actually gets things right then the rest of the code will then work.
This is a bit of a fudge (and I don't know why the code doesn't attempt to default the value to the current display) but it seems to be a decent work-around.
Anyways, with this the fixed version of xbmc (see https://bugs.launchpad.net/bugs/1084201) now actually looks sane. Haven't actually tried to make it do much yet but at least it's rendering correctly :) However, I do suspect that there are going to be other apps which will get bitten by this issue. (Maybe the variable should be set globally for users..?)
Okay, I tracked down the appropriate piece of code. It's in .../libsdl1. 2-1.2.15/ src/video/ x11/SDL_ x11modes. c and is called get_real_ resolution( ). In here it's calling XF86VidModeGetM odeLine( ) which is going to give the raw modeline value (as above). However, as a work-around you can persuade the code to use Xinerama by setting "SDL_VIDEO_ FULLSCREEN_ DISPLAY= 0" in the environment. Since Xinerama actually gets things right then the rest of the code will then work.
This is a bit of a fudge (and I don't know why the code doesn't attempt to default the value to the current display) but it seems to be a decent work-around.
Anyways, with this the fixed version of xbmc (see https:/ /bugs.launchpad .net/bugs/ 1084201) now actually looks sane. Haven't actually tried to make it do much yet but at least it's rendering correctly :) However, I do suspect that there are going to be other apps which will get bitten by this issue. (Maybe the variable should be set globally for users..?)