软件加速
最近想在docker容器里面使用英伟达的GPU实现硬件加速显示ros的图形界面,但是输入如下代码实现的只是软件加速显示图形界面,查了很久资料终于找到一种docker实现硬件加速的办法。
docker run -it --gpus all --name test images
硬件加速
我们可以使用osrf/rocker辅助创建一个可以实现硬件加速的容器。
apt下载rocker
sudo apt-get install python3-rocker
conda环境内下载rocker
conda create -n python38 python=3.8
conda activate python38
pip install git+https://github.com/osrf/rocker.git
rocker创建一个容器
rocker --nvidia --x11 --name test --nocleanup osrf/ros:noetic-desktop-full
安装xorg和mesa-utils测试
apt-get update
apt install xorg
xclock
apt-get update && apt-get install mesa-utils
export __GLX_VENDOR_LIBRARY_NAME=nvidia
glxinfo | grep renderer
如果显示有nvidia说明能够实现硬件加速
如下是软件加速
glxgears查看显示帧率
__GL_SYNC_TO_VBLANK=0 glxgears
硬件加速帧率:
软件加速帧率:
参考:
[1]http://wiki.ros.org/es/docker/Tutorials/Hardware%20Acceleration
[2]https://github.com/osrf/rocker
[3]https://blog.csdn.net/hyj53/article/details/118633272