So here's what I've tried so far: On Ubuntu 12.04, I created an Ubuntu 12.04 container. Per http://unix.stackexchange.com/questions/18003/linux-lxc-deploying-images-with-tiniest-possible-x11 I added
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 devices to the container's config file, then started it. Inside it, I did apt-get install nvidia-current xinit and then (per the web page above) # 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 chmod 755 /dev/input mknod -m 666 /dev/input/mice c 13 63 and then finally sudo xinit -- /usr/bin/X vt10 -novtswitch (note the VT number has to match the one created above). That seemed to work to the extent that I could put things in ~/.xinitrc, e.g. xterm -e "sh -c 'glxinfo | grep string; sleep 10'" or glxgears and have them work. I haven't gotten input working yet. On Tue, Apr 22, 2014 at 4:27 PM, Dan Kegel <[email protected]> wrote: > Or does one normally run a separate X in a separate virtual terminal > for LXC, just as one does for multiple users? So ctl-alt-F7 is > for the normal desktop, and ctl-alt-F8 could be for the X inside LXC. > > cf. > http://www.cyberciti.biz/faq/running-multiple-x-sessions/ > > On Tue, Apr 22, 2014 at 4:20 PM, Dan Kegel <[email protected]> wrote: >> Does anyone have a recipe for running opengl apps in a container >> on a host with an nvidia graphics card yet? >> >> I know the nvidia driver has to be installed and loaded in the host's kernel >> (of course). Where does X have to run -- can it be on the host, >> the container, or either? >> >> I can start fooling around given past posts, just wondering if anyone >> has summed up the current state of things in an easy to use form. >> >> https://lists.linuxcontainers.org/pipermail/lxc-users/2013-February/004696.html >> says it just works (assuming you do a few things) >> >> https://lists.linuxcontainers.org/pipermail/lxc-users/2011-April/001817.html >> says it works (assuming you follow a long list of steps) >> >> https://www.redhat.com/archives/libvir-list/2013-May/msg01653.html >> hints that it works with just a few tweaks >> >> https://www.redhat.com/archives/libvir-list/2013-June/msg00013.html >> says libvirt does it better >> >> http://unix.stackexchange.com/questions/18003/linux-lxc-deploying-images-with-tiniest-possible-x11 >> talks about it a bit, and has similar long list of steps >> >> (https://www.stgraber.org/2012/11/16/running-steam-in-a-lxc-container/ >> hints at one, >> http://www.vislab.uq.edu.au/howto/lxc/nvidia.html shows how to at >> least build such apps in the container, >> http://www.jonnor.com/2010/03/hardware-passthrough-in-lxc-or-running-a-desktop-in-a-cgroup/ >> talks about it for vesa, >> http://blog.mraw.org/2011/04/05/Running_X_from_LXC/ talks about it for >> open source driver >> https://wiki.openstack.org/wiki/HeterogeneousGpuAcceleratorSupport >> talks about doing it for CUDA >> ) _______________________________________________ lxc-users mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-users
