[Mesa-users] What version is available on macOS?

Langer, Stephen A. (Fed) stephen.langer at nist.gov
Wed Sep 5 20:49:25 UTC 2018


Hi Ken --

I tried to rebuild mesa so that it uses llvmpipe, but I don't really know what I'm doing …  Following the suggestion at https://www.mesa3d.org/llvmpipe.html I modified the mesa PortFile to add
    --enable-glx=gallium-xlib --with-gallium-drivers=swrast
to the configure arguments, and then rebuilt it.   Then glxgears still work, but vtk crashes in _glewGetExtensions.  The crash is during the first call to localGetStringi(GL_EXTENSIONS, extension_idx).

Here's the output from the test:
>>> ctest -R VBOPLY -VV
UpdateCTestConfiguration  from :/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Parse Config file:/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Add coverage exclude regular expressions.
Add coverage exclude: vtk.*TCLInit.cxx
Add coverage exclude: vtk[^\.]+(Java|Python|Tcl).cxx
Add coverage exclude: .*vtkOpenGLState.*
Add coverage exclude: .*Testing.Cxx.*cxx
Add coverage exclude: .*Testing.Cxx.*h
Add coverage exclude: .*moc_.*cxx
Add coverage exclude: .*/Rendering/OpenGL/vtkgl.*
Add coverage exclude: .*/Utilities/.*
Add coverage exclude: .*/ThirdParty/.*
Add coverage exclude: .*vtkOpenGLPolyDataMapper.*
SetCTestConfiguration:CMakeCommand:/opt/local/stow/ports-x11/bin/cmake
UpdateCTestConfiguration  from :/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Parse Config file:/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Test project /Users/langer/UTIL/VTK/build-8.1.1-x11-testing
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1185
    Start 1185: vtkRenderingOpenGL2Cxx-TestVBOPLYMapper

1185: Test command: /Users/langer/UTIL/VTK/build-8.1.1-x11-testing/bin/vtkRenderingOpenGL2CxxTests.app/Contents/MacOS/vtkRenderingOpenGL2CxxTests "TestVBOPLYMapper" "-D" "/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/ExternalData//Testing" "-T" "/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/Testing/Temporary" "-V" "/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/ExternalData/Rendering/OpenGL2/Testing/Data/Baseline/TestVBOPLYMapper.png"
1185: Test timeout computed to be: 3600
1185:
1185: =========================================================
1185: Process id 84703 Caught SIGSEGV at 0x1858 address not mapped to object
1185: Program Stack:
1185: 0x7fff587f0f5a : _sigtramp [(libsystem_platform.dylib) ???:-1]
1185: 0x7ffeec194b30 : ??? [(???) ???:-1]
1185: 0x104aac709 : _glewGetExtensions [(libvtkglew-8.1.1.dylib) ???:-1]
1185: 0x104aacfd7 : glewContextInit [(libvtkglew-8.1.1.dylib) ???:-1]
1185: 0x104aac9ed : glewInit [(libvtkglew-8.1.1.dylib) ???:-1]
1185: 0x104766c10 : vtkOpenGLRenderWindow::OpenGLInitContext() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1185: 0x104765ddd : vtkOpenGLRenderWindow::OpenGLInit() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1185: 0x10476c940 : vtkOpenGLRenderWindow::CreateHardwareOffScreenWindow(int, int) [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1185: 0x1048a9625 : vtkXOpenGLRenderWindow::CreateOffScreenWindow(int, int) [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1185: 0x1048a9b76 : vtkXOpenGLRenderWindow::Initialize() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1185: 0x10476e712 : vtkOpenGLRenderWindow::SupportsOpenGL() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1185: 0x103ac32e9 : TestVBOPLYMapper(int, char**) [(vtkRenderingOpenGL2CxxTests) ???:-1]
1185: 0x103a78fb2 : main [(vtkRenderingOpenGL2CxxTests) ???:-1]
1185: 0x7fff584e2015 : start [(libdyld.dylib) ???:-1]
1185: 0x8 : ??? [(???) ???:-1]
1185: =========================================================
1185:
1/1 Test #1185: vtkRenderingOpenGL2Cxx-TestVBOPLYMapper ...***Exception: Child aborted  0.50 sec

Do you have any ideas?

Thanks,
      Steve


On 9/1/18, 3:23 PM, "Ken Martin" <ken.martin at kitware.com<mailto:ken.martin at kitware.com>> wrote:

Thanks! I was trying to get at the MESA driver from VTK but realized that will not work as VTK is not getting a context it likes. glxinfo may report the driver that mesa is using. A driver that should work is llvmpipe but often Mesa is built with other drivers that try to use the underlying hardware and sometimes those do not work for some reason.  I don;t know how hard building mesa on OSX is but if you built mesa with llvmpipe that is what I would think has the best chance of working consistently.

On Sat, Sep 1, 2018 at 3:02 PM, Langer, Stephen A. (Fed) <stephen.langer at nist.gov<mailto:stephen.langer at nist.gov>> wrote:
It says "display id not set".

-- Steve

From: Ken Martin <ken.martin at kitware.com<mailto:ken.martin at kitware.com>>
Date: Saturday, September 1, 2018 at 11:06 AM
To: "Langer, Stephen A. (Fed)" <stephen.langer at nist.gov<mailto:stephen.langer at nist.gov>>
Cc: "mesa-users at lists.freedesktop.org<mailto:mesa-users at lists.freedesktop.org>" <mesa-users at lists.freedesktop.org<mailto:mesa-users at lists.freedesktop.org>>
Subject: Re: [Mesa-users] What version is available on macOS?

Could you try adding this line to TestVBOPLYMapper.cxx at line# 58, build and run it again?

 cerr << renderWindow->ReportCapabilities();

On Fri, Aug 31, 2018 at 11:06 PM, Langer, Stephen A. (Fed) <stephen.langer at nist.gov<mailto:stephen.langer at nist.gov>> wrote:
Hi Ken --
Here's the output from "ctest -R VBOPLY -VV".    Does it contain the information you wanted?
-- Steve

UpdateCTestConfiguration  from :/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Parse Config file:/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Add coverage exclude regular expressions.
Add coverage exclude: vtk.*TCLInit.cxx
Add coverage exclude: vtk[^\.]+(Java|Python|Tcl).cxx
Add coverage exclude: .*vtkOpenGLState.*
Add coverage exclude: .*Testing.Cxx.*cxx
Add coverage exclude: .*Testing.Cxx.*h
Add coverage exclude: .*moc_.*cxx
Add coverage exclude: .*/Rendering/OpenGL/vtkgl.*
Add coverage exclude: .*/Utilities/.*
Add coverage exclude: .*/ThirdParty/.*
Add coverage exclude: .*vtkOpenGLPolyDataMapper.*
SetCTestConfiguration:CMakeCommand:/opt/local/stow/ports-x11/bin/cmake
UpdateCTestConfiguration  from :/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Parse Config file:/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/DartConfiguration.tcl
Test project /Users/langer/UTIL/VTK/build-8.1.1-x11-testing
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1186
    Start 1186: vtkRenderingOpenGL2Cxx-TestVBOPLYMapper

1186: Test command: /Users/langer/UTIL/VTK/build-8.1.1-x11-testing/bin/vtkRenderingOpenGL2CxxTests.app/Contents/MacOS/vtkRenderingOpenGL2CxxTests "TestVBOPLYMapper" "-D" "/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/ExternalData//Testing" "-T" "/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/Testing/Temporary" "-V" "/Users/langer/UTIL/VTK/build-8.1.1-x11-testing/ExternalData/Rendering/OpenGL2/Testing/Data/Baseline/TestVBOPLYMapper.png"
1186: Test timeout computed to be: 3600
1186: Warning: In /Users/langer/UTIL/VTK/VTK-8.1.1/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx, line 804
1186: vtkXOpenGLRenderWindow (0x7fd4a301f800): VTK is designed to work with OpenGL version 3.2 but it appears it has been given a context that does not support 3.2. VTK will run in a compatibility mode designed to work with earlier versions of OpenGL but some features may not work.
1186:
1186:
1186: =========================================================
1186: Process id 52616 Caught SIGSEGV at 0x0x0 address not mapped to object
1186: Program Stack:
1186: 0x7fff7c08af5a : _sigtramp [(libsystem_platform.dylib) ???:-1]
1186: 0x7ffee08ce1a0 : ??? [(???) ???:-1]
1186: 0x10ffcddb7 : vtkOpenGLVertexArrayObject::Bind() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x10ff1ae6e : vtkOpenGLPolyDataMapper::UpdateShaders(vtkOpenGLHelper&, vtkRenderer*, vtkActor*) [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x10ff23d70 : vtkOpenGLPolyDataMapper::RenderPieceDraw(vtkRenderer*, vtkActor*) [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x10ff245df : vtkOpenGLPolyDataMapper::RenderPiece(vtkRenderer*, vtkActor*) [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x11107856f : vtkPolyDataMapper::Render(vtkRenderer*, vtkActor*) [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x10fe4c412 : vtkOpenGLActor::Render(vtkRenderer*, vtkMapper*) [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x110efff23 : vtkActor::RenderOpaqueGeometry(vtkViewport*) [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1110a2c0a : vtkRenderer::UpdateOpaquePolygonalGeometry() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1110a0ed9 : vtkRenderer::DeviceRenderOpaqueGeometry() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x10ff89cc1 : vtkOpenGLRenderer::DeviceRenderOpaqueGeometry() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x10ff89048 : vtkOpenGLRenderer::UpdateGeometry() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x10ff86c51 : vtkOpenGLRenderer::DeviceRender() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x1110a086f : vtkRenderer::Render() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x11109d1c6 : vtkRendererCollection::Render() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1110c5898 : vtkRenderWindow::DoStereoRender() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1110c572f : vtkRenderWindow::DoFDRender() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1110c50f8 : vtkRenderWindow::DoAARender() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1110c45e4 : vtkRenderWindow::Render() [(libvtkRenderingCore-8.1.1.dylib) ???:-1]
1186: 0x1100bd573 : vtkXOpenGLRenderWindow::Render() [(libvtkRenderingOpenGL2-8.1.1.dylib) ???:-1]
1186: 0x10f386961 : TestVBOPLYMapper(int, char**) [(vtkRenderingOpenGL2CxxTests) ???:-1]
1186: 0x10f33bfb2 : main [(vtkRenderingOpenGL2CxxTests) ???:-1]
1186: 0x7fff7bd7c015 : start [(libdyld.dylib) ???:-1]
1186: 0x8 : ??? [(???) ???:-1]
1186: =========================================================
1186:
1/1 Test #1186: vtkRenderingOpenGL2Cxx-TestVBOPLYMapper ...***Exception: Child aborted  3.04 sec

0% tests passed, 1 tests failed out of 1

Label Time Summary:
vtkRenderingOpenGL2    =   3.04 sec*proc (1 test)

Total Test time (real) =   3.32 sec

The following tests FAILED:
                1186 - vtkRenderingOpenGL2Cxx-TestVBOPLYMapper (Child aborted)
Errors while running CTest

From: Ken Martin <ken.martin at kitware.com<mailto:ken.martin at kitware.com>>
Date: Friday, August 31, 2018 at 2:37 PM
To: "Langer, Stephen A. (Fed)" <stephen.langer at nist.gov<mailto:stephen.langer at nist.gov>>
Cc: "mesa-users at lists.freedesktop.org<mailto:mesa-users at lists.freedesktop.org>" <mesa-users at lists.freedesktop.org<mailto:mesa-users at lists.freedesktop.org>>
Subject: Re: [Mesa-users] What version is available on macOS?

What driver does it say it is using? e.g. if you build vtk with testing and run

ctest -R VBOPLY -VV

what does it report?

On Fri, Aug 31, 2018 at 10:17 AM, Langer, Stephen A. (Fed) <stephen.langer at nist.gov<mailto:stephen.langer at nist.gov>> wrote:
Hi --

I'm trying to use the vtk graphics library on macOS, with all dependencies (including mesa and X11 libraries) installed by MacPorts.   MacPorts provides mesa 17.1.6, which supports OpenGL 4.5.  vtk requires OpenGL 3.2 or later, so all should be ok.  However, vtk says it can't find a recent enough version of OpenGL, and indeed glxinfo says "OpenGL version string: 2.1 ATI-1.68.20".   Is it possible to use OpenGL 3.2 on macOS?   If it is possible, can someone tell me how to change the vtk code so that it works?  I know roughly where vtk initializes OpenGL, but I don't really understand what it's doing.

I *can* get vtk to work if I compile it for quartz and not X11, using Apple's OpenGL libraries instead of mesa, but for numerous reasons it would be very convenient if I can get it to work on X11.

I've asked on the vtk and MacPorts lists, but nobody seems to know the answer.  Someone suggested I try here.

Many thanks,
     Steve

_______________________________________________
mesa-users mailing list
mesa-users at lists.freedesktop.org<mailto:mesa-users at lists.freedesktop.org>
https://lists.freedesktop.org/mailman/listinfo/mesa-users<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fmesa-users&data=02%7C01%7Cstephen.langer%40nist.gov%7Caccfb06fc88c4d96e8de08d610407319%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636714266333714823&sdata=9fkNl4nFWZC63qctGriTKYd23K2s6s1R%2BuCz25EBXW8%3D&reserved=0>



--
Ken Martin PhD
Distinguished Engineer
Kitware Inc.
101 East Weaver Street<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmaps.google.com%2F%3Fq%3D101%2BEast%2BWeaver%2BStreet%2B%250D%250ACarrboro%2C%2BNorth%2BCarolina%2B%250D%250A27510%2BUSA%26entry%3Dgmail%26source%3Dg&data=02%7C01%7Cstephen.langer%40nist.gov%7Caccfb06fc88c4d96e8de08d610407319%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636714266333714823&sdata=ZEZhzOZ7gs6Wxd9XZEV488%2Bfvw9vhBifkKL0GpnSCTE%3D&reserved=0>
Carrboro, North Carolina
27510 USA
This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee.  Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message.  Thank you.



--
Ken Martin PhD
Distinguished Engineer
Kitware Inc.
101 East Weaver Street<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmaps.google.com%2F%3Fq%3D101%2BEast%2BWeaver%2BStreet%2B%250D%250ACarrboro%2C%2BNorth%2BCarolina%2B%250D%250A27510%2BUSA%26entry%3Dgmail%26source%3Dg&data=02%7C01%7Cstephen.langer%40nist.gov%7Caccfb06fc88c4d96e8de08d610407319%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C636714266333724827&sdata=939k%2Bf7wddYotQAU%2By%2BNXKxcZE71nRORZwxEPMQGJD8%3D&reserved=0>
Carrboro, North Carolina
27510 USA
This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee.  Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message.  Thank you.



--
Ken Martin PhD
Distinguished Engineer
Kitware Inc.
101 East Weaver Street
Carrboro, North Carolina
27510 USA
This communication, including all attachments, contains confidential and legally privileged information, and it is intended only for the use of the addressee.  Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken in reliance on it is prohibited and may be unlawful. If you received this communication in error please notify us immediately and destroy the original message.  Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-users/attachments/20180905/d26ee1e0/attachment-0001.html>


More information about the mesa-users mailing list