Thanks for this!
If you want to offload the 2D/3D work to the host GPU (your local computer), you would need to use some software that performs just that. On the server there is a corresponding accelerated software GPU, otherwise you end up using llvmpipe
which is not performant.
Also see this, Tutorial: How to run a full desktop environment on LXD The issue here is that all these tricks we do to run GUI apps in containers, are ways to glue together the container to the host. Containers created for isolation but we pierce holes into this isolation, and make devices of the hosts appear in the container. In some cases, the software needs some small changes, and @tarruda does exactly that.