Ar-Ray-code/rpi-bullseye-ros2

RenderSystem: error creating render window

JohnFarl opened this issue · 5 comments

I have installed jazzy on Raspberry Pi 4 (Raspberry Pi OS Bookworm 64 bit). When I launch rviz2 I get this error:
[rviz2]: rviz::RenderSystem: error creating render window: RenderingAPIException: Invalid parentWindowHandle (wrong server or screen) in GLXWindow::create at /ros2_ws/build/rviz_ogre_vendor/ogre_vendor-prefix/src/ogre_vendor/RenderSystems/GLSupport/src/GLX/OgreGLXWindow.cpp (line 246)

Have you switched to x11 mode?
rpi-bookworm is wayland by default and Rviz will not work in this environment.

Open the configuration screen with sudo raspi-config and follow the steps in the image below

image

Thanks for the reply. I haven't tried to switch to old x11 mode. Isn't possible to make it work on wayland?

As indicated in the following issue, ROS-pkg's dependencies depend on the corresponding Ubuntu-enabled libraries.

ros2/rviz#847

I have not yet tracked Ubuntu 24.04 support, but Wayland support for RaspberryPi requires Wayland (debian12/arm64) specific source code.

If there is useful information on transplantation, it would be incorporated into future development plans.

I've already changed it from Wayland to X11, however I have a headless setup and I keep getting this issue when I've connected using vnc:

pi@raspberrypi:~ $ rviz2
qt.qpa.xcb: QXcbConnection: XCB error: 148 (Unknown), sequence: 192, resource id: 0, major code: 140 (Unknown), minor code: 20
Segmentation fault

@nathanshankar
This problem seems to be caused by the Server and Client rendering engine settings. I'm still looking for the settings as we are not sure about them yet.
I have confirmed that it works at least in the following environments

Server

  • SoC : RaspberryPi 5
  • OS : RaspberryPi OS Bookworm (X11)
  • ROS : Jazzy

Client

  • CPU : x86_64
  • NVIDIA Driver : 535
  • Window System : X11
  • OS : Ubuntu 24.04 (kernel-version 6.8)
  • ROS : Jazzy

image