[Xquartz-dev] 2.3.3_rc1

Jack Howarth howarth at bromo.med.uc.edu
Tue Mar 10 16:47:00 PDT 2009


On Tue, Mar 10, 2009 at 04:59:50PM -0600, George Peter Staplin wrote:
> Quoted Jack Howarth <howarth at bromo.med.uc.edu>:
>
>> Jeremy,
>>   Okay. I have figured out the Apple Software Render usage. When that
>> was used for the OpenGL render in vmd-xplor, I had not deleted or
>> renamed the copies of libGL and libGLU provided in   
>> vmd-xplor-1.5.1-Darwin_8/bin.MACOSX.
>> If I remove those local copies from the vmd-xplor installation, hardware
>> rendering is used under X11 2.3.3-rc1 on a dual G4 with Radeon 7500 graphics
>> and vmd-xplor behaves normally. However if I do the same on my MacBook Pro
>> with Radeon X1600 graphics, I get the following errors with vmd-xplor
>> -debug -nowin and with...
>>
>> LIBGL_DIAGNOSTIC=1
>> export LIBGL_DIAGNOSTIC
>>
>> added to the vmd-xplor startup script...
>>
>> Info) VMD for MACOSX, version 1.8.5 (September 19, 2006)
>> Info) http://www.ks.uiuc.edu/Research/vmd/
>> Info) Email questions and bug reports to vmd at ks.uiuc.edu
>> Info) Please include this reference in published work using VMD:
>> Info)    Humphrey, W., Dalke, A. and Schulten, K., `VMD - Visual
>> Info)    Molecular Dynamics', J. Molec. Graphics 1996, 14.1, 33-38.
>> Info) -------------------------------------------------------------
>> Info) Multithreading available, 2 CPUs detected.
>> ERROR) filetype argument '-debug' needs a filename.
>> Xlib:  extension "Generic Event Extension" missing on display   
>> "/tmp/launch-FIgrW9/:0".
>> initializing libGL in apple_init_glx
>> DIAG: CGL major 1 minor 2
>> Xlib:  extension "Generic Event Extension" missing on display   
>> "/tmp/launch-FIgrW9/:0".
>> WARNING: unknown GLX tag from server: tag 0xb019fe04 value 0x1106b5
>> WARNING: unknown GLX tag from server: tag 0x17c7dab0 value 0x0
>> WARNING: unknown GLX tag from server: tag 0xb019fe04 value 0x4ce360
>> WARNING: unknown GLX tag from server: tag 0x4fe19b0 value 0xb5061100
>> WARNING: unknown GLX tag from server: tag 0xb0dac717 value 0x0
>> WARNING: unknown GLX tag from server: tag 0x4fe19b0 value 0x60e34c00
>> ...
>> WARNING: unknown GLX tag from server: tag 0xb019fe04 value 0x4ce360
>> WARNING: unknown GLX tag from server: tag 0x4fe19b0 value 0xb5061100
>> WARNING: unknown GLX tag from server: tag 0xb0dac717 value 0x0
>> WARNING: unknown GLX tag from server: tag 0x4fe19b0 value 0x60e34c00
>> DIAG: apple_glx_create_context: ac 0xc4e080 ac->context_obj 0x100cc00
>> DIAG: apple_glx_drawable_create: new drawable 0x100f200
>> X Error of failed request:  BadRequest (invalid request code or no   
>> such operation)
>>   Major opcode of failed request:  128 (Apple-DRI)
>>   Minor opcode of failed request:  2 ()
>>   Serial number of failed request:  40
>>   Current serial number in output stream:  40
>
> I now think I know what is wrong -- PPC binaries have a different byte  
> order, so when the X server request comes in, there is no expectation  
> that a LocalClient() would need byte swapping.  X assumes that if  
> LocalClient is true, then we have the same byte order, and the AppleDRI 
> extension makes that assumption too.  This may explain why indirect 
> worked before, because in that case the LocalClient would return false, 
> and swapping occurs due to the use of indirect.
>
> If you run the X server with Rosetta it should all work.  This may help:
> http://support.apple.com/kb/HT1730
>
> Specifically this is the path that is failing:
>    if (!LocalClient(client))
>         return DRIErrorBase + AppleDRIClientNotLocal;
>
>     switch (stuff->data)
>     {
>     case X_AppleDRIAuthConnection:
>         return ProcAppleDRIAuthConnection(client);
>     case X_AppleDRICreateSurface:
>         return ProcAppleDRICreateSurface(client);
>     case X_AppleDRIDestroySurface:
>         return ProcAppleDRIDestroySurface(client);
>     case X_AppleDRICreatePixmap:
> 	return ProcAppleDRICreatePixmap(client);
>     case X_AppleDRIDestroyPixmap:
> 	return ProcAppleDRIDestroyPixmap(client);
>
>     default:
>         return BadRequest;
>     }
>
> That's from:
> http://cgit.freedesktop.org/xorg/xserver/tree/hw/xquartz/xpr/appledri.c?h=xorg-server-1.4-apple
>
> I haven't changed that path in a way that would make this fail.  It's an 
> old bug.  Hopefully we can resolve this in a better way in the future.  
> Perhaps the client could send its current byte order, but that wouldn't 
> work either, because we would need all X protocol requests to do that.  
> The LocalClient should really change to understand the Mac Rosetta case 
> better, but we would also need to byte-order swap in the AppleDRI code, 
> and handle the local case with swapping to make this work properly.
>
>
> George
> -- 
> http://people.freedesktop.org/~gstaplin/
> _______________________________________________
> Xquartz-dev mailing list
> Xquartz-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev

George,
    Oddly I don't seem to have an 'Open in Rosetta' checkbox for the X11
application in 10A286? Do you have one in your copy of Snow Leopard?
I guess I had better file a bug report about that one.
                 Jack


More information about the Xquartz-dev mailing list