# Multi-GPU, Xorg and VirtualGL

**URL:** <https://discourse.openondemand.org/t/multi-gpu-xorg-and-virtualgl/1759>\
**Category:** Get Help\
**Tags:** question\
**Created:** [October 28, 2021, 8:14pm UTC](https://discourse.openondemand.org/t/multi-gpu-xorg-and-virtualgl/1759 "2021-10-28T20:14:15Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Micket](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/micket/32/829_2.png) [@Micket](https://discourse.openondemand.org/u/Micket)\
**Post date:** [November 2, 2021, 4:02pm UTC](https://discourse.openondemand.org/t/multi-gpu-xorg-and-virtualgl/1759/6 "2021-11-02T16:02:30Z")

</div>

> [@VirtualGL in OOD apps](https://discourse.openondemand.org/t/virtualgl-in-ood-apps/750/10):
>
> Tip for anyone finding this thread: Using the latest VirtualGL (which is still sort-of in beta) [2.6.90 (3.0 beta1)](https://github.com/VirtualGL/virtualgl/releases/tag/3.0beta1) you can use the EGL backend. My slurm taskprolog sets if 'CUDA\_VISIBLE\_DEVICES' in os.environ: # Most reliable way to find the dri device: gpu\_bus\_id = commands.getoutput('nvidia-smi --query-gpu=gpu\_bus\_id --format=csv,noheader').split('\n')[0] # Need to strip off first 4 zeros dri\_device = commands.getoutput('ls -d /sys/bus/pci/devices/{0}/drm/card\*'.format(gpu\_b…

It’s really quite simple; get latest VirtualGL, open permissions on render devices (cgroup limits on the GPU itself still applies), and export the right VGL\_DISPLAY for the GPU.

@tomgreen66 Yes that seems likely. I mean, it doesn’t attempt to bind mount any cuda libs into the container either right (in fact that it mounts nvidia-smi is already kind of surprising that it even works since the container OS might have completely different glibc.

```auto
From: centos:8

%post
    curl https://virtualgl.org/pmwiki/uploads/Downloads/VirtualGL.repo -o /etc/yum.repos.d/VirtualGL.repo
    printf "[nvidia]\nname=nvidia\nbaseurl=http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64\ngpgcheck=0" > /etc/yum.repos.d/nvidia.repo
    yum install -y epel-release
    yum repolist
    yum install -y VirtualGL glx-utils nvidia-driver-libs

```

Works for me with EGL backend

---

_[View the full topic](https://discourse.openondemand.org/t/multi-gpu-xorg-and-virtualgl/1759)._
