ROSRviz以及gazebo libGL error

xiaoxiao2025-05-25  35

ROS Rviz以及gazebo libGL error

1.引言2.解决方案2.1.删除并重新安装cuda8.0 :2.2.重装Rviz 3.安装cuda10.1

1.引言

在调试TurtleBot3的时候启动Rviz报错 libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast 如图:

之前肯定是能使用的,于是回想最近干了啥—配置了Tensorflow,再根据查阅资料定位到NVIDIA显卡驱动问题,有可能是cuda8.0安装姿势不正确。然后又看了看具体的报错,与Rviz联系更密切,于是解决思路大概两个:

从NVIDIA驱动入手查找原因,可能是安装或更新nvidia驱动后导致libGL动态链接库链接中断或者指向错误的链接,这个参考并没有解决问题,且需要更改一个命令: sudo find /usr -iname "*libGL.so*" -exec ls -- {} \; 从更密切相关的Rviz入手找原因。

2.解决方案

新开terminal测试rviz、gazebo。 果然双双瘫痪.

2.1.删除并重新安装cuda8.0 :

cd /usr/local/cuda-8.0 sudo rm -rf cuda-8.0

下载cuda8.0,切记下载.run文件不要下载.deb文件: 安装cuda,切记以no-opengl-libs方式安装,就是这里导致链接库错误。

sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs

note:license文件很长,长按CTRL+F翻页(CTRL +B是往前翻一页)即可。 然后根据提示选择:

配置环境变量:

sudo gedit ~/.bashrc

在文件中加入:

export PATH=/usr/local/cuda-8.0/bin/:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/

生效环境变量:

source ~/.bashrc

测试:

#编译并测试设备 deviceQuery: cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery sudo make ./deviceQuery #编译并测试带宽 bandwidthTest: cd ../bandwidthTest sudo make ./bandwidthTest

Result = PASS 成功.到此这边的问题解决了一半了但是Tensorflow明显瘫了,故,继续按照博客进行后面的操作重新安装完Tensorflow_GPU版本。

2.2.重装Rviz

已经安装ros 了的基础上:

rosdep install rviz #执行初始化 sudo rosdep init #更新 rosdep update

设置环境变量:

#设置变量 export LIBGL_ALWAYS_SOFTWARE=1 #启动测试 rosrun rviz rviz

解决方法看上去很简单,也确实很简单,但是花了我好长时间,气人。回到正轨调试上。

20191118更新:

3.安装cuda10.1

===================================================================== 在最新的CUDA安装中(目前安装的10.1版本)已经不在是上面这个安装界面了,按照这个方式也为有一点点小错误,在日志文件可以看到报错大致为:You appear to be running an X server; please exit X before解决办法,参考显卡驱动安装方式进入文本模式就可以关闭X server,然后再按部就班安装.

===================================================================== 禁用 nouveau驱动:

lsmod | grep nouveau # 查看有没有输出,如果有信息输出,则需要禁掉 sudo gedit /etc/modprobe.d/blacklist.conf #将默认的驱动拉进黑名单

在blacklist.conf的最后添加下面几行:

blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv blacklist nvidiafb

更新: sudo update-initramfs -u #这一步可能翻墙要快点,但也无妨。 重启: lsmod | grep nouveau # 查看有没有输出,如果没有任何信息输出,则说明ok

进入tty模式进行安装: Ctrl+Alt+F1进入文本模式,Ctrl+Alt+F7返回图形界面模式(期间文本模式下的进度不会改变,还可一继续进入文本模式)

#输入账户名及密码 sudo su #输入密码,以root权限运行 cd ~/ # ~/ <=> /home/yourname/ sudo service lightdm stop # 关闭图形界面 #如果安装失败,重新打开图形界面sudo service lightdm restart 把刚刚加入黑免单的驱动删除重启就回到了原来的状态 sudo init 3 #这句官网有介绍,Switch to runlevel 3. sudo sh cuda_10.1.105_418.39_linux.run --no-opengl-files #–no-nouveau-check 安装驱动时不检查nouveau #后面两个参数可不加。

注意:显卡驱动之前已经装过,这里不需要安装显卡驱动: 之前装过,选择覆盖之前的文件: 安装成功: 配置环境变量:

sudo gedit ~/.bashrc

在文件中加入:

export PATH=/usr/local/cuda-10.1/bin/:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64/

生效环境变量:

source ~/.bashrc

测试:

#编译并测试设备 deviceQuery: cd /usr/local/cuda-10.1/samples/1_Utilities/deviceQuery sudo make ./deviceQuery #编译并测试带宽 bandwidthTest: cd ../bandwidthTest sudo make ./bandwidthTest

Result = PASS 成功.

转载请注明原文地址: https://www.6miu.com/read-5030705.html

最新回复(0)