mviereck / x11docker

Run GUI applications and desktops in docker and podman containers. Focus on security.
MIT License
5.62k stars 378 forks source link

Vulcan support #246

Closed JuniorJPDJ closed 4 years ago

JuniorJPDJ commented 4 years ago

Hi, I set up steam container to play but it complains for lack of vulcan support (not necessary to work, but seen it in log). Readme also doesn't say anything about it so I guess it's missing. I'm using this container, it uses --gpu and --hostdisplay

mviereck commented 4 years ago

The Dockerfile installs the mesa drivers with:

RUN apt-get install -y libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libc6:i386

It might help to install mesa-vulkan-drivers, too.

In my own images I just install mesa-utils mesa-utils-extra to get all free mesa drivers. Though, I am not sure yet if the vulkan driver package is in this dependency chain, too. For some video decoding support it helps to install libxv1 va-driver-all, too.

So I recommend to replace the line above with:

RUN apt-get install -y mesa-utils:i386 mesa-utils-extra:i386 libxv1:i386 va-driver-all:i386

If the vulkan driver is still missing, add mesa-vulkan-drivers:i386.

JuniorJPDJ commented 4 years ago

So basicly - x11docker itself has vulcan support?

mviereck commented 4 years ago

I am not aware that there would be something special about Vulkan that x11docker would have to support. With the open MESA drivers in general (AMD, intel etc.) it is enough to have the drivers on host and in image and to share the files in /dev/dri. That's all. Closed source NVIDIA needs a lot of more setup and has some restrictions. For some insight see https://github.com/mviereck/x11docker/wiki/Hardware-acceleration

mviereck commented 4 years ago

@JuniorJPDJ Did this work for you? Is installing mesa-utils mesa-utils-extra enough to get the vulkan driver?

JuniorJPDJ commented 4 years ago

I opened issue in upstream container, I'll let you know if it worked. I don't have time to debug it at my own ;/

mviereck commented 4 years ago

Closing for now. Feel free to comment again if something comes up.