Open cololi opened 1 month ago
Do you have the same issue if you use jlesage/baseimage-gui:ubuntu-22.04-v4.5.3
?
Do you have the same issue if you use
jlesage/baseimage-gui:ubuntu-22.04-v4.5.3
?
Yes, I have try to rebuild with jlesage/baseimage-gui:ubuntu-22.04-v4.5.3
, the problem is still exists.
I've also been trying to get this to work for the past week. I've focused on trying to get glxgears to run since this is distributed with the mesa-utils package. I get the following error when running from this container:
"Error: couldn't get an RGB, Double-buffered visual"
I've also attempted to bring in nvidia's docker image nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04 and merge it with this one to get something functional with the gpu. That also does not work. I think it has something to do with X11 and not having a virtual display. I've looked at some examples of virtualgl, but I'm not too familiar with those approaches.
I've also been trying to get this to work for the past week. I've focused on trying to get glxgears to run since this is distributed with the mesa-utils package. I get the following error when running from this container:
"Error: couldn't get an RGB, Double-buffered visual"
I've also attempted to bring in nvidia's docker image nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04 and merge it with this one to get something functional with the gpu. That also does not work. I think it has something to do with X11 and not having a virtual display. I've looked at some examples of virtualgl, but I'm not too familiar with those approaches.
You can try this image accetto/ubuntu-vnc-xfce-opengl-g3
, and take my Dockerfile, It works for 3D Slicer.
I've also attempted to bring in nvidia's docker image nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04 and merge it with this one to get something functional with the gpu.
Maybe you should check your docker configure contain the NVIDIA docker runtime or run container argument with --gpus all
Maybe you should check your docker configure contain the NVIDIA docker runtime or run container argument with --gpus all
I've already been using --runtime=nvidia
and that works with jlesage/baseimage-gui:ubuntu-22.04-v4
. The issue is more so the opengl support. I can't seem to get that functional in this image regardless of nvidia gpu support. I was just attempting to see if its related to the stock opengl libraries that ship in the base image or if it was something related to X11. I believe it's the latter since nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04
doesn't work with jlesage/baseimage-gui:ubuntu-22.04-v4
, even though --runtime=nvidia
is functional in the image. I've tested that it is functional by using nvidia-smi
in the image. Other approaches for enabling opengl support pass around the X11 socket to enable X11 forwarding --volume /tmp/.X11-unix:/tmp/.X11-unix
, however, that seems to go against jlesage's approach of building a virtual desktop and enabling novnc support. I prefer jlesage's approach because it doesn't require you to pass around your X11 socket.
You can try this image accetto/ubuntu-vnc-xfce-opengl-g3, and take my Dockerfile, It works for 3D Slicer.
I use jlesage/baseimage-gui:ubuntu-22.04-v4
image as a base for a lot of images, but I can see if I can get opengl functional with that other image too. I'd like to get opengl support functional in this container image.
This is because the base image uses XVNC, which doesn't support Virtual OpenGL. You need to switch to X11VNC for it to work, as the base Docker image won't help with this.
This baseimage uses TigerVNC and does support OpenGL/3D extension. However, this has not been enabled yet because it's much harder to compile a static binary with this. This is something I'm working on.
Hey guys, I want build a Qt aplication with current project, and here is my Dockerfile and startup.sh file. The question is app can't startup, it loop return error
QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
. I have no idea for solve this problem, what should I do next?startapp.sh
Output logs