Adding tutorial to run carla headless

This commit is contained in:
felipecode 2018-01-24 15:30:54 +01:00 committed by GitHub
parent 9855fe35f9
commit c8e87d1153
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 79 additions and 0 deletions

79
Docs/carla_on_server.md Normal file
View File

@ -0,0 +1,79 @@
Running CARLA Remotely and without Display
------
This tutorial is designed for:
- Remote server users that have several nvidia graphical cards and want to effectively use CARLA on all GPUs.
- Desktop users who want to use the GPU that is not plugged on the screen for rendering CARLA.
On this tutorial you will learn.
- How to configure your server to have nvidia working on rendering without a display attached.
- How to use VNC + VGL to simulate a display connected to any GPU you have in your machine.
- And Finally, how to run CARLA in this environment
This tutorial was tested in Ubuntu 16.04 and using NVIDIA 384.11 drivers.
## Preliminaries
A few things need to be working in your server before.
Latest NVIDIA Drivers, OpenGL, VirtualGL(VGL), TurboVNC 2.11, ,
#### NVIDIA Drivers
Download and install NVIDIA-drivers with typical tutorials
http://www.nvidia.es/Download/index.aspx
### OpenGL
Openg GL is necessary for Virtual GL. Normally OpenGL
can be installed through apt.
sudo apt-get install freeglut3-dev mesa-utils
#### VGL
Follow this tutorial and install vgl
https://virtualgl.org/vgldoc/2_2_1/#hd004001
### TurboVNC
Follow the tutorial below to install TurboVNC 2.11
https://cdn.rawgit.com/TurboVNC/turbovnc/2.1.1/doc/index.html#hd005001
WARNING: Take care on which VNC you install as it may not be compatible with Unreal. The one above was the only one that worked for me.
#### Extra Packages
These extra packages were necessary to make unreal to work.
sudo apt install 11-xserver-utils libxrandr-dev
### Configure your X
You must generate a X compatible with your nvdia and compatible to run without display. For that, the following command worked:
sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024
## Emulating The Virtual Display
Start by killing all Xorg servers. This command could change depending on your system.
sudo service lightdm stop
Run our own X server. Here I use number 7, but in theory it could be labeled with any number.
sudo nohup Xorg :7 &
Run an auxiliary remote VNC-Xserver. This will create a
virtual display "8".
/opt/TurboVNC/bin/vncserver :8
If everything is working fine the following command
should run smoothly.
DISPLAY=:8 vglrun -d :7.0 glxinfo
Note. This will run glx info on Xserver 7, device 0. This means you are selecting the GPU 0 on your machine. To run on other GPU such as GPU 1 run:
DISPLAY=:8 vglrun -d :7.1 glxinfo
## Running CARLA
Now, finally, to run CARLA on a certain gpu_number placed in a certain $CARLA_PATH basiclly run.
DISPLAY=:8 vglrun -d :7.<gpu_number> $CARLA_PATH/CarlaUE4/Binaries/Linux/CarlaUE4