GNOME Bugzilla – Bug 163907
gtk+2.6.x applications fail to run on AcceleratedX displays
Last modified: 2005-01-25 07:53:17 UTC
install gtk+2.6.0/1 on a system running AcceleratedX; run any gtk+2 application (gimp, gnome-terminal, etc. or the testing programs in the gtk+2.6 distribution (at least testgtk, testtext, but most of the others as well). There is a brief flash of a window opening and closing (presumably the gtk application). The terminal shows: The program 'lt-testgtk' received an X Window System error. This probably reflects a bug in the program. The error was 'BadImplementation (server does not implement operation)'. (Details: serial 1137 error_code 17 request_code 135 minor_code 10) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Depending op the program, the serial number is different, the rest is the same. (re)installing gtk+2.4.x dus not produce this problem. Also running gtk+2.6 in conjunction with X.org works fine.
Not much we can do here, this is an X server problem, most likely an incomplete X-Render implementation, I believe. The XLib manual says BadImplementation - The server does not implement some aspect of the request. A server that generates this error for a core request is deficient.
Can I do anything on my side? Like how do I find out what server thingy is BadImplemented? Are there some explicit Xserver extensions that are needed in gtk+2.6.x that were unused in gtk+2.4.x?
Run the program with --sync, then when you get the error, write down the request_code and minor_code, and try to figure out which request that was. Since the request is likely an extension request, you will need xdpyinfo -ext all, which reports the opcodes of all extensions. One should match the request_code of the error message.
Right, xdpyinfo -ext all finds the following: [snip] XFree86-Misc version 0.8 opcode: 135, base error: 137 [snip] I assume that opcode mirrors request_code? If so than indeed AcceleratedX does not and most likely will not support it. There are AcceleratedX extension with a name just as enlightening as MISC, namely XME (being XiG Misc Extension) and XC-MISC. Changes are that the gtk+2.6.x wanted functionality of XFree86-Misc is in one of these XiG extensions. Right, I don't mind learning and digging in to that, but my guess is that I can't fix it on my own. Is it worthwile for me and/or anybody else to spend time on this?
Pretty sure this is the same as the problem that was tracked down to using newer parts of the RENDER extension. *** This bug has been marked as a duplicate of 164427 ***
Indeed applying the path suggested for bug 164427 resolves the problem.