is it currently possible to setup LXC containers with X11 capabilities? I'm looking forward for the lightest available X11 container (memory-wise), hardware acceleration a plus but not essential.If it is not currently possible, or readily available, is it known what functionality needs to be yet implemented in order to support it?
Linux - LXC; deploying images with tiniest possible X11
linux;x11;xorg;lxc;container
yes it is possible to run a complete X11 desktop environment inside a LXC container.Right now, I do this on Arch Linux. I won't say it's light as I haven't gone as far as trying to strip out stuff from the standard package manager install but I can confirm that it does work very well.You have to install any kernel drivers on the HOST as well as in the container. Such things as the graphics driver (I use nvidia). You have to make the device nodes in dev accessible inside the container by configuring your container.conf to allow it. You then need to make sure that those device nodes are created inside the container (i.e mknod).So, to answer you question: YES it does work. If I can help any further or provide more details please do let me know.--- additional infomation provided ---In my container.../etc/inittab starts in run level 5 and launches slimSlim is configured to use vt09: # Path, X server and arguments (if needed) # Note: -xauth $authfile is automatically appended default_path        /bin:/usr/bin:/usr/local/bin default_xserver     /usr/bin/X xserver_arguments   -nolisten tcp vt09I am not using a second X display on my current vt, but a completely different one (I can switch between many of thise using CTRL+ALT+Fn).If you aren't using slim, you can use a construct like this to start X on another vt: /usr/bin/startx -- :10 vt10That will start X on display :10 and put it on vt10 (CTRL+ALT+F10). These don't need to match but I think it's neater if they do.You do need your container config to make the relevant devices available, like this: # XOrg Desktop lxc.cgroup.devices.allow = c 4:10 rwm    # /dev/tty10 X Desktop lxc.cgroup.devices.allow = c 195:* rwm  # /dev/nvidia Graphics card lxc.cgroup.devices.allow = c 13:* rwm   # /dev/input/* input devicesAnd you need to make the devices in your container: # display vt device mknod -m 666 /dev/tty10 c 4 10 # NVIDIA graphics card devices mknod -m 666 /dev/nvidia0 c 195 0 mknod -m 666 /dev/nvidiactl c 195 255 # input devices mkdir  /dev/input           # input devices chmod 755 /dev/input mknod -m 666 /dev/input/mice c 13 63 # miceI also manually configured input devices (since we don't have udev incontainer) Section ServerFlags         Option AutoAddDevices False EndSection Section ServerLayout     Identifier     Desktop     InputDevice    Mouse0 CorePointer     InputDevice    Keyboard0 CoreKeyboard EndSection Section InputDevice     Identifier Keyboard0     Driver kbd     Option XkbLayout gb EndSection Section InputDevice     Identifier Mouse0     Driver mouse     Option Protocol auto     Option Device /dev/input/mice     Option ZAxisMapping 4 5 6 7 EndSectionThe above going in a file /etc/X11/xorg.conf.d/10-input.confNot sure if any of that will help, but good luck!