No luck: ./x2goglx glxinfo|grep -i open OpenGL vendor string: VMware, Inc. OpenGL renderer string: llvmpipe (LLVM 10.0.0, 256 bits) OpenGL version string: 3.0 Mesa 20.1.5 OpenGL shading language version string: 3.30 OpenGL context flags: (none) OpenGL extensions: [rkudyba@storm ~]$ ./x2goglx gazebo AL lib: (WW) alcCloseDevice: Releasing context 0x561a7f165b50 AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa002
FWIW this was an issue with Gazeo 9 and this comment https://bugzilla.redhat.com/show_bug.cgi?id=1816487#c1 says: "A workaround is to override the session with environment variable XDG_SESSION_TYPE
XDG_SESSION_TYPE=x11 gazebo"
Whilst this comment: https://bugzilla.redhat.com/show_bug.cgi?id=1815270#c3
"It looks like it's an OGRE/Wayland issue. I found a similar error report from rviz here: https://github.com/ros-visualization/rviz/issues/1442
The work-around listed in the bug report works, and gazebo launches properly: QT_QPA_PLATFORM=xcb gazebo
One way forward is to force gazebo to use xcb platform. I'll see if there's a way to do that in code so you don't have to use the environment variable."
None of those made a difference.
Here's some more debug upon starting gazebo with verbose option: [Err] [RenderEngine.cc:743] Unable to create glx visual [Wrn] [RenderEngine.cc:93] Unable to create X window. Rendering will be disabled [Wrn] [RenderEngine.cc:293] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose. [Err] [RenderEngine.cc:743] Unable to create glx visual [Wrn] [RenderEngine.cc:93] Unable to create X window. Rendering will be disabled [Wrn] [RenderEngine.cc:293] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose. [Wrn] [GuiIface.cc:122] X server does not support XInput 2 [Wrn] [GuiIface.cc:122] QXcbConnection: XCB error: 1 (BadRequest), sequence: 168, resource id: 78, major code: 130 (Unknown), minor code: 47 [Err] [GLWidget.cc:178] GLWidget could not create a scene. This will likely result in a blank screen. [Wrn] [Publisher.cc:142] Queue limit reached for topic /gazebo/default/physics/contacts, deleting message. This warning is printed only once. [Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call AL lib: (WW) alcCloseDevice: Releasing context 0x55b168a79810 AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa002
On Thu, Aug 20, 2020 at 3:11 PM Ulrich Sibiller <uli42@gmx.de> wrote:
On Thu, Aug 20, 2020 at 5:21 PM Robert Kudyba <rkudyba@fordham.edu> wrote:
Is there another step after running ninja? Still getting this error:
Yes. After compilation you need to preload the resulting lib:
The easiest way for that is this:
- copy build/src/gallium/targets/libgl-xlib dor some safe place
- write a small wrapper called "~/x2goglx" with this content: #!/bin/sh LD_LIBRARY_PATH=<your directory>/libgl-xlib:${LD_LIBRARY_PATH} exec "$@"
(replace <your directory> with the path to where you copied the above directory to)
Then $ chmod u+rx ~/x2goglx
Then test with (should show OpenGL 1.4) $ ~/x2goglx glxinfo
Then run gazebo:
$ ~/x2goglx gazebo
gazebo AL lib: (WW) alcCloseDevice: Releasing context 0x55b6657b6d20 AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa002 segfault at 20 ip 00007fe4d7081cc6 sp 00007fff0d0c1280 error 4 in libOgreMain.so.1.9.0[7fe4d6e7d000+2f0000] Aug 20 11:19:11 storm kernel: Code: 00 5b 5d 41 5c 41 5d 41 5e c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 55 48 89 e5 41 56 49 89 fe 41 55 41 54 53 48 83 ec 60 <48> 8b 7f 20 64 48 8b 04 25 28 00 00 00 48 89 45 d8 31 c0 48 85 ff
On Thu, Aug 20, 2020 at 11:17 AM Robert Kudyba <rkudyba@fordham.edu> wrote:
I never would've figured this out without your help! I take it these
warnings are safe to ignore? Also, should I CC the dev list? Or did you intentionally remove it?
WARNING: Library target 'GLESv2' has 'name_prefix' set. Compilers may
Message: Configuration summary:
prefix: /usr/local libdir: lib64 includedir: include OpenGL: yes (ES1: yes ES2: yes) OSMesa: no GLX: Xlib-based (Gallium) EGL: no GBM: no EGL/Vulkan/VL platforms: x11 Vulkan drivers: no llvm: yes llvm-version: 10.0.0 Gallium drivers: swrast Gallium st: mesa HUD lmsensors: no Shared-glapi: yes
Build targets in project: 101 WARNING: Project specifies a minimum meson_version '>= 0.46' but uses features which were added in newer versions:
- 0.51.0: {'dep.get_variable'}
- 0.52.0: {'version arg in find_program'}
Option buildtype is: release [default: debugoptimized] Found ninja-1.10.0 at /usr/bin/ninja WARNING: custom_target 'glcpp-parse.[ch]' has more than one output! Using the first one. WARNING: custom_target 'glsl_parser' has more than one output! Using
WARNING: custom_target 'program_parse_tab.[ch]' has more than one output! Using the first one. (base) [root@storm build]# ninja [187/945] Compiling C object src/gallium/drivers/softpipe/libsoftpipe.a.p/sp_quad_blend.c.o ../src/gallium/drivers/softpipe/sp_quad_blend.c: In function ‘blend_fallback’: ../src/gallium/drivers/softpipe/sp_quad_blend.c:245:46: warning: ‘res[0][0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../src/gallium/auxiliary/gallivm/lp_bld_nir.h:242:27: warning: ‘result’ may be used uninitialized in this function [-Wmaybe-uninitialized] 242 | LLVMTypeRef arr_type = LLVMArrayType(LLVMTypeOf(values[0]), value_count); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/gallium/auxiliary/gallivm/lp_bld_nir.c:168:4: warning: ‘undef’ may be used uninitialized in this function [-Wmaybe-uninitialized] 168 | assign_ssa(bld_base, ssa->index, ssa->num_components == 1 ? vals[0] : lp_nir_array_build_gather_values(bld_base->base.gallivm->builder, vals, ssa->num_components)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [945/945] Linking target src/gallium/targets/libgl-xlib/libGL.so.1.5.0
On Thu, Aug 20, 2020 at 11:09 AM Ulrich Sibiller <uli42@gmx.de> wrote:
Ahm, according to the meson source the error appears when it cannot find "meson.build" in the parent directory. I have just downloaded the mesa source (https://archive.mesa3d.org//mesa-20.1.6.tar.xz) and it contains the relevant file.
So in detail you need to:
- download the tarball
- extract it
- cd to the extracted dir: cd mesa-20.1.6
- mkdir build
- cd build
- meson ....
- ninja ...
Uli
On Thu, Aug 20, 2020 at 5:00 PM Ulrich Sibiller <uli42@gmx.de> wrote:
On Thu, Aug 20, 2020 at 4:41 PM Robert Kudyba <rkudyba@fordham.edu>
wrote:
So yes to have to compile, but no to the first question on uninstalling?
exactly. But if the meson of fedora is incompatible to the mesa
you are out of luck for now.
Yes I am prompted by Fedora to run this when I ran the meson command. But I'm still not following. I see here https://docs.mesa3d.org/gallium/drivers/llvmpipe.html
scons: *** No SConstruct file found. File "/usr/lib/python3.8/site-packages/SCons/Script/Main.py", line 940, in _main
Then: Alternatively, you can build it with meson with: mkdir build cd build meson -D glx=gallium-xlib -D gallium-drivers=swrast ninja
So is this the meson command that I should replace with: meson -D glx=gallium-xlib -D gallium-drivers=swrast -D
not find it from its '-lGLESv2' linker flag in the 'glesv2-uninstalled.pc' pkg-config file. the first one. source platforms=x11 -D dri3=false -D dri-drivers="" -D vulkan-drivers="" -D buildtype=release -D optimization=3
exactly.
I still get ERROR: Must specify at least one directory name.
All the examples I have seen do NOT require a directory being specified so I do not know what's going on here. I also do not have a fedora to play with.
Uli