rviz::RenderSystem:error creating render window: OGRE EXCEPTION(3:RenderingAPIException)的一种解决方式

问题描述

Invalid parentWindowHandle (wrong server or screen) in GLXWindow:

在使用ros的时候遇到rviz打不开的一种情况,网上有些帖子说是显卡驱动有问题,但是运行nvidia-smi看起来并没有什么问题(应该吧)。
在这里插入图片描述

我在github上找到了一直临时的解决方案,虽然不知道什么原理,但是管用。
rviz报错如下:

[ WARN] [1716523309.554136847]: OGRE EXCEPTION(3:RenderingAPIException): Invalid parentWindowHandle (wrong server or screen) in GLXWindow::create at /build/ogre-1.9-kiU5_5/ogre-1.9-1.9.0+dfsg1/RenderSystems/GL/src/GLX/OgreGLXWindow.cpp (line 240)
rviz::RenderSystem: error creating render window: OGRE EXCEPTION(3:RenderingAPIException): Invalid parentWindowHandle (wrong server or screen) in GLXWindow::create at /build/ogre-1.9-kiU5_5/ogre-1.9-1.9.0+dfsg1/RenderSystems/GL/src/GLX/OgreGLXWindow.cpp (line 240)
[ERROR] [1716523309.554184739]: Unable to create the rendering window after 100 tries.
段错误 (核心已转储)

原因分析:

罪魁祸首是 OGRE,它还不支持 Wayland:
https://forums.ogre3d.org/viewtopic.php?t=93084#p537787


解决方案:

通过使用 QT_QPA_PLATFORM=xcb在 Wayland 上强制使用 X11:

sudo gedit ~/.bashrc
找到 export QT_QPA_PLATFORM='offscreen' 
改成 export QT_QPA_PLATFORM=xcb 
source ~/.bashrc

之后就可以用了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值