[Mesa-users] OSMesa problems with proprietary NVIDIA 304 drivers on Debian Jessie
Andreas Weber
octave at tech-chat.de
Sat May 16 02:13:00 PDT 2015
Hi Brian, thank you for your answer.
On 15.05.2015 16:35, Brian Paul wrote:
> On 05/14/2015 03:13 PM, Andreas Weber wrote:
>> Dear users and maintainers,
>>
>> we want to use OSMesa for offscreen rendering in the upcoming GNU Octave
>> 4.0 release. Unfortunately I'm facing some unecpected problems when
>> using proprietary NVIDIA 304 legacy drivers (it works fine if switching
>> to nouveau or on machines with AMD or Intel GPU).
>
> Just to be clear, OSMesa does not work with nvidia's driver/hardware (or
> any other GPU). The OSMesa interface only works with software rendering
> (swrast, softpipe, llvmpipe). If you want to do offscreen rendering
> with a hardware GPU, the easiest approach is to use framebuffer objects.
I would like to be able to render OpenGL to a bitmap or, using gl2ps, to
PostScript without needing a X display or even a hardware GPU (aka
headless server).
I'm not familiar with the Mesa or OpenGL internals so my question might
sound naive but how can I force a program to use swrast, softpipe or
llvmpipe? I tired setting LIBGL_ALWAYS_SOFTWARE=1 but apparently this
doesn't work if the Nvidia drivers are installed. And why does osdemo
work even if Nvidia drivers are installed but Octave not? Some compile
or linker flags?
>> The problem is that the generated image is almost black and values
>> queried with glGetIntegerv contains arbitray values, for example
>> ...
> My guess is you're calling glGetIntegerv() without having a current
> rendering context. The values you're getting are probably the
> uninitialized values of z, s, ar, etc.
Yes, you are right this was the reason. I though if OSMesaContext and
OSMesaCreateContextExt return without error I can assume that there is a
current rendering context.
-- Andy
More information about the mesa-users
mailing list