I actually bit the bullet and went ahead and implemented X RENDER v0.10 
in the TurboVNC trunk by borrowing some code from xorg-xserver 1.1.1, 
the same version used in RHEL 5.  This newer RENDER implementation 
should support RenderCreateLinearGradient and all of the other RENDER 
functionality supported by modern X servers.  This makes our 
implementation of RENDER functionally similar to that of, for instance, 
the cross-compatible version of TigerVNC 1.2.0 (which uses xorg-xserver 
1.6.5) or the version of RealVNC that ships in RHEL 5.

The issues with Ubuntu 11 and 12 and WINE were a bellwether for other 
modern apps that just use the RENDER 0.10 functions without checking 
whether they exist.  I suspect that, were this not done, we would have 
encountered more compatibility problems later on.  Further, I added a 
new Xvnc option (-norender) that can be used to disable RENDER for 
testing purposes.

I'll let you know when a pre-release build is available.  I'm still in 
the process of migrating the whole build and packaging system to CMake 
so I can properly integrate the new Java viewer into the build system.


On 7/25/12 3:51 PM, DRC wrote:
> RenderCreateLinearGradient is not a GLX request but rather an X RENDER
> request.  Probably the issue is that the version of RENDER used in
> TurboVNC is older, and thus that function is not available.  Some apps
> are ill-behaved and don't check the version of RENDER before trying to
> use it.
>
> I'm wondering if using TurboVNC 1.0.2, which lacks RENDER altogether,
> will force WINE to fall back properly.  If so, then it would be
> straightforward to add a switch to TurboVNC 1.1 to disable RENDER, until
> such time as I can implement a newer version of that extension.
>
>
> On 7/19/12 6:38 AM, Shanon Loughton wrote:
>> Hi all
>>
>> Ive come across a common wine or X error with vgl when trying to run 2
>> unrelated windows 3D apps.
>>
>> Both of them are 32 bit apps, similar to 3D model/CAD viewers, and wine
>> is setup such that a 32 bit windows environment is enforced with wine
>> env variables on my 64 bit Ubuntu.
>>
>> This basic 32 bit windows opengl gears
>> <http://www2.cs.uidaho.edu/%7Ejeffery/win32/wglgears.exe> works fine for
>> example:
>> $  WINEPREFIX=$HOME/.wine32 WINEARCH=win32
>> LD_PRELOAD=/usr/lib32/libdlfaker.so:/usr/lib32/librrfaker.so:/usr/lib32/libgefaker.so
>> wine wglgears.exe
>>
>> Moving onto a more complicated example, my first app appears to load ok
>> then the last step fails before rendering the window:
>> $  WINEPREFIX=$HOME/.wine32 WINEARCH=win32
>> LD_PRELOAD=/usr/lib32/libdlfaker.so:/usr/lib32/librrfaker.so:/usr/lib32/libgefaker.so
>> wine myapp1.exe
>>
>> with an error:
>> X Error of failed request:  BadRequest (invalid request code or no such
>> operation)
>>    Major opcode of failed request:  136 (RENDER)
>>    Minor opcode of failed request:  34 (RenderCreateLinearGradient)
>>    Serial number of failed request:  3574
>>    Current serial number in output stream:  3651
>>
>> My second app actually loads and runs ok with a display window, and some
>> basic models render and can be spun around which is great.  However
>> loading particular models with more or different detail crashes the app
>> similarly to the first app above:
>> $  WINEPREFIX=$HOME/.wine32 WINEARCH=win32
>> LD_PRELOAD=/usr/lib32/libdlfaker.so:/usr/lib32/librrfaker.so:/usr/lib32/libgefaker.so
>> wine myapp2.exe
>> ...
>> X Error of failed request:  BadRequest (invalid request code or no such
>> operation)
>>    Major opcode of failed request:  136 (RENDER)
>>    Minor opcode of failed request:  34 (RenderCreateLinearGradient)
>>    Serial number of failed request: 85979
>>    Current serial number in output stream: 86106
>>
>> Im curious if the problem is RENDER:RenderCreateLinearGradient GLX
>> function is simply not available with this setup? Or something else?
>>
>> Outputs with VGL_TRACE=1 and WINEDEBUG=+wgl:
>> MyApp1
>> http://pastebin.com/raw.php?i=k5szNTcb
>>
>> MyApp2 (very long because it ran for a short while before crashing)
>> http://snipurl.com/24d8ej2
>>
>> My Environment:
>>   - Ubuntu 12.04 64 bit on both client and server physical machines, both
>> intel 64 bit cpu, server has an Nvidia with pbuffer support.
>>   - turbovnc_1.1_amd64.deb on both client and server
>>   - virtualgl_2.3.1_amd64.deb, and virtualgl32_2.3.1_amd64.deb on server,
>> according to 2.3.1 documentation
>>   - Wine1.4, with WINEPREFIX=$HOME/.wine32 WINEARCH=win32 winecfg
>> (creates 32 bit windows install)
>>   - glxinfo on server shows glx vendor string: NVIDIA Corporation, p in
>> the 'drw typ' column
>>   - vglserver_config all usual, no limits in place
>>
>> Cheers
>> Shanon
>>
>>
>> ------------------------------------------------------------------------------
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>
>>
>>
>> _______________________________________________
>> VirtualGL-Users mailing list
>> VirtualGL-Users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/virtualgl-users

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
VirtualGL-Users mailing list
VirtualGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to