[Lxc-users] xf86OpenConsole: VT_ACTIVATE failed: Invalid argument

Christoph Willing cwilling at users.sourceforge.net
Thu Mar 21 22:30:53 UTC 2013


On 21/03/2013, at 7:44 PM, Guillaume Thouvenin <guillaume.thouvenin at polymtl.ca> wrote:

> Hello everybody,
> 
>  I'm still trying to run an X server in a container with GLX support. 
> I compiled the official driver provided by nvidia. Everything worked 
> fine and I could load the kernel module. So I started X. The 
> nvidia_drv.so was loaded correctly, I was exited but at the end of the 
> Xorg.0.log I got:
> 
> [174183.355] (II) LoadModule: "nvidia"
> [174183.356] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
> [174183.356] (II) Module nvidia: vendor="NVIDIA Corporation"
> [174183.356]    compiled for 4.0.2, module version = 1.0.0
> [174183.356]    Module class: X.Org Video Driver
> [174183.356] (II) NVIDIA dlloader X Driver  304.54  Sat Sep 29 00:07:17 
> PDT 2012
> [174183.356] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
> [174183.356] (--) using VT number 2
> 
> [174183.356] (WW) xf86OpenConsole: VT_GETSTATE failed: Invalid argument
> [174183.356] Fatal server error:
> [174183.356] xf86OpenConsole: VT_ACTIVATE failed: Invalid argument
> 
> 
> I "straced" the problem and I found something that seems intresting to me:
> 
> X is opening "/dev/tty2" and does an ioctl that fails:
> 
>   open("/dev/tty2", O_RDWR|O_NONBLOCK) = 9
>   ioctl(9, VT_GETSTATE, 0x7fff94f0fc60) = -1 EINVAL (Invalid argument)


I run a number of machines with dual nvidia cards - 1 running in the host and 1 running in a container. In the container, I start the X server using xinit directly with the -novtswitch and -sharevts options. Maybe something like that will help? It works well here - all the goodies are enabled:

[    42.781] (II) Reloading /usr/lib64/xorg/modules/extensions/libdri2.so
[    42.781] (II) NVIDIA(1): [DRI2] Setup complete
[    42.781] (II) NVIDIA(1): [DRI2]   VDPAU driver: nvidia
[    42.781] (==) RandR enabled
[    42.781] (II) Initializing built-in extension Generic Event Extension
[    42.781] (II) Initializing built-in extension SHAPE
[    42.781] (II) Initializing built-in extension MIT-SHM
[    42.781] (II) Initializing built-in extension XInputExtension
[    42.781] (II) Initializing built-in extension XTEST
[    42.781] (II) Initializing built-in extension BIG-REQUESTS
[    42.781] (II) Initializing built-in extension SYNC
[    42.781] (II) Initializing built-in extension XKEYBOARD
[    42.781] (II) Initializing built-in extension XC-MISC
[    42.781] (II) Initializing built-in extension XINERAMA
[    42.781] (II) Initializing built-in extension XFIXES
[    42.781] (II) Initializing built-in extension RENDER
[    42.781] (II) Initializing built-in extension RANDR
[    42.781] (II) Initializing built-in extension COMPOSITE
[    42.781] (II) Initializing built-in extension DAMAGE
[    42.782] (II) Initializing extension GLX


chris 


> I'm using an ubuntu 12.04.2. I created a file /etc/inittab where I added:
> 
> c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux
> c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux
> c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux
> c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux
> 
> And I also added "lxc.tty = 4" in my lxc configuration file but There 
> is still a problem with /dev/tty2.
> 
> If anyone has some hints or any links to help me he is welcome :)
> 
> Note: I tested the xorg.conf outside the container (ie on the host) and 
> it is working. Now I want to do the same but in the container so on the 
> host I did an "rmmod" on the nvidia kernel module and halted the X 
> server.
> 
> The complete lxc config file is pasted at the end of the email.
> 
> Regards,
> Guillaume
> 
> 
> lxc.network.type=veth
> lxc.network.link=local_br
> lxc.network.name=eth0
> lxc.network.flags=up
> lxc.network.hwaddr = 52:54:BE:EF:4b:96
> 
> lxc.network.type=veth
> lxc.network.link=mngmtbr
> lxc.network.name=eth1
> lxc.network.flags=up
> lxc.network.hwaddr = 52:54:BE:EF:4b:97
> 
> #Network is configured inside the guest otherwise
> #gateway is not well sets. Maybe a LXC bug...
> #lxc.network.ipv4=192.168.35.13/24
> #lxc.network.ipv4.gateway=192.168.35.1
> lxc.utsname = testvm1
> 
> lxc.devttydir = lxc
> lxc.tty = 4
> lxc.pts = 1024
> lxc.mount  = /var/lib/lxc/testvm1/fstab
> lxc.arch = amd64
> lxc.cap.drop = mac_admin
> lxc.pivotdir = lxc_putold
> 
> # uncomment the next line to run the container unconfined:
> #lxc.aa_profile = unconfined
> 
> lxc.cgroup.devices.deny = a
> # Allow any mknod (but not using the node)
> lxc.cgroup.devices.allow = c *:* m
> lxc.cgroup.devices.allow = b *:* m
> 
> # /dev/mem
> lxc.cgroup.devices.allow = c 1:1 rwm
> # /dev/null and zero
> lxc.cgroup.devices.allow = c 1:3 rwm
> lxc.cgroup.devices.allow = c 1:5 rwm
> 
> # consoles
> lxc.cgroup.devices.allow = c 5:1 rwm
> lxc.cgroup.devices.allow = c 5:0 rwm
> lxc.cgroup.devices.allow = c 4:0 rwm
> lxc.cgroup.devices.allow = c 4:1 rwm
> lxc.cgroup.devices.allow = c 4:2 rwm
> lxc.cgroup.devices.allow = c 4:3 rwm
> lxc.cgroup.devices.allow = c 4:4 rwm
> 
> # /dev/{,u}random
> lxc.cgroup.devices.allow = c 1:9 rwm
> lxc.cgroup.devices.allow = c 1:8 rwm
> lxc.cgroup.devices.allow = c 136:* rwm
> lxc.cgroup.devices.allow = c 5:2 rwm
> 
> # rtc
> lxc.cgroup.devices.allow = c 254:0 rwm
> 
> #fuse
> lxc.cgroup.devices.allow = c 10:229 rwm
> 
> #tun
> lxc.cgroup.devices.allow = c 10:200 rwm
> 
> #full
> lxc.cgroup.devices.allow = c 1:7 rwm
> 
> #hpet
> lxc.cgroup.devices.allow = c 10:228 rwm
> 
> #kvm
> lxc.cgroup.devices.allow = c 10:232 rwm
> 
> # vga_arbiter
> lxc.cgroup.devices.allow = c 10:63 rwm
> 
> # nvidia
> lxc.cgroup.devices.allow = c 195:* rwm
> 
> # fb0
> lxc.cgroup.devices.allow = c 29:0 rwm
> 
> lxc.rootfs = /dev/lxcvg/testvm1lv
> 
> 
> 
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> Lxc-users mailing list
> Lxc-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-users





More information about the lxc-users mailing list