You are not logged in.

#1 2018-11-24 21:46:10

bitmapkid
Member
Registered: 2018-11-24
Posts: 5

[SOLVED] No DRI2/DRI3 on unprivileged container.

Hello,

I'am using an unprivileged LXC Arch amd64 container.
After loggin on the container with ssh -XY, I can execute xclock, glxgears, firefox and
it works !

Aber, I have no 3D acceleration.

[user@mylxc ~]$ LIBGL_DEBUG=verbose glxgears
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so

I always fallback in software rendering.

No need to tell you that from my Host, i've got 3D acceleration :

[user@myhost ~] LIBGL_DEBUG=verbose glxgears
libGL: pci id for fd 4: 1002:6658, driver radeonsi
libGL: OpenDriver: trying /usr/lib/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/dri/radeonsi_dri.so
libGL: Using DRI3 for screen 0

On my container, I'm almost sure, to have all the device.

[user@mylxc ~]$ ls /dev/dri /dev/fb0 -la
crw-rw---- 1 nobody nobody 29, 0 Nov 24 18:04 /dev/fb0

/dev/dri:
total 0
drwxr-xr-x   2 root   root         80 Nov 24 19:09 .
drwxr-xr-x  11 root   root        900 Nov 24 19:09 ..
crw-rw----+  1 nobody nobody 226,   0 Nov 24 18:04 card0
crw-rw-rw-   1 nobody nobody 226, 128 Nov 24 18:04 renderD128

[user@mylxc ~]$ lspci
...
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XTX [Radeon R7 260X/360]
...

Please, take the following information with caution. I am not absolutely not sure what I say :
After debug compiling glxgears, mesa and XCB, it seems during glxgears initialization XCB request to X what version of DRI is available. The response seems to be bad or absent.


Your help would be appreciated

Sincerely

Last edited by bitmapkid (2018-11-29 10:26:20)

Offline

#2 2018-11-29 10:24:36

bitmapkid
Member
Registered: 2018-11-24
Posts: 5

Re: [SOLVED] No DRI2/DRI3 on unprivileged container.

The problem was container’s systemd by mounting /tmp with tmpfs, masks the following container’s config entry :

lxc.mount.entry = /tmp/.X11-unix/ tmp/.X11-unix/ none bind,optional,create=dir

Because of that, once container started, the file /tmp/.X11-unix/X0 disappears.

I do not realize it immediately, because display forward works using ssh -XY and container’s DISPLAY=:10.0

So, mount /tmp/.X11-unix/ on mnt/.X11-unix/ in a first time. And once the containers started, mount again /mnt/.X11-unix on /tmp/.X11-unix/.

Finish by setting the DISPLAY to :0.0

Finish ! DRI2/DR3 detect! CS:Global Offensive possible !

Last edited by bitmapkid (2018-11-29 10:27:22)

Offline

Board footer

Powered by FluxBB