Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-13 Thread Kevin H. Hobbs
On 02/12/2013 04:44 PM, Utkarsh Ayachit wrote:
 Oops sorry, use pvbatch. You'll have to specify the script in a file
 on the command line however.
 


$ export LD_LIBRARY_PATH=/home/kevin/drm_nightly/lib/:$LD_LIBRARY_PATH
$ export LIBGL_DEBUG=verbose
$ kitware/ParaView_Dual_Build/bin/pvbatch segpv.py
libGL: OpenDriver: trying /home/kevin/mesa_dual/lib/dri/nouveau_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/kevin/.drirc: No such file or
directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/kevin/.drirc: No such file or
directory.
$ unset DISPLAY
$ kitware/ParaView_Dual_Build/bin/pvbatch --use-offscreen-rendering segpv.py

:-)



signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-12 Thread Utkarsh Ayachit
Interesting. I cannot remember how I built my mesa. I'll give your
options a try and test it.

On Fri, Feb 8, 2013 at 5:14 PM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote:
 Kevin,

 I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView
 3.14.1 a try and unfortunately it still segfaults when creating a
 context when using OSMesa

 How did you generate the segfault?
 Did you do an Xlib build or DRI? (shared glapi is disabled for xlib builds)

 I just did this build:

 http://open.cdash.org/buildSummary.php?buildid=2804770

 which has hardware accelerated rendering and OSMesa.

 Mesa was built with the script : update_mesa_dual.sh.

 It fared no worse than my other DRI Mesa ( neither xlib nor OSMesa) builds.


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-12 Thread Utkarsh Ayachit
I think I remember, try running pvpython with
--use-offscreen-rendering and then run the following script.

from paraview.simple import *
Sphere()
Show()
Render()

Does that still work?

Utkarsh

On Fri, Feb 8, 2013 at 5:14 PM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote:
 Kevin,

 I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView
 3.14.1 a try and unfortunately it still segfaults when creating a
 context when using OSMesa

 How did you generate the segfault?
 Did you do an Xlib build or DRI? (shared glapi is disabled for xlib builds)

 I just did this build:

 http://open.cdash.org/buildSummary.php?buildid=2804770

 which has hardware accelerated rendering and OSMesa.

 Mesa was built with the script : update_mesa_dual.sh.

 It fared no worse than my other DRI Mesa ( neither xlib nor OSMesa) builds.


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-12 Thread Kevin H. Hobbs
On 02/12/2013 12:16 PM, Utkarsh Ayachit wrote:
 I think I remember, try running pvpython with
 --use-offscreen-rendering 

It does not have this option.




signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-12 Thread Utkarsh Ayachit
Oops sorry, use pvbatch. You'll have to specify the script in a file
on the command line however.

 pvbatch --use-offscreen-rendering test.py

Utkarsh

On Tue, Feb 12, 2013 at 2:14 PM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 02/12/2013 12:16 PM, Utkarsh Ayachit wrote:
 I think I remember, try running pvpython with
 --use-offscreen-rendering

 It does not have this option.


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-08 Thread Utkarsh Ayachit
That's good to hear. Hopefully one day soon :).

On Fri, Feb 8, 2013 at 10:34 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote:
 Kevin,

 I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView
 3.14.1 a try and unfortunately it still segfaults when creating a
 context when using OSMesa -- consistent with the behavior before glapi
 library was created. So alas, doesn't look like we can use  onscreen
 and offscreen Mesa together as in the pre Mesa-7.9 days.


 Drat.

 I monitor the mesa-dev list (In bursts between projects) and it still
 sounds like mesa and it's build system are gradually becoming more flexible.


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-08 Thread Kevin H. Hobbs
On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote:
 Kevin,
 
 I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView
 3.14.1 a try and unfortunately it still segfaults when creating a
 context when using OSMesa -- consistent with the behavior before glapi
 library was created. So alas, doesn't look like we can use  onscreen
 and offscreen Mesa together as in the pre Mesa-7.9 days.
 

Drat.

I monitor the mesa-dev list (In bursts between projects) and it still
sounds like mesa and it's build system are gradually becoming more flexible.




signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-02-08 Thread Kevin H. Hobbs
On 01/21/2013 02:35 PM, Utkarsh Ayachit wrote:
 Kevin,
 
 I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView
 3.14.1 a try and unfortunately it still segfaults when creating a
 context when using OSMesa

How did you generate the segfault?
Did you do an Xlib build or DRI? (shared glapi is disabled for xlib builds)

I just did this build:

http://open.cdash.org/buildSummary.php?buildid=2804770

which has hardware accelerated rendering and OSMesa.

Mesa was built with the script : update_mesa_dual.sh.

It fared no worse than my other DRI Mesa ( neither xlib nor OSMesa) builds.




update_mesa_dual.sh
Description: application/shellscript


signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2013-01-21 Thread Utkarsh Ayachit
Kevin,

I gave using GL and OSMesa together using Mesa-9.0.1 with a ParaView
3.14.1 a try and unfortunately it still segfaults when creating a
context when using OSMesa -- consistent with the behavior before glapi
library was created. So alas, doesn't look like we can use  onscreen
and offscreen Mesa together as in the pre Mesa-7.9 days.

Utkarsh

On Mon, Oct 22, 2012 at 10:12 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 10/19/2012 03:54 PM, Utkarsh Ayachit wrote:
 and the resulting GL and OSMesa libraries both link glapi which was the
 source of the trouble with conflicting/hidden symbols :

 That's unfortunate. Guess we are still stuck with keep the two builds
 separate then.

 I'm sorry, I was sloppy in my use of the word link.

 I believe it may now be possible to build ParaView once with accelerated
 mesa and offscreen rendering in software.

 The GL and OSMesa libraries built as I described now link to the shared
 library glapi which was the source of missing symbols in the OSMesa
 library when the glapi object was compiled into the GL library and its
 symbols were hidden, and the source of conflicting symbols when the
 glapi object was compiled into both the GL and OSMesa libraries.

 Now that glapi is a stand alone shared library it should be no different
 than two shared libraries both linking the math library.



___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-22 Thread Kevin H. Hobbs
On 10/19/2012 03:54 PM, Utkarsh Ayachit wrote:
 and the resulting GL and OSMesa libraries both link glapi which was the
 source of the trouble with conflicting/hidden symbols :
 
 That's unfortunate. Guess we are still stuck with keep the two builds
 separate then.

I'm sorry, I was sloppy in my use of the word link.

I believe it may now be possible to build ParaView once with accelerated
mesa and offscreen rendering in software.

The GL and OSMesa libraries built as I described now link to the shared
library glapi which was the source of missing symbols in the OSMesa
library when the glapi object was compiled into the GL library and its
symbols were hidden, and the source of conflicting symbols when the
glapi object was compiled into both the GL and OSMesa libraries.

Now that glapi is a stand alone shared library it should be no different
than two shared libraries both linking the math library.





signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-22 Thread Utkarsh Ayachit
Ah..cool. What version of Mesa is this 9.0 or 8.0.*?

Utkarsh

On Mon, Oct 22, 2012 at 10:12 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 10/19/2012 03:54 PM, Utkarsh Ayachit wrote:
 and the resulting GL and OSMesa libraries both link glapi which was the
 source of the trouble with conflicting/hidden symbols :

 That's unfortunate. Guess we are still stuck with keep the two builds
 separate then.

 I'm sorry, I was sloppy in my use of the word link.

 I believe it may now be possible to build ParaView once with accelerated
 mesa and offscreen rendering in software.

 The GL and OSMesa libraries built as I described now link to the shared
 library glapi which was the source of missing symbols in the OSMesa
 library when the glapi object was compiled into the GL library and its
 symbols were hidden, and the source of conflicting symbols when the
 glapi object was compiled into both the GL and OSMesa libraries.

 Now that glapi is a stand alone shared library it should be no different
 than two shared libraries both linking the math library.



___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-22 Thread Kevin H. Hobbs
On 10/22/2012 10:15 AM, Utkarsh Ayachit wrote:
 Ah..cool. What version of Mesa is this 9.0 or 8.0.*?
 

I compiled mesa from git.




signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-19 Thread Kevin H. Hobbs
On 10/18/2012 10:49 AM, Utkarsh Ayachit wrote:
 So we have onscreen and offscreen rendering and what type of offscreen
 rendering is used depends on whether we built with OSMesa. That was
 the case for the longest time. Now, with Mesa 7.9, Mesa folks decided
 that applications could no longer link against libOSMesa and libGL at
 the same time. That means that we can no longer support onscreen and
 offscreen with OSMesa in the same build of ParaView
 (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone
 has ideas on overcoming this issue, I'm all ears.


There has been some chatter on the Mesa developers list that sounds like
this may be fixed.

1. The mesa build system underwent a _major_ overhaul.
2. building glapi as a shared object sounds like it _might_ overcome the
mess that involved hidden/duplicate symbols, needed by both GL and OSMesa.
3. Then there's this resolved bug:
https://bugs.freedesktop.org/show_bug.cgi?id=6980 that seems to say go
ahead -lGL -lOSMesa

I'll give it a try again.




signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-19 Thread Utkarsh Ayachit
Interesting. Although I am not sure if the mesa developers simply mean
that you can build libGL and libOSMesa at the same time (which is
indeed possible). But worth a try. I will test it out with the latest
mesa and get back to the list. I am positive this didn't work with the
7.* series.

Utkarsh

On Fri, Oct 19, 2012 at 10:20 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
 On 10/18/2012 10:49 AM, Utkarsh Ayachit wrote:
 So we have onscreen and offscreen rendering and what type of offscreen
 rendering is used depends on whether we built with OSMesa. That was
 the case for the longest time. Now, with Mesa 7.9, Mesa folks decided
 that applications could no longer link against libOSMesa and libGL at
 the same time. That means that we can no longer support onscreen and
 offscreen with OSMesa in the same build of ParaView
 (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone
 has ideas on overcoming this issue, I'm all ears.


 There has been some chatter on the Mesa developers list that sounds like
 this may be fixed.

 1. The mesa build system underwent a _major_ overhaul.
 2. building glapi as a shared object sounds like it _might_ overcome the
 mess that involved hidden/duplicate symbols, needed by both GL and OSMesa.
 3. Then there's this resolved bug:
 https://bugs.freedesktop.org/show_bug.cgi?id=6980 that seems to say go
 ahead -lGL -lOSMesa

 I'll give it a try again.


___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-19 Thread Pat Marion
Is it useful to have a pvserver binary that supports both GLX and OSMesa?
Usually an environment that requires pvserver osmesa doesn't have X11
installed, so you wouldn't want a binary with dependencies on X11.

Pat

On Fri, Oct 19, 2012 at 10:25 AM, Utkarsh Ayachit 
utkarsh.ayac...@kitware.com wrote:

 Interesting. Although I am not sure if the mesa developers simply mean
 that you can build libGL and libOSMesa at the same time (which is
 indeed possible). But worth a try. I will test it out with the latest
 mesa and get back to the list. I am positive this didn't work with the
 7.* series.

 Utkarsh

 On Fri, Oct 19, 2012 at 10:20 AM, Kevin H. Hobbs hob...@ohio.edu wrote:
  On 10/18/2012 10:49 AM, Utkarsh Ayachit wrote:
  So we have onscreen and offscreen rendering and what type of offscreen
  rendering is used depends on whether we built with OSMesa. That was
  the case for the longest time. Now, with Mesa 7.9, Mesa folks decided
  that applications could no longer link against libOSMesa and libGL at
  the same time. That means that we can no longer support onscreen and
  offscreen with OSMesa in the same build of ParaView
  (http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone
  has ideas on overcoming this issue, I'm all ears.
 
 
  There has been some chatter on the Mesa developers list that sounds like
  this may be fixed.
 
  1. The mesa build system underwent a _major_ overhaul.
  2. building glapi as a shared object sounds like it _might_ overcome the
  mess that involved hidden/duplicate symbols, needed by both GL and
 OSMesa.
  3. Then there's this resolved bug:
  https://bugs.freedesktop.org/show_bug.cgi?id=6980 that seems to say go
  ahead -lGL -lOSMesa
 
  I'll give it a try again.
 
 
 ___
 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the ParaView Wiki at:
 http://paraview.org/Wiki/ParaView

 Follow this link to subscribe/unsubscribe:
 http://www.paraview.org/mailman/listinfo/paraview

___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-19 Thread Kevin H. Hobbs
On 10/19/2012 10:25 AM, Utkarsh Ayachit wrote:
 Interesting. Although I am not sure if the mesa developers simply mean
 that you can build libGL and libOSMesa at the same time (which is
 indeed possible). But worth a try. I will test it out with the latest
 mesa and get back to the list. I am positive this didn't work with the
 7.* series.
 
 Utkarsh
 

I have to go do a physiological experiment in a few minutes but I just
built mesa with:

env PKG_CONFIG_PATH=/home/kevin/drm_nightly/lib/pkgconfig/ ./configure
--prefix=/home/kevin/mesa_dual/ --enable-osmesa
--with-gallium-drivers=r300,r600,nouveau,swrast
--with-dri-drivers=swrast

and the resulting GL and OSMesa libraries both link glapi which was the
source of the trouble with conflicting/hidden symbols :


[kevin@bubbles lib]$ ldd libOSMesa.so | grep glapi
libglapi.so.0 = /home/kevin/mesa_dual/lib/libglapi.so.0
(0x7f6aea46)

[kevin@bubbles lib]$ ldd libGL.so | grep glapi
libglapi.so.0 = /home/kevin/mesa_dual/lib/libglapi.so.0
(0x7f352f8c2000)




signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-19 Thread Utkarsh Ayachit
On Fri, Oct 19, 2012 at 10:36 AM, Pat Marion pat.mar...@kitware.com wrote:
 Is it useful to have a pvserver binary that supports both GLX and OSMesa?
 Usually an environment that requires pvserver osmesa doesn't have X11
 installed, so you wouldn't want a binary with dependencies on X11.

It is quite useful, especially since people want to run command line
tools without render window popping up (OSMesa), but want to use the
Paraview Qt application. Right now, they need to have separate builds
for that, which is kinda inconvenient.

Utkarsh
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-19 Thread Utkarsh Ayachit
 and the resulting GL and OSMesa libraries both link glapi which was the
 source of the trouble with conflicting/hidden symbols :

That's unfortunate. Guess we are still stuck with keep the two builds
separate then.
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-18 Thread Utkarsh Ayachit
Sorry for joining this conversation late (let's just say, never
experiment with lousy email organizers). Let me explain the background
behind the various flags and options (sticking with Linux systems).

vtkOpenGLRenderWindow has 3 modes: (a) X-based render window with
renderings done in the onscreen frame buffers (b) X-based render
window with rendering done in an offscreen buffer (either FBO, or
pbuffers, and such), (c) non-xbased render window using OSMesa.  In
both, (a), and (b), we need X and hence we see an X window. However
depending on OpenGL drivers and Windowing system, (a) may end up
rendering where overlapping windows corrupt the rendered images, hence
(b) can be used to avoid such anomalies with overlapping windows.

VTK_USE_OFFSCREEN is pretty much a bogus flag as far as ParaView is
concerned. It is used in VTK to set the default value of
vtkRenderWindow::OffScreenRendering flag. I don't know why VTK decided
that this should be a CMake flag since users can change the setting at
run-time anyways, but that has been the case for ages.

--use-offscreen-rendering is ParaView's runtime argument that tells
ParaView to create offscreen render windows (either (b) or (c)) when
render windows are created. Whether (b) or (c) is chosen depends on
whether ParaView was built with OSMesa support (this is where the
VTK_OPENGL_HAS_OSMESA flag comes into play. VTK_USE_OSMESA, is an
internal variable and cannot be set using CMake, so we can just ignore
it for now).

So one basically switches between onscreen and offscreen rendering
(either using fbo/buffers or OSmesa) using the runtime flag. As I
mentioned, onscreen rendering has had issues with overlapping windows
with certain drivers, windowing systems. Hence we decided to use
offscreen rendering for screenshots to avoid corrupting the captured
image. That itself would cause problems on some other implementations
where FBOs/Pbuffers didn't work correctly, or when using fancy
representations with shaders etc, and hence we added the option to not
use offscreen rendering for screenshots in the Settings dialog.

So we have onscreen and offscreen rendering and what type of offscreen
rendering is used depends on whether we built with OSMesa. That was
the case for the longest time. Now, with Mesa 7.9, Mesa folks decided
that applications could no longer link against libOSMesa and libGL at
the same time. That means that we can no longer support onscreen and
offscreen with OSMesa in the same build of ParaView
(http://paraview.org/Wiki/ParaView_And_Mesa_3D). Of course, if someone
has ideas on overcoming this issue, I'm all ears.

Utkarsh

On Wed, Oct 17, 2012 at 11:51 PM, Orion Poplawski or...@cora.nwra.com wrote:
 On 10/09/2012 11:55 AM, Cook, Rich wrote:

 As a user, I would prefer a single compile which links against OSMesa
 AND OpenGL AND MPI if they are available, but uses whatever the user
 chooses at runtime.  This requires code logic to handle, with #ifdefs to
 handle the case where some feature is not available at compile time, and
 additional if/then statements in C to handle the user choice, but seems
 doable and would vastly simplify compilation, installation and usage.
 Thanks


 As a packager, I believe this is important to achieve as well.


 --
 Orion Poplawski
 Technical Manager 303-415-9701 x222
 NWRA/CoRA DivisionFAX: 303-415-9702
 3380 Mitchell Lane  or...@cora.nwra.com
 Boulder, CO 80301  http://www.cora.nwra.com

 ___
 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the ParaView Wiki at:
 http://paraview.org/Wiki/ParaView

 Follow this link to subscribe/unsubscribe:
 http://www.paraview.org/mailman/listinfo/paraview
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-17 Thread Orion Poplawski

On 10/09/2012 11:55 AM, Cook, Rich wrote:

As a user, I would prefer a single compile which links against OSMesa
AND OpenGL AND MPI if they are available, but uses whatever the user
chooses at runtime.  This requires code logic to handle, with #ifdefs to
handle the case where some feature is not available at compile time, and
additional if/then statements in C to handle the user choice, but seems
doable and would vastly simplify compilation, installation and usage.
Thanks


As a packager, I believe this is important to achieve as well.


--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA DivisionFAX: 303-415-9702
3380 Mitchell Lane  or...@cora.nwra.com
Boulder, CO 80301  http://www.cora.nwra.com
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-11 Thread Pat Marion
Hi Rich,

I think the Mesa driver is installed by default on most linux distos today
(maybe not?), but the proprietary hardware drivers take priority when
installed and enabled.  You can configure X11 (or uninstall your nvidia
driver or whatever you may have), so that the mesa driver will kick in.  If
you run glxinfo | grep vendor then you'll either see the name of your
enabled proprietary driver vendor, or you'll see Mesa.  This is a system
configuration thing, which driver is being used does not affect ParaView,
it's invisible to ParaView (except ParaView might query for  and use vendor
specific extensions that are only available in the proprietary driver).

On ubuntu there are two packages: libgl1-mesa-swx11 and libgl1-mesa-glx.  I
think that the mesa-swx11 is used more infrequently, it is a pure software
implementation while the mesa-glx packages actually uses hardware
acceleration for it's drawing-
http://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure

OSMesa is different because it has a specific API that you have to code to
and link your program to the OSMesa library.

Pat

On Tue, Oct 9, 2012 at 1:52 PM, Cook, Rich coo...@llnl.gov wrote:

  Very interesting.  Brian Paul is everywhere!  :-)
 I have a question, however.  You say that one can use Mesa X11 rendering
 (as opposed to OSMesa rendering).  How would that be done?  The only mesa
 rendering I'm aware of is OSMesa.  What is this Mesa OpenGL driver which
 renders in software but is not OSMesa?
 Thanks
 -- Rich

  On Oct 9, 2012, at 6:28 AM, Pat Marion wrote:

 Hi Rich,

 I totally agreee with you, I find it very confusing that there is a
 compile time flag VTK_USE_OFFSCREEN, and a runtime flag
 --use-offscreen-rendering, and an OSMesa compile flag
 VTK_OPENGL_HAS_OSMESA.  I think that the options could be presented in a
 way that makes it more clear what is happening.

 I want to clarify some things here.  There are actually several very
 different concepts that are all kinda mixed up by the way that VTK presents
 the options:

 1) hardware accelerated rendering vs. software rendering
 2) regular rendering vs. offscreen rendering vs. OSMesa rendering

 Just saying offscreen rendering is totally not specific enough to have
 any idea what is really happening under the hood, a lot of people assume
 different things when they hear offscreen rendering, and I think that's
 where the problem is.

 First, hardware vs. software rendering.  If you use the Mesa OpenGL driver
 (not to be confused with the OSMesa library!), you are using software
 rendering.  But, the mesa driver renders into a buffer that is owned by the
 operating system and window manager (X11).  So you are using a software
 implementation of OpenGL, but rendering on screen, and you depend on X11
 APIs and an X server.  If you have a GPU, then you can use a hardware
 driver, and similarly you depend on X11.  You can switch between a hardware
 driver and a Mesa driver without recompiling any software.

 Second, regular rendering vs. offscreen rendering.  Here is an old, but
 very informative, article on the many different implementations of
 offscreen rendering:   http://www.mesa3d.org/brianp/sig97/offscrn.htm
 Note that Mesa offscreen rendering, OSMesa, is just one of many different
 offscreen rendering APIs described in the article.  You can do hardware
 accelerated offscreen rendering, and that is totally different from
 OSMesa.  For example, using X11, you can render into a GLX pixmap.  A GLX
 pixmap is a render buffer that is not associated with a window, it is
 offscreen, but the rendering uses your GL driver, which could be a
 hardware accelerated driver or a Mesa software driver, but not OSMesa.

 Finally, there is OSMesa.  It uses Mesa software rendering, and renders
 into a special OSMesa buffer.  Using OSMesa, you have zero dependency on
 X11.  You don't need X11 at build time or at run time.  Here's more
 information about OSMesa: http://www.mesa3d.org/osmesa.html

 So, in summary,

 -you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an
 X11 window.
 -you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an
 X11 managed offscreen buffer.
 -you can use OSMesa for software rendering without any dependency on X11.

 For MPI cluster runs of paraview, the two most common configurations are
 GPU with X11, or OSMesa without X11.  If you didn't have a GPU on your
 nodes, you might also use Mesa with X11, but render on screen.

 If you grep VTK source code for OSMESA, you will find multiple confusing
 flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code
 to decide whether or not we want to use on screen or offscreen rendering
 with gpu, or OSMesa rendering.  If VTK is truly compiled for OSMesa, it
 means that ldd pvserver lists only OSMesa and no X11 or OpenGL
 dependencies.  When you have compiled with OSMesa, the
 --use-offscreen-rendering flag can be completely ignored, VTK will always
 use OSMesa.

 I think the 

Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-11 Thread Cook, Rich
That makes perfect sense, thanks for that explanation.
So in fact, software mesa rendering is not something you do with Paraview 
either at compile or runtime.  Paraview just uses OpenGL and the implementation 
is hardware or software.
I had thought OSMesa was simply an OpenGL implementation.  Thanks for 
clarifying that it is somewhat different, which tells me why there would be a 
special flag for it.  OSMesa does seem to implement OpenGL, though, because I 
have successfully switched between hardware and software rendering with other 
applications that need OpenGL simply by pointing at OSMesa with 
LD_LIBRARY_PATH.  This has fixed situations where GLX breaks things.
-- Rich

On Oct 11, 2012, at 7:28 AM, Pat Marion wrote:

Hi Rich,

I think the Mesa driver is installed by default on most linux distos today 
(maybe not?), but the proprietary hardware drivers take priority when installed 
and enabled.  You can configure X11 (or uninstall your nvidia driver or 
whatever you may have), so that the mesa driver will kick in.  If you run 
glxinfo | grep vendor then you'll either see the name of your enabled 
proprietary driver vendor, or you'll see Mesa.  This is a system configuration 
thing, which driver is being used does not affect ParaView, it's invisible to 
ParaView (except ParaView might query for  and use vendor specific extensions 
that are only available in the proprietary driver).

On ubuntu there are two packages: libgl1-mesa-swx11 and libgl1-mesa-glx.  I 
think that the mesa-swx11 is used more infrequently, it is a pure software 
implementation while the mesa-glx packages actually uses hardware acceleration 
for it's drawing- http://en.wikipedia.org/wiki/Direct_Rendering_Infrastructure

OSMesa is different because it has a specific API that you have to code to and 
link your program to the OSMesa library.

Pat

On Tue, Oct 9, 2012 at 1:52 PM, Cook, Rich 
coo...@llnl.govmailto:coo...@llnl.gov wrote:
Very interesting.  Brian Paul is everywhere!  :-)
I have a question, however.  You say that one can use Mesa X11 rendering (as 
opposed to OSMesa rendering).  How would that be done?  The only mesa rendering 
I'm aware of is OSMesa.  What is this Mesa OpenGL driver which renders in 
software but is not OSMesa?
Thanks
-- Rich

On Oct 9, 2012, at 6:28 AM, Pat Marion wrote:

Hi Rich,

I totally agreee with you, I find it very confusing that there is a compile 
time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and 
an OSMesa compile flag VTK_OPENGL_HAS_OSMESA.  I think that the options could 
be presented in a way that makes it more clear what is happening.

I want to clarify some things here.  There are actually several very different 
concepts that are all kinda mixed up by the way that VTK presents the options:

1) hardware accelerated rendering vs. software rendering
2) regular rendering vs. offscreen rendering vs. OSMesa rendering

Just saying offscreen rendering is totally not specific enough to have any 
idea what is really happening under the hood, a lot of people assume different 
things when they hear offscreen rendering, and I think that's where the 
problem is.

First, hardware vs. software rendering.  If you use the Mesa OpenGL driver (not 
to be confused with the OSMesa library!), you are using software rendering.  
But, the mesa driver renders into a buffer that is owned by the operating 
system and window manager (X11).  So you are using a software implementation of 
OpenGL, but rendering on screen, and you depend on X11 APIs and an X server.  
If you have a GPU, then you can use a hardware driver, and similarly you depend 
on X11.  You can switch between a hardware driver and a Mesa driver without 
recompiling any software.

Second, regular rendering vs. offscreen rendering.  Here is an old, but very 
informative, article on the many different implementations of offscreen 
rendering:   http://www.mesa3d.org/brianp/sig97/offscrn.htm
Note that Mesa offscreen rendering, OSMesa, is just one of many different 
offscreen rendering APIs described in the article.  You can do hardware 
accelerated offscreen rendering, and that is totally different from OSMesa.  
For example, using X11, you can render into a GLX pixmap.  A GLX pixmap is a 
render buffer that is not associated with a window, it is offscreen, but the 
rendering uses your GL driver, which could be a hardware accelerated driver or 
a Mesa software driver, but not OSMesa.

Finally, there is OSMesa.  It uses Mesa software rendering, and renders into a 
special OSMesa buffer.  Using OSMesa, you have zero dependency on X11.  You 
don't need X11 at build time or at run time.  Here's more information about 
OSMesa: http://www.mesa3d.org/osmesa.html

So, in summary,

-you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 
window.
-you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 
managed offscreen buffer.
-you can use OSMesa for software rendering without any 

Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-09 Thread Pat Marion
Hi Rich,

I totally agreee with you, I find it very confusing that there is a compile
time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering,
and an OSMesa compile flag VTK_OPENGL_HAS_OSMESA.  I think that the options
could be presented in a way that makes it more clear what is happening.

I want to clarify some things here.  There are actually several very
different concepts that are all kinda mixed up by the way that VTK presents
the options:

1) hardware accelerated rendering vs. software rendering
2) regular rendering vs. offscreen rendering vs. OSMesa rendering

Just saying offscreen rendering is totally not specific enough to have
any idea what is really happening under the hood, a lot of people assume
different things when they hear offscreen rendering, and I think that's
where the problem is.

First, hardware vs. software rendering.  If you use the Mesa OpenGL driver
(not to be confused with the OSMesa library!), you are using software
rendering.  But, the mesa driver renders into a buffer that is owned by the
operating system and window manager (X11).  So you are using a software
implementation of OpenGL, but rendering on screen, and you depend on X11
APIs and an X server.  If you have a GPU, then you can use a hardware
driver, and similarly you depend on X11.  You can switch between a hardware
driver and a Mesa driver without recompiling any software.

Second, regular rendering vs. offscreen rendering.  Here is an old, but
very informative, article on the many different implementations of
offscreen rendering:   http://www.mesa3d.org/brianp/sig97/offscrn.htm
Note that Mesa offscreen rendering, OSMesa, is just one of many different
offscreen rendering APIs described in the article.  You can do hardware
accelerated offscreen rendering, and that is totally different from
OSMesa.  For example, using X11, you can render into a GLX pixmap.  A GLX
pixmap is a render buffer that is not associated with a window, it is
offscreen, but the rendering uses your GL driver, which could be a
hardware accelerated driver or a Mesa software driver, but not OSMesa.

Finally, there is OSMesa.  It uses Mesa software rendering, and renders
into a special OSMesa buffer.  Using OSMesa, you have zero dependency on
X11.  You don't need X11 at build time or at run time.  Here's more
information about OSMesa: http://www.mesa3d.org/osmesa.html

So, in summary,

-you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an
X11 window.
-you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an
X11 managed offscreen buffer.
-you can use OSMesa for software rendering without any dependency on X11.

For MPI cluster runs of paraview, the two most common configurations are
GPU with X11, or OSMesa without X11.  If you didn't have a GPU on your
nodes, you might also use Mesa with X11, but render on screen.

If you grep VTK source code for OSMESA, you will find multiple confusing
flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code
to decide whether or not we want to use on screen or offscreen rendering
with gpu, or OSMesa rendering.  If VTK is truly compiled for OSMesa, it
means that ldd pvserver lists only OSMesa and no X11 or OpenGL
dependencies.  When you have compiled with OSMesa, the
--use-offscreen-rendering flag can be completely ignored, VTK will always
use OSMesa.

I think the --use-offscreen-rendering flag is mostly for switching between
on screen and offscreen while still using a regular GL driver, and I'm
really not sure if anybody actually uses that feature, I certainly have
not.  To make things even more confusing, in ParaView there is a
preferences setting for Use offscreen rendering for screenshots.  Ouch.


Hope this helps!

Pat

p.s. If anybody has corrections, please let me know!


On Mon, Oct 8, 2012 at 2:23 PM, Burlen Loring blor...@lbl.gov wrote:

 Hi Rich,

 if you are installing on cluster, I would say that it's easier to use an
 MPI build. Of course when you build with MPI support you need to launch
 pvserver with mpirun (or the system equivalent). When you need a serial run
 just specify -n 1. You may be aware that, providing a server config will
 let your users select the number of mpi ranks and the layout of mpi ranks
 across cluster nodes from ParaView's GUI. ParaView should run on any number
 of mpi ranks. When you say you're running in serial, are you using the
 mpirun command? what errors/complaints are you experiencing?

 My recollection, is that the --use-offscreen-rendering is used to select
 between osmesa open gl and the system open gl when both are used in the
 same build. I haven't built ParaView this way in many years, hence my
 recollection is fuzzy. On the other hand, if you have two builds, one built
 with osmesa and the other using a system provided hardware accelerated open
 gl, this command line flag is not necessary.

 Burlen


 On 10/08/2012 10:21 AM, Cook, Rich wrote:

 Are you assuming we are always running in 

Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-09 Thread Cook, Rich
Very interesting.  Brian Paul is everywhere!  :-)
I have a question, however.  You say that one can use Mesa X11 rendering (as 
opposed to OSMesa rendering).  How would that be done?  The only mesa rendering 
I'm aware of is OSMesa.  What is this Mesa OpenGL driver which renders in 
software but is not OSMesa?
Thanks
-- Rich

On Oct 9, 2012, at 6:28 AM, Pat Marion wrote:

Hi Rich,

I totally agreee with you, I find it very confusing that there is a compile 
time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and 
an OSMesa compile flag VTK_OPENGL_HAS_OSMESA.  I think that the options could 
be presented in a way that makes it more clear what is happening.

I want to clarify some things here.  There are actually several very different 
concepts that are all kinda mixed up by the way that VTK presents the options:

1) hardware accelerated rendering vs. software rendering
2) regular rendering vs. offscreen rendering vs. OSMesa rendering

Just saying offscreen rendering is totally not specific enough to have any 
idea what is really happening under the hood, a lot of people assume different 
things when they hear offscreen rendering, and I think that's where the 
problem is.

First, hardware vs. software rendering.  If you use the Mesa OpenGL driver (not 
to be confused with the OSMesa library!), you are using software rendering.  
But, the mesa driver renders into a buffer that is owned by the operating 
system and window manager (X11).  So you are using a software implementation of 
OpenGL, but rendering on screen, and you depend on X11 APIs and an X server.  
If you have a GPU, then you can use a hardware driver, and similarly you depend 
on X11.  You can switch between a hardware driver and a Mesa driver without 
recompiling any software.

Second, regular rendering vs. offscreen rendering.  Here is an old, but very 
informative, article on the many different implementations of offscreen 
rendering:   http://www.mesa3d.org/brianp/sig97/offscrn.htm
Note that Mesa offscreen rendering, OSMesa, is just one of many different 
offscreen rendering APIs described in the article.  You can do hardware 
accelerated offscreen rendering, and that is totally different from OSMesa.  
For example, using X11, you can render into a GLX pixmap.  A GLX pixmap is a 
render buffer that is not associated with a window, it is offscreen, but the 
rendering uses your GL driver, which could be a hardware accelerated driver or 
a Mesa software driver, but not OSMesa.

Finally, there is OSMesa.  It uses Mesa software rendering, and renders into a 
special OSMesa buffer.  Using OSMesa, you have zero dependency on X11.  You 
don't need X11 at build time or at run time.  Here's more information about 
OSMesa: http://www.mesa3d.org/osmesa.html

So, in summary,

-you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 
window.
-you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 
managed offscreen buffer.
-you can use OSMesa for software rendering without any dependency on X11.

For MPI cluster runs of paraview, the two most common configurations are GPU 
with X11, or OSMesa without X11.  If you didn't have a GPU on your nodes, you 
might also use Mesa with X11, but render on screen.

If you grep VTK source code for OSMESA, you will find multiple confusing 
flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code to 
decide whether or not we want to use on screen or offscreen rendering with gpu, 
or OSMesa rendering.  If VTK is truly compiled for OSMesa, it means that ldd 
pvserver lists only OSMesa and no X11 or OpenGL dependencies.  When you have 
compiled with OSMesa, the --use-offscreen-rendering flag can be completely 
ignored, VTK will always use OSMesa.

I think the --use-offscreen-rendering flag is mostly for switching between on 
screen and offscreen while still using a regular GL driver, and I'm really not 
sure if anybody actually uses that feature, I certainly have not.  To make 
things even more confusing, in ParaView there is a preferences setting for Use 
offscreen rendering for screenshots.  Ouch.


Hope this helps!

Pat

p.s. If anybody has corrections, please let me know!


On Mon, Oct 8, 2012 at 2:23 PM, Burlen Loring 
blor...@lbl.govmailto:blor...@lbl.gov wrote:
Hi Rich,

if you are installing on cluster, I would say that it's easier to use an MPI 
build. Of course when you build with MPI support you need to launch pvserver 
with mpirun (or the system equivalent). When you need a serial run just specify 
-n 1. You may be aware that, providing a server config will let your users 
select the number of mpi ranks and the layout of mpi ranks across cluster 
nodes from ParaView's GUI. ParaView should run on any number of mpi ranks. When 
you say you're running in serial, are you using the mpirun command? what 
errors/complaints are you experiencing?

My recollection, is that the --use-offscreen-rendering is used to select 
between osmesa 

Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-09 Thread Cook, Rich
As a user, I would prefer a single compile which links against OSMesa AND 
OpenGL AND MPI if they are available, but uses whatever the user chooses at 
runtime.  This requires code logic to handle, with #ifdefs to handle the case 
where some feature is not available at compile time, and additional if/then 
statements in C to handle the user choice, but seems doable and would vastly 
simplify compilation, installation and usage.
Thanks
-- Rich

On Oct 9, 2012, at 7:43 AM, Biddiscombe, John A. wrote:

Pat

Great summary.

Did writing that give you any ideas on the best way to simplify the options and 
#ifdefs.

JB

From: paraview-boun...@paraview.orgmailto:paraview-boun...@paraview.org 
[mailto:paraview-boun...@paraview.org] On Behalf Of Pat Marion
Sent: 09 October 2012 15:28
To: Cook, Rich; paraview@paraview.orgmailto:paraview@paraview.org
Subject: Re: [Paraview] Is there any point to compiling with MPI but without 
offscreen rendering?

Hi Rich,

I totally agreee with you, I find it very confusing that there is a compile 
time flag VTK_USE_OFFSCREEN, and a runtime flag --use-offscreen-rendering, and 
an OSMesa compile flag VTK_OPENGL_HAS_OSMESA.  I think that the options could 
be presented in a way that makes it more clear what is happening.

I want to clarify some things here.  There are actually several very different 
concepts that are all kinda mixed up by the way that VTK presents the options:

1) hardware accelerated rendering vs. software rendering
2) regular rendering vs. offscreen rendering vs. OSMesa rendering

Just saying offscreen rendering is totally not specific enough to have any 
idea what is really happening under the hood, a lot of people assume different 
things when they hear offscreen rendering, and I think that's where the 
problem is.

First, hardware vs. software rendering.  If you use the Mesa OpenGL driver (not 
to be confused with the OSMesa library!), you are using software rendering.  
But, the mesa driver renders into a buffer that is owned by the operating 
system and window manager (X11).  So you are using a software implementation of 
OpenGL, but rendering on screen, and you depend on X11 APIs and an X server.  
If you have a GPU, then you can use a hardware driver, and similarly you depend 
on X11.  You can switch between a hardware driver and a Mesa driver without 
recompiling any software.

Second, regular rendering vs. offscreen rendering.  Here is an old, but very 
informative, article on the many different implementations of offscreen 
rendering:  http://www.mesa3d.org/brianp/sig97/offscrn.htm
Note that Mesa offscreen rendering, OSMesa, is just one of many different 
offscreen rendering APIs described in the article.  You can do hardware 
accelerated offscreen rendering, and that is totally different from OSMesa.  
For example, using X11, you can render into a GLX pixmap.  A GLX pixmap is a 
render buffer that is not associated with a window, it is offscreen, but the 
rendering uses your GL driver, which could be a hardware accelerated driver or 
a Mesa software driver, but not OSMesa.

Finally, there is OSMesa.  It uses Mesa software rendering, and renders into a 
special OSMesa buffer.  Using OSMesa, you have zero dependency on X11.  You 
don't need X11 at build time or at run time.  Here's more information about 
OSMesa: http://www.mesa3d.org/osmesa.html

So, in summary,

-you can use a GPU or Mesa (not OSMesa) and do on screen rendering into an X11 
window.
-you can use a GPU or Mesa (not OSMesa) and do offscreen rendering into an X11 
managed offscreen buffer.
-you can use OSMesa for software rendering without any dependency on X11.

For MPI cluster runs of paraview, the two most common configurations are GPU 
with X11, or OSMesa without X11.  If you didn't have a GPU on your nodes, you 
might also use Mesa with X11, but render on screen.

If you grep VTK source code for OSMESA, you will find multiple confusing 
flags, VTK_OPENGL_HAS_OSMESA and VTK_USE_OSMESA, and lots of confusing code to 
decide whether or not we want to use on screen or offscreen rendering with gpu, 
or OSMesa rendering.  If VTK is truly compiled for OSMesa, it means that ldd 
pvserver lists only OSMesa and no X11 or OpenGL dependencies.  When you have 
compiled with OSMesa, the --use-offscreen-rendering flag can be completely 
ignored, VTK will always use OSMesa.

I think the --use-offscreen-rendering flag is mostly for switching between on 
screen and offscreen while still using a regular GL driver, and I'm really not 
sure if anybody actually uses that feature, I certainly have not.  To make 
things even more confusing, in ParaView there is a preferences setting for Use 
offscreen rendering for screenshots.  Ouch.


Hope this helps!

Pat

p.s. If anybody has corrections, please let me know!

On Mon, Oct 8, 2012 at 2:23 PM, Burlen Loring 
blor...@lbl.govmailto:blor...@lbl.gov wrote:
Hi Rich,

if you are installing on cluster, I would say that it's easier to use an MPI 
build. Of course 

Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-08 Thread Cook, Rich
Are you assuming we are always running in parallel on the cluster?  I find that 
Paraview for some reason complains when run in serial if you compile it with 
MPI.  So currently I'm doing four builds, opengl, osmesa, opengl-mpi, 
osmesa-mpi.  It's a PITA but now it's all automated.  Still I think it's 
confusing for our users.  

I'm also personally unsure about where there is a switch for 
--use-offscreen-rendering.  If I compile with OSMesa, I'm always going to 
want that, right?  And if OpenGL, I'm always going to disable that, right?  Why 
is there a command line switch for that?  

It does sound like yes, pvservers will render to graphics cards in parallel so 
that's good to know.  

Thanks!
-- Rich 

On Oct 6, 2012, at 7:16 PM, Burlen Loring wrote:

 Hi Rich,
 
 You're always going to want to build with MPI when running on a cluster. 
 Leveraging your cluster's graphics cards comes down to building with or 
 without os mesa. you probably want to provide both builds, and select the 
 build to run depending on whether the user has requested nodes that contain 
 graphics cards or not. Hardware accelerated rendering can be faster than 
 software based rendering depending on the amount of contention there is for 
 the graphics card. eg 16 mpi ranks hitting the same card will likely be 
 slower than 16 cpu cores running os mesa. When submitting a job you could 
 always control this by limiting the number of mpi ranks per graphics card. 
 Also, some rendering algorithms, such as surface LIC, are disabled when using 
 os mesa. it's nice to have the hardware accelerated build in order to access 
 the other algorithms when you need them.
 
 Burlen
 
 On 10/1/2012 5:05 PM, Cook, Rich wrote:
 We have large clusters and some of them have graphics cards on them.  Most 
 don't.  So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON   
 -DPARAVIEW_USE_MPI:BOOL=ON with cmake.
 I got to thinking.  First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON 
 then why do I have to use --use-offscreen-rendering to launch the pvservers. 
  Secondly, can pvservers render to graphics cards for distributed rendering 
 under MPI?  If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF   
 -DPARAVIEW_USE_MPI:BOOL=ON ??
 
 

-- 
✐Richard Cook   
✇ Lawrence Livermore National Laboratory
Bldg-453 Rm-4024, Mail Stop L-557
7000 East Avenue,  Livermore, CA, 94550, USA
☎ (office) (925) 423-9605
☎ (fax) (925) 423-6961
---
Information Management  Graphics Grp., Services  Development Div., Integrated 
Computing  Communications Dept.
(opinions expressed herein are mine and not those of LLNL)



___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-08 Thread Kevin H. Hobbs
On 10/08/2012 01:21 PM, Cook, Rich wrote:
 
 I'm also personally unsure about where there is a switch for
 --use-offscreen-rendering.  If I compile with OSMesa, I'm always
 going to want that, right?

I think that depending on how you built OSMesa it's all you _can_ do.

  And if OpenGL, I'm always going to
 disable that, right?  Why is there a command line switch for that?
 

You can render off screen with X and graphics hardware but without the
render window actually showing up on screen.



signature.asc
Description: OpenPGP digital signature
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-08 Thread Burlen Loring

Hi Rich,

if you are installing on cluster, I would say that it's easier to use an 
MPI build. Of course when you build with MPI support you need to launch 
pvserver with mpirun (or the system equivalent). When you need a serial 
run just specify -n 1. You may be aware that, providing a server config 
will let your users select the number of mpi ranks and the layout of 
mpi ranks across cluster nodes from ParaView's GUI. ParaView should run 
on any number of mpi ranks. When you say you're running in serial, are 
you using the mpirun command? what errors/complaints are you experiencing?


My recollection, is that the --use-offscreen-rendering is used to select 
between osmesa open gl and the system open gl when both are used in the 
same build. I haven't built ParaView this way in many years, hence my 
recollection is fuzzy. On the other hand, if you have two builds, one 
built with osmesa and the other using a system provided hardware 
accelerated open gl, this command line flag is not necessary.


Burlen

On 10/08/2012 10:21 AM, Cook, Rich wrote:

Are you assuming we are always running in parallel on the cluster?  I find that 
Paraview for some reason complains when run in serial if you compile it with 
MPI.  So currently I'm doing four builds, opengl, osmesa, opengl-mpi, 
osmesa-mpi.  It's a PITA but now it's all automated.  Still I think it's 
confusing for our users.

I'm also personally unsure about where there is a switch for 
--use-offscreen-rendering.  If I compile with OSMesa, I'm always going to 
want that, right?  And if OpenGL, I'm always going to disable that, right?  Why is there 
a command line switch for that?

It does sound like yes, pvservers will render to graphics cards in parallel so 
that's good to know.

Thanks!
-- Rich

On Oct 6, 2012, at 7:16 PM, Burlen Loring wrote:


Hi Rich,

You're always going to want to build with MPI when running on a cluster. 
Leveraging your cluster's graphics cards comes down to building with or without 
os mesa. you probably want to provide both builds, and select the build to run 
depending on whether the user has requested nodes that contain graphics cards 
or not. Hardware accelerated rendering can be faster than software based 
rendering depending on the amount of contention there is for the graphics card. 
eg 16 mpi ranks hitting the same card will likely be slower than 16 cpu cores 
running os mesa. When submitting a job you could always control this by 
limiting the number of mpi ranks per graphics card. Also, some rendering 
algorithms, such as surface LIC, are disabled when using os mesa. it's nice to 
have the hardware accelerated build in order to access the other algorithms 
when you need them.

Burlen

On 10/1/2012 5:05 PM, Cook, Rich wrote:

We have large clusters and some of them have graphics cards on them.  Most 
don't.  So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON   
-DPARAVIEW_USE_MPI:BOOL=ON with cmake.
I got to thinking.  First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then 
why do I have to use --use-offscreen-rendering to launch the pvservers.  
Secondly, can pvservers render to graphics cards for distributed rendering 
under MPI?  If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF   
-DPARAVIEW_USE_MPI:BOOL=ON ??



___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


Re: [Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-06 Thread Burlen Loring

Hi Rich,

You're always going to want to build with MPI when running on a cluster. 
Leveraging your cluster's graphics cards comes down to building with or 
without os mesa. you probably want to provide both builds, and select 
the build to run depending on whether the user has requested nodes that 
contain graphics cards or not. Hardware accelerated rendering can be 
faster than software based rendering depending on the amount of 
contention there is for the graphics card. eg 16 mpi ranks hitting the 
same card will likely be slower than 16 cpu cores running os mesa. When 
submitting a job you could always control this by limiting the number of 
mpi ranks per graphics card. Also, some rendering algorithms, such as 
surface LIC, are disabled when using os mesa. it's nice to have the 
hardware accelerated build in order to access the other algorithms when 
you need them.


Burlen

On 10/1/2012 5:05 PM, Cook, Rich wrote:

We have large clusters and some of them have graphics cards on them.  Most 
don't.  So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON   
-DPARAVIEW_USE_MPI:BOOL=ON with cmake.
I got to thinking.  First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then 
why do I have to use --use-offscreen-rendering to launch the pvservers.  
Secondly, can pvservers render to graphics cards for distributed rendering 
under MPI?  If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF   
-DPARAVIEW_USE_MPI:BOOL=ON ??



___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview


[Paraview] Is there any point to compiling with MPI but without offscreen rendering?

2012-10-01 Thread Cook, Rich
We have large clusters and some of them have graphics cards on them.  Most 
don't.  So normally I expect to be using -DVTK_USE_OFFSCREEN:BOOL=ON   
-DPARAVIEW_USE_MPI:BOOL=ON with cmake.  
I got to thinking.  First, if I compile with -DVTK_USE_OFFSCREEN:BOOL=ON then 
why do I have to use --use-offscreen-rendering to launch the pvservers.  
Secondly, can pvservers render to graphics cards for distributed rendering 
under MPI?  If so, does it make sense to do -DVTK_USE_OFFSCREEN:BOOL=OFF   
-DPARAVIEW_USE_MPI:BOOL=ON ?? 

-- 
✐Richard Cook   
✇ Lawrence Livermore National Laboratory
Bldg-453 Rm-4024, Mail Stop L-557
7000 East Avenue,  Livermore, CA, 94550, USA
☎ (office) (925) 423-9605
☎ (fax) (925) 423-6961
---
Information Management  Graphics Grp., Services  Development Div., Integrated 
Computing  Communications Dept.
(opinions expressed herein are mine and not those of LLNL)



___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview