I have installed and registered QEMU. I want to get an arm64 docker for ros on an x86 host.
But I got a GUI error.
I run the following CMD to run the docker.
#!/bin/bash
#mkdir docker_ws
Script to run ROS Kinetic with GUI support in Docker
Allow X server to be accessed from the local machine
xhost +local:
Container name
CONTAINER_NAME=“arm64_ubuntu”
Run the Docker container
docker run -itd
–name=$CONTAINER_NAME
–net=host
–ipc=host
–platform=arm64
-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static
–privileged
–env=“QT_X11_NO_MITSHM=1”
-v /dev/bus/usb:/dev/bus/usb
–device=/dev/dri
–group-add video
-v /tmp/.X11-unix:/tmp/.X11-unix
–volume=“/etc/localtime:/etc/localtime:ro”
–env=“DISPLAY=$DISPLAY”
–env=“TERM=xterm-256color”
–env=“ROS_MASTER_URI=http://localhost:11311”
arm64v8/ubuntu
/bin/bash
I got the info
non-network local connections being added to access control list
a2589f00722db154fb2ebffd17f4b03cad95adff4c9ca35d8d0b06e28f2e571c
in the docker container, I run rivz, I got the error:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’
[ INFO] [1721316502.205062223]: rviz version 1.14.25
[ INFO] [1721316502.207391821]: compiled against Qt version 5.12.8
[ INFO] [1721316502.207835168]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1721316502.286318579]: Forcing OpenGl version 0.
Segmentation fault (core dumped)
How do I configure the parameters so that the docker image’s graphical interface displays correctly?