Bug 2998 - Wine doesn't start due to GLX problems with new Xvnc
Summary: Wine doesn't start due to GLX problems with new Xvnc
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Target Milestone: 3.0.0
Assignee: Peter Åstrand
Keywords: ossman_tester
Depends on: 1386 2982
  Show dependency treegraph
Reported: 2009-01-21 13:05 CET by Peter Åstrand
Modified: 2013-07-01 10:56 CEST (History)
0 users

See Also:
Acceptance Criteria:

mesa-7.1-fbconfig-fix.patch (2.00 KB, patch)
2009-03-12 14:44 CET, Peter Åstrand

Description Peter Åstrand cendio 2009-01-21 13:05:49 CET
With the new Xvnc, the problem on bug 1297 is present again, at least Wine doesn't start.
Comment 1 Peter Åstrand cendio 2009-01-23 09:23:31 CET
Problem verified with Fedora Rawhide Xvnc. 
Comment 2 Peter Åstrand cendio 2009-01-23 10:08:45 CET
Note that the wine problem is slightly different, now it gives a traceback:

>glxcmds.c:343: CreateContext: Assertion `mode != ((void *)0)' failed.
>wine: Assertion failed at address 0x600007f2 (thread 0009), starting debugger...
>Unhandled exception: assertion failed in 32-bit code (0x600007f2).

http://bugs.winehq.org/show_bug.cgi?id=8557 confirms that this is a GLX/Xserver bug. 

"glean" gives lots of errors. xglinfo on Scott crashes. I haven't yet applied the patch for disabling GLX_SGIX_fbconfig, but currently we have more fundamental problems. 

I can't patch xf86glx.c, because this file doesn't exist any longer...

xvnc.cc still contains the fixes I made on bug 1297, though. Building with "-march=pentium4" doesn't help. 
Comment 3 Peter Åstrand cendio 2009-01-23 10:33:30 CET
https://bugzilla.redhat.com/show_bug.cgi?id=458219 might be related. 

The wine crash also happens with the standard Xvfb on Fedora. Seems to be a fundamental problem. 
Comment 4 Peter Åstrand cendio 2009-02-09 16:03:53 CET
A patch was recently posted to the Xorg mailing list:

[PATCH] glx: Replace broken GLX visual setup with a fixed "all" mode.

Don't know if it helps, but looks relevant to me. 
Comment 5 Peter Åstrand cendio 2009-02-16 16:38:48 CET
Happy faces. The patch "[PATCH] glx: Replace broken GLX visual setup with a fixed "all" mode" fixes the problem, at least on the xserver-1.6 branch, in conjunction with http://cgit.freedesktop.org/xorg/xserver/commit/?id=5100d829a4d71ce4a9fbc2b81694a1fb90066ccf. What remains is porting this to 1.5.3 and test some more. Plus ask the Xorg guys if this patch can be cherrypicked for 1.5 and/or 1.6. 
Comment 6 Pierre Ossman cendio 2009-02-23 09:17:51 CET
I did a test running glxgears, glxinfo and extreme tuxracer. Everything worked nicely.
Comment 7 Peter Åstrand cendio 2009-02-23 11:14:03 CET
Comment #5 is not fully correct; I had to patch Mesa so that only 16 bit visuals are created. Fixed in r16492. 

I've successfully tested:



wine ./sndrec32.exe on maggie

most of the GL screensavers from xscreensaver-gl-extras

Femlabviewer 3.1

I've done some very basic Solaris tests as well:

* The "ERROR: CI visual" is gone (but still happens with the maggie/FC6 xserver).

* /usr/openwin/demo/GL/sparcv9/ogl_install_check fails to find a visual, but happens with maggie/FC6 xserver as well. 

I think we can close this bug now. 

Comment 8 Peter Åstrand cendio 2009-03-12 12:41:14 CET
Actually, GLX still doesn't work with depth=24. 
Comment 9 Peter Åstrand cendio 2009-03-12 14:44:50 CET
Created attachment 325 [details]

We are no longer patching Mesa, so 24 bit GLX should now work. The only problem seems to be 16 bit mode with older Mesa versions. I've noticed that glxgears seems to work correctly on systems with Mesa 7.1, but fails on 7.0 and older systems. I found the attached patch in an older Fedora RPM, mesa-7.1-0.22.fc9.src.rpm. I haven't verified this, but this might be the cause of the problem.
Comment 10 Peter Åstrand cendio 2009-03-13 09:41:06 CET
Per comment #9, this should now work. 
Comment 11 Pierre Ossman cendio 2009-04-14 16:12:31 CEST
Seems to be working both in 24-bit and 16-bit mode. Tested on Fedora 11 beta.

Note You need to log in before you can comment on or make changes to this bug.