OK, I have verified that my modified fix works correctly
in the following configurations:
Ubuntu Hardy Herron a5
two separate screen, no xinerama extension => we detect no xinerama (and
full-screen mode supported)
two screens + xinerama active => we detect xinerama (fs mode unsupported)
single screen + xinerama ext. => we don't xinerama (fs mode supported)
The only configuration left to test is two separate screens
with xinerama extension present - but not "used"
so you can't drag windows from one screen to another.
I believe this is when we had issues.
I can't enable such configuration on my nvidia-accelerated
server for some reason. I'll install solaris nevada x86 and
see if that would work.
Thanks,
Dmitri
Dmitri Trembovetski wrote:
Dmitri Trembovetski wrote:
Hi Dan,
I have been preparing the fix for the integration into
openjdk6.
If you could put it into IcedTea that'd be beneficial
as well in case someone runs into a problem.
BTW, have you thought by any chance about the other part
of the problem - proper xinerama detection? On the newer X
servers we detect the xinerama extension (since it's always
present and active), and assume that the screens are under
xinerama. That leads to some nasty issues. I'm still not
quite sure how to do the detection properly.
My current version of the detection fix adds this check:
xinInfo = (*XineramaQueryScreens)(awt_display, &locNumScr);
- if (xinInfo != NULL) {
+ if (xinInfo != NULL && locNumScr >
XScreenCount(awt_display)) {
@@ -699,11 +710,12 @@
(XineramaGetCenterHintFunc*)dlsym(libHandle,
XineramaGetCenterHintName);
if (XineramaSolarisFunc != NULL) {
DTRACE_PRINTLN("calling XineramaGetInfo func on Solaris");
if ((*XineramaSolarisFunc)(awt_display, 0, &fbrects[0],
- &fbhints[0], &locNumScr) != 0)
+ &fbhints[0], &locNumScr) != 0 &&
+ locNumScr > XScreenCount(awt_display))
{
DTRACE_PRINTLN("Enabling Xinerama support");
usingXinerama = True;
/* set global number of screens */
DTRACE_PRINTLN1(" num screens = %i\n", locNumScr);
The idea is that if xinerama is used XCountScreens should return 1,
at the same time, if there's only one screen then we don't need
to enable xinerama support either.
But I'm still lacking proper environment to test this =(
Thanks,
Dmitri
Thanks,
Dmitri
Dan Munckton wrote:
Hi Dmitri
On Fri, 2008-02-15 at 15:34 -0800, Dmitri Trembovetski wrote:
The good news is that we can probably integrate this fix into
the newly created 6open workspace so that the fix gets into
the major linux distros quickly.
Happily, I've been unable to recreate the weird mouse issue I noted on
any installation other than using a LiveCD build of Ubuntu. I'd really
like to get the patch into test builds to see what other people's
experience is with FSEM + Xorg 1.3, as I have limited hardware and OSes
here.
Is it worth trying to get the patch into the IcedTea versions first?
Is there anything else I can do to progress this for now?
Cheers
Dan