GUI Apps in LXD container

Hi @simos
nothing seems to work.
however I just done the following

sherab@Sherab-PureOS:/tmp/.X11-unix$ stat X0
  File: X0
  Size: 0         	Blocks: 0          IO Block: 4096   socket
Device: 2bh/43d	Inode: 41923       Links: 1
Access: (0755/srwxr-xr-x)  Uid: ( 1000/  sherab)   Gid: ( 1000/  sherab)
Access: 2019-04-23 22:05:06.249116217 +0100
Modify: 2019-04-23 22:05:06.249116217 +0100
Change: 2019-04-23 22:05:06.249116217 +0100
 Birth: -
sherab@Sherab-PureOS:/tmp/.X11-unix$ stat X1024 
  File: X1024
  Size: 0         	Blocks: 0          IO Block: 4096   socket
Device: 2bh/43d	Inode: 29215       Links: 1
Access: (0755/srwxr-xr-x)  Uid: (  120/Debian-gdm)   Gid: (  127/Debian-gdm)
Access: 2019-04-23 22:04:52.420373012 +0100
Modify: 2019-04-23 22:04:52.420373012 +0100
Change: 2019-04-23 22:04:52.420373012 +0100
 Birth: -
sherab@Sherab-PureOS:/tmp/.X11-unix$

And I find it interesting that the size of both the X10 and X1024 are 0 - does it mean the file is empty?

also do you think it might do anything with this:

sherab@Sherab-PureOS:~$ lxc exec gui1804 bash
root@gui1804:~# xclock 
No protocol specified
Error: Can't open display: :0
root@gui1804:~# xauth list
xauth:  file /root/.Xauthority does not exist
root@gui1804:~#

First of all, you try to run GUI apps as root in the gui1804 container. That will not work without additional work not described in the tutorial. Please try again as user ubuntu.

Second, the Unix socket file are of size zero. They are special files that are associated with some running process. Without that running process, these file do not do something and have no content.
To see the Process ID of the associated process, run

$ sudo fuser /tmp/.X11-unix/X0 
/tmp/.X11-unix/X0:    2299

Perform the following only if you still get issues about Xauthority, when you connect as ubuntu in the gui1804 container. I wrote the following without noticing first that you connected as root to the container.

With this line in the gui profile, we are normally able to avoid copying the .Xauthority file from the host to the gui1804 container. In your case it does not appear that we can avoid that, therefore you would need to follow the older guide for the .Xauthority file, at How to run graphics-accelerated GUI apps in LXD containers on your Ubuntu desktop – Mi blog lah!

In a nutshell, you would need to additionally run the following,

 lxc config device add gui1804 Xauthority disk path=/home/ubuntu/.Xauthority source=${XAUTHORITY}

See the older blogpost for an explanation of the command.

1 Like

I am very happy to inform that YES both xclock and glxgears are working!!
Thanks @simos

Thank you for your patience.
Now for my next jobs

  1. install crossover in my gui container on PureOS [which I managed installing crossover on lxd gui container in my linux mint 19.1]
  2. Install scapple inside that container and then run the scapple application with the crossover [in my gui container on my linux mint I managed running crossover and started installing the scapple file but there were some error messages]

Many many for you healp and again thanks for your patience - I appreciate you guys are busy with your life and yet you take the time to patiently guide people like me

Much appreciated

1 Like

I tried to follow this blog post and I’m hitting the following error when the gui container tries to start,

$ lxc info --show-log local:gui1804
Name: gui1804
Remote: unix://
Architecture: x86_64
Created: 2019/08/14 23:19 UTC
Status: Stopped
Type: persistent
Profiles: default, gui

Log:

lxc gui1804 20190814231943.577 ERROR    conf - conf.c:lxc_map_ids:2999 - newuidmap failed to write mapping "newuidmap: uid range [0-1001) -> [100000-101001) not allowed": newuidmap 7782 0 100000 1001 1001 1001 1 1002 101002 64534
lxc gui1804 20190814231943.577 ERROR    start - start.c:lxc_spawn:1708 - Failed to set up id mapping.
lxc gui1804 20190814231943.700 WARN     network - network.c:lxc_delete_network_priv:2613 - Invalid argument - Failed to remove interface "vethOQNJIP" from "lxdbr0"
lxc gui1804 20190814231943.700 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:842 - Received container state "ABORTING" instead of "RUNNING"
lxc gui1804 20190814231943.700 ERROR    start - start.c:__lxc_start:1939 - Failed to spawn container "gui1804"
lxc gui1804 20190814231943.705 ERROR    conf - conf.c:lxc_map_ids:2999 - newuidmap failed to write mapping "newuidmap: uid range [0-1001) -> [100000-101001) not allowed": newuidmap 7803 0 100000 1001 65536 0 1
lxc gui1804 20190814231943.705 ERROR    conf - conf.c:userns_exec_1:4352 - Error setting up {g,u}id mappings for child process "7803"
lxc gui1804 20190814231943.705 WARN     cgfsng - cgroups/cgfsng.c:cgfsng_payload_destroy:1122 - Failed to destroy cgroups
lxc 20190814231943.706 WARN     commands - commands.c:lxc_cmd_rsp_recv:132 - Connection reset by peer - Failed to receive response for command "get_state"

It seems like I am having problems with uid/gid mappings.

$ id -u
1001
$ lxc profile show gui
config:
  environment.DISPLAY: :0
  raw.idmap: both 1001 1001
  user.user-data: |
    #cloud-config
    runcmd:
      - 'sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf'
      - 'echo export PULSE_SERVER=unix:/tmp/.pulse-native | tee --append /home/ubuntu/.profile'
    packages:
      - x11-apps
      - mesa-utils
      - pulseaudio
description: GUI LXD profile
devices:
  PASocket:
    path: /tmp/.pulse-native
    source: /run/user/1001/pulse/native
    type: disk
  X0:
    path: /tmp/.X11-unix/X0
    source: /tmp/.X11-unix/X0
    type: disk
  mygpu:
    type: gpu
name: gui
used_by:
- /1.0/containers/gui1804

This is the configuration I found,

$ sudo cat /var/log/lxd/gui1804/lxc.conf
lxc.log.file = /var/log/lxd/gui1804/lxc.log
lxc.log.level = warn
lxc.console.buffer.size = auto
lxc.console.size = auto
lxc.console.logfile = /var/log/lxd/gui1804/console.log
lxc.mount.auto = proc:rw sys:rw
lxc.autodev = 1
lxc.pty.max = 1024
lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file,optional
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file,optional
lxc.mount.entry = /proc/sys/fs/binfmt_misc proc/sys/fs/binfmt_misc none rbind,create=dir,optional
lxc.mount.entry = /sys/firmware/efi/efivars sys/firmware/efi/efivars none rbind,create=dir,optional
lxc.mount.entry = /sys/fs/fuse/connections sys/fs/fuse/connections none rbind,create=dir,optional
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none rbind,create=dir,optional
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none rbind,create=dir,optional
lxc.mount.entry = /sys/kernel/security sys/kernel/security none rbind,create=dir,optional
lxc.mount.entry = /dev/mqueue dev/mqueue none rbind,create=dir,optional
lxc.include = /usr/share/lxc/config/common.conf.d/
lxc.arch = linux64
lxc.hook.pre-start = /usr/lib/lxd/lxd callhook /var/lib/lxd 10 start
lxc.hook.post-stop = /usr/lib/lxd/lxd callhook /var/lib/lxd 10 stop
lxc.tty.max = 0
lxc.uts.name = gui1804
lxc.mount.entry = /var/lib/lxd/devlxd dev/lxd none bind,create=dir 0 0
lxc.apparmor.profile = lxd-gui1804_</var/lib/lxd>//&:lxd-gui1804_<var-lib-lxd>:
lxc.seccomp.profile = /var/lib/lxd/security/seccomp/gui1804
lxc.idmap = u 0 100000 1001
lxc.idmap = u 1001 1001 1
lxc.idmap = g 1001 1001 1
lxc.idmap = u 1002 101002 64534
lxc.idmap = g 0 100000 1001
lxc.idmap = g 1002 101002 64534
lxc.environment = DISPLAY=:0
lxc.rootfs.path = dir:/var/lib/lxd/containers/gui1804/rootfs
lxc.mount.entry = /var/lib/lxd/devices/gui1804/disk.X0.tmp-.X11-unix-X0 tmp/.X11-unix/X0 none bind,create=file
lxc.mount.entry = /var/lib/lxd/devices/gui1804/disk.PASocket.tmp-.pulse-native tmp/.pulse-native none bind,create=file
lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = lxdbr0
lxc.net.0.hwaddr = 00:16:3e:ac:8f:ea
lxc.net.0.name = eth0
lxc.mount.entry = /var/lib/lxd/shmounts/gui1804 dev/.lxd-mounts none bind,create=dir 0 0
lxc.mount.entry = /var/lib/lxd/devices/gui1804/unix.mygpu.dev-dri-card0 dev/dri/card0 none bind,create=file
lxc.mount.entry = /var/lib/lxd/devices/gui1804/unix.mygpu.dev-dri-controlD64 dev/dri/controlD64 none bind,create=file
lxc.mount.entry = /var/lib/lxd/devices/gui1804/unix.mygpu.dev-dri-renderD128 dev/dri/renderD128 none bind,create=file

My subuid / subgid entries,

$ cat /etc/subuid
myusername:165536:65536
lxd:100000:1000000000
root:100000:1000000000
$ cat /etc/subgid
myusername:165536:65536
lxd:100000:1000000000
root:100000:1000000000

I read about the root and lxd mappings in https://stgraber.org/2017/06/15/custom-user-mappings-in-lxd-containers/

Any idea what is the matter? @simos?

Hi!

The problem you are facing is with the ID mapping. The error message is

Failed to set up id mapping.
newuidmap failed to write mapping "newuidmap: uid range [0-1001) -> [100000-101001) not allowed": newuidmap 7782 0 100000 1001 1001 1001 1 1002 101002 64534

The relevant configuration that could cause this issue is

  raw.idmap: both 1001 1001

But what does both and these two numbers actually mean? Contrary to the popular belief,
the first number is the UID and GID for the non-root user on the host.
The second number is the UID and GID for the non-root user in the container.

Which means that for your case, with UID/GID 1001 on the host, you should have used instead

  raw.idmap: both 1001 1000

because the Ubuntu LXD container images default to UID/GID 1000 for the ubuntu account.

You can edit the profile by running lxc profile edit gui, and change the 1001 into a 1000.

1 Like

Hi @simos,

Thank you for your detailed reply. I can confirm that it now works. I believe your blog post may require a correction when you comment about lxc profile set gui raw.idmap "both 1001 1001". I didn’t read all the comments there but should have, since the last commenter at the time of writing pointed it out as well.

Anyway, got GUI applications working now, thanks a lot!

1 Like

Hi @simos,

I have also been following your blog posts to try and get gl support into my containers.

In my case I have an Ubuntu 18.04 host (amd64) and an 18.04 (amd64) container.

The host is using nvidia-driver-340 and the container has libnvidia-gl-430:amd64 and deps.

User mappings and display sharing should be working correctly as xclock and xterminal are working fine, the problem arises when I try to glxinfo from inside the container:

ubuntu@gui64:~$ glxinfo
name of display: :1
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  85
  Current serial number in output stream:  86

I am trying to debug the error, but I cannot find pointers to what is wrong, only thing I noticed is:

romen@host:~$ sudo cat /var/snap/lxd/common/lxd/logs/gui64/proxy.X1.log
Status: Started
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF
Warning: Error while sending data: read unix @/tmp/.X11-unix/X1->@: EOF

But I believe it is unrelated as one of those lines gets added every time a GUI program is terminated (e.g., whenever I close xclock) so it’s probably just the socket giving a warning when the connection is terminated.

Can you give me pointers on how to debug the issue further?

Using strace I checked and it seems inside the container everything should be in place, and the “gl-wrapper” is correctly pointing to libnvidia-gl:

execve("/usr/bin/glxinfo", ["glxinfo"], 0x7ffdcfecdf68 /* 20 vars */) = 0
brk(NULL)                               = 0x5626d20b6000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=31727, ...}) = 0
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGL.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\3\4\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=567624, ...}) = 0
mmap(...)
mmap(...)
mprotect(0x7f59760eb000, 2093056, PROT_NONE) = 0
mmap(...)
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\207\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1277384, ...}) = 0
mmap(...)
mprotect(0x7f5975e75000, 2097152, PROT_NONE) = 0
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\34\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2030544, ...}) = 0
mmap(...)
mprotect(0x7f5975b38000, 2097152, PROT_NONE) = 0
mmap(...)
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260/\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=68144, ...}) = 0
mmap(...)
mprotect(0x7f5975730000, 2093056, PROT_NONE) = 0
mmap(...)
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\353\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=612792, ...}) = 0
mmap(...)
mprotect(0x7f59754d8000, 2093056, PROT_NONE) = 0
mmap(...)
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000b\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=144976, ...}) = 0
mmap(...)
mprotect(0x7f5975265000, 2093056, PROT_NONE) = 0
mmap(...)
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\261\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=162232, ...}) = 0
mmap(...)
mmap(...)
mprotect(0x7f5975049000, 2097152, PROT_NONE) = 0
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14560, ...}) = 0
mmap(...)
mprotect(0x7f5974e22000, 2093056, PROT_NONE) = 0
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14456, ...}) = 0
mmap(...)
mprotect(0x7f5974c1d000, 2097152, PROT_NONE) = 0
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=22616, ...}) = 0
mmap(...)
mprotect(0x7f5974a1a000, 2093056, PROT_NONE) = 0
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbsd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P4\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=80104, ...}) = 0
mmap(...)
mprotect(0x7f5974813000, 2093056, PROT_NONE) = 0
mmap(...)
mmap(...)
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31680, ...}) = 0
mmap(...)
mmap(...)
mprotect(0x7f59745ff000, 2093056, PROT_NONE) = 0
mmap(...)
close(3)                                = 0
mmap(...)
arch_prctl(ARCH_SET_FS, 0x7f597651c740) = 0
mprotect(0x7f5975d38000, 16384, PROT_READ) = 0
mprotect(0x7f5975464000, 4096, PROT_READ) = 0
mprotect(0x7f59747fe000, 4096, PROT_READ) = 0
mprotect(0x7f5974a12000, 4096, PROT_READ) = 0
mprotect(0x7f5974c19000, 4096, PROT_READ) = 0
mprotect(0x7f5974e1d000, 4096, PROT_READ) = 0
mprotect(0x7f5975021000, 4096, PROT_READ) = 0
mprotect(0x7f5975249000, 4096, PROT_READ) = 0
mprotect(0x7f59756d7000, 163840, PROT_READ) = 0
mprotect(0x7f5976075000, 4096, PROT_READ) = 0
mprotect(0x7f597592f000, 4096, PROT_READ) = 0
mprotect(0x7f59762ea000, 106496, PROT_READ) = 0
mprotect(0x5626d19ce000, 8192, PROT_READ) = 0
mprotect(0x7f597652d000, 4096, PROT_READ) = 0
munmap(0x7f5976525000, 31727)           = 0
set_tid_address(0x7f597651ca10)         = 418
set_robust_list(0x7f597651ca20, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7f5975250cb0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f597525d890}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7f5975250d50, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f597525d890}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
futex(0x7f59750220c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(NULL)                               = 0x5626d20b6000
brk(0x5626d20d7000)                     = 0x5626d20d7000
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X1"}, 20) = 0
getpeername(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X1"}, [124->20]) = 0
uname({sysname="Linux", nodename="gui64", ...}) = 0
access("/home/ubuntu/.Xauthority", R_OK) = -1 ENOENT (No such file or directory)
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="l\0\v\0\0\0\0\0\0\0\0\0", iov_len=12}, {iov_base="", iov_len=0}], 2) = 12
recvfrom(3, 0x5626d20bd360, 8, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "\1\0\v\0\0\0k\4", 8, 0, NULL, NULL) = 8
recvfrom(3, "\320\253\265\0\0\0\240\2\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0  \10\377\0\0\0\0"..., 4524, 0, NULL, NULL) = 4524
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\5\0\f\0\0\0BIG-REQUESTS", iov_len=20}], 1) = 20
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\1\0\0\0\0\0\1\205\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\205\0\1\0", iov_len=4}], 1) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\2\0\0\0\0\0\377\377?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="7\0\5\0\0\0\240\2B\2\0\0\10\0\0\0\377\377\377\0\24\0\6\0B\2\0\0\27\0\0\0"..., iov_len=44}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 44
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\10\4\0&\0\0\0\37\0\0\0\0\0\0\0\225\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 184
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\5\0\t\0\240\2", iov_len=8}, {iov_base="XKEYBOARD", iov_len=9}, {iov_base="\0\0\0", iov_len=3}], 3) = 20
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\5\0\0\0\0\0\1\207U\211\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\207\0\2\0\1\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\1\6\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
fstat(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\0\3\0\3\0\0\0", iov_len=8}, {iov_base="GLX", iov_len=3}, {iov_base="\0", iov_len=1}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\7\0\0\0\0\0\1\232h\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\23\3\0\0\0\0\0\3\0\0\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\10\0\264\0\0\0\376\334(C\315\2\0\0\0\0\0\0\0\0\0\0\300\240U\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 752
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\23\3\0\0\0\0\0\366 \0\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\t\0\2\0\0\0\210\341\263\335\7\0\0\0P\315\211\270\377\177\0\0D\22s\335aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 40
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=31727, ...}) = 0
mmap(...)
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\312\4\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=1142976, ...}) = 0
mmap(...)
mprotect(0x7f59743d2000, 2097152, PROT_NONE) = 0
mmap(...)
mmap(...)
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-tls.so.430.40", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\t\0\0\0\0\0\0"..., 832) = 832
lseek(4, 11136, SEEK_SET)               = 11136
read(4, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\3\0\0\0c\0\0\0", 32) = 32
fstat(4, {st_mode=S_IFREG|0644, st_size=14480, ...}) = 0
mmap(...)
mprotect(0x7f59740de000, 2097152, PROT_NONE) = 0
mmap(...)
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.430.40", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\220'\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=28019496, ...}) = 0
mmap(...)
mprotect(0x7f5973b8b000, 2093056, PROT_NONE) = 0
mmap(...)
mmap(...)
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXext.so.6", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2205\0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=73640, ...}) = 0
mmap(...)
mprotect(0x7f5972205000, 2093056, PROT_NONE) = 0
mmap(...)
close(4)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 4
read(4, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\272\0\0\0\0\0\0"..., 832) = 832
fstat(4, {st_mode=S_IFREG|0644, st_size=1700792, ...}) = 0
mmap(...)
mprotect(0x7f5971ff3000, 2093056, PROT_NONE) = 0
mmap(...)
close(4)                                = 0
mprotect(0x7f59721f2000, 4096, PROT_READ) = 0
mprotect(0x7f5972404000, 4096, PROT_READ) = 0
munmap(0x7f5976525000, 31727)           = 0
openat(AT_FDCWD, "/proc/self/maps", O_RDONLY) = 4
lseek(4, 0, SEEK_SET)                   = 0
read(4, "5626d17c2000-5626d17ce000 r-xp 0"..., 4096) = 4087
read(4, "7f5974e1d000-7f5974e1e000 r--p 0"..., 4096) = 4074
read(4, "7f5976305000-7f5976306000 rw-p 0"..., 4096) = 790
read(4, "", 4096)                       = 0
close(4)                                = 0
brk(0x5626d2102000)                     = 0x5626d2102000
brk(0x5626d20f8000)                     = 0x5626d20f8000
mmap(...)
brk(0x5626d20ed000)                     = 0x5626d20ed000
mremap(0x7f59764ef000, 184320, 188416, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 188416, 192512, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 192512, 196608, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 196608, 200704, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 200704, 204800, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 204800, 208896, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 208896, 212992, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 212992, 217088, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 217088, 221184, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 221184, 225280, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 225280, 229376, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 229376, 233472, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 233472, 237568, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 237568, 241664, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 241664, 245760, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 245760, 249856, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 249856, 253952, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 253952, 258048, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 258048, 262144, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 262144, 266240, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 266240, 270336, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 270336, 274432, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 274432, 278528, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 278528, 282624, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 282624, 286720, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 286720, 290816, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 290816, 294912, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 294912, 299008, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 299008, 303104, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 303104, 307200, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 307200, 311296, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 311296, 315392, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 315392, 319488, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 319488, 323584, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 323584, 327680, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 327680, 331776, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 331776, 335872, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 335872, 339968, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 339968, 344064, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 344064, 348160, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 348160, 356352, MREMAP_MAYMOVE) = 0x7f59764c1000
mremap(0x7f59764c1000, 356352, 360448, MREMAP_MAYMOVE) = 0x7f59764c1000
brk(0x5626d20ea000)                     = 0x5626d20ea000
munmap(0x7f59764c1000, 360448)          = 0
openat(AT_FDCWD, "/home/ubuntu/.nv/nvidia-application-profile-globals-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/ubuntu/.nv/nvidia-application-profiles-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/ubuntu/.nv/nvidia-application-profiles-rc.d", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/nvidia/nvidia-application-profiles-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/nvidia/nvidia-application-profiles-rc.d/", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/nvidia/nvidia-application-profiles-430.40-rc", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=7249, ...}) = 0
read(4, "# Application profiles for the N"..., 7680) = 7249
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/nvidia/nvidia-application-profiles-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
getpid()                                = 418
readlink("/proc/418/exe", "/usr/bin/glxinfo", 4095) = 16
openat(AT_FDCWD, "/proc/self/maps", O_RDONLY) = 4
lseek(4, 0, SEEK_SET)                   = 0
read(4, "5626d17c2000-5626d17ce000 r-xp 0"..., 4096) = 4087
read(4, "7f5974e1d000-7f5974e1e000 r--p 0"..., 4096) = 4074
read(4, "7f5976305000-7f5976306000 rw-p 0"..., 4096) = 790
read(4, "", 4096)                       = 0
close(4)                                = 0
brk(0x5626d210b000)                     = 0x5626d210b000
brk(0x5626d214e000)                     = 0x5626d214e000
openat(AT_FDCWD, "/usr/bin/glxinfo", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=59600, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340H\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 59600
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 504) = 504
lseek(4, 57808, SEEK_SET)               = 57808
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1792) = 1792
lseek(4, 57544, SEEK_SET)               = 57544
read(4, "\0.shstrtab\0.interp\0.note.ABI-tag"..., 257) = 257
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=567624, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\3\4\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 567624
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 565832, SEEK_SET)              = 565832
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1792) = 1792
lseek(4, 565576, SEEK_SET)              = 565576
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 250) = 250
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1277384, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\207\1\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 1277384
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 1275656, SEEK_SET)             = 1275656
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 1275412, SEEK_SET)             = 1275412
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 244) = 244
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=2030544, ...}) = 0
read(4, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\34\2\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 2030544
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 560) = 560
lseek(4, 2025872, SEEK_SET)             = 2025872
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4672) = 4672
lseek(4, 2024648, SEEK_SET)             = 2024648
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 1223) = 1223
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=68144, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260/\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 68144
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 66416, SEEK_SET)               = 66416
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 66168, SEEK_SET)               = 66168
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 244) = 244
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=612792, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\353\3\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 612792
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 448) = 448
lseek(4, 610936, SEEK_SET)              = 610936
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1856) = 1856
lseek(4, 610672, SEEK_SET)              = 610672
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 257) = 257
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=144976, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000b\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 144976
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 504) = 504
lseek(4, 142416, SEEK_SET)              = 142416
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2560) = 2560
lseek(4, 141956, SEEK_SET)              = 141956
read(4, "\0.symtab\0.strtab\0.shstrtab\0.note"..., 459) = 459
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=162232, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\261\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 162232
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 160504, SEEK_SET)              = 160504
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 160260, SEEK_SET)              = 160260
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 244) = 244
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=14560, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 14560
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 12704, SEEK_SET)               = 12704
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1856) = 1856
lseek(4, 12444, SEEK_SET)               = 12444
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 260) = 260
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/ld-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=170960, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\20\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 170960
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 169232, SEEK_SET)              = 169232
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 168976, SEEK_SET)              = 168976
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 256) = 256
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXau.so.6.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=14456, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 14456
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 12792, SEEK_SET)               = 12792
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1664) = 1664
lseek(4, 12556, SEEK_SET)               = 12556
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 232) = 232
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=22616, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\21\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 22616
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 20888, SEEK_SET)               = 20888
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 20652, SEEK_SET)               = 20652
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 236) = 236
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbsd.so.0.8.7", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=80104, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P4\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 80104
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 78376, SEEK_SET)               = 78376
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 78112, SEEK_SET)               = 78112
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 257) = 257
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/librt-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=31680, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\"\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 31680
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 29632, SEEK_SET)               = 29632
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2048) = 2048
lseek(4, 29312, SEEK_SET)               = 29312
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 314) = 314
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1142976, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\312\4\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 1142976
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 224) = 224
lseek(4, 1141568, SEEK_SET)             = 1141568
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1408) = 1408
lseek(4, 1141392, SEEK_SET)             = 1141392
read(4, "\0.shstrtab\0.hash\0.dynsym\0.dynstr"..., 172) = 172
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-tls.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=14480, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\t\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 14480
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 336) = 336
lseek(4, 13136, SEEK_SET)               = 13136
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1344) = 1344
lseek(4, 12964, SEEK_SET)               = 12964
read(4, "\0.shstrtab\0.hash\0.dynsym\0.dynstr"..., 172) = 172
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=28019496, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\220'\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 28019496
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 336) = 336
lseek(4, 28017768, SEEK_SET)            = 28017768
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 28017544, SEEK_SET)            = 28017544
read(4, "\0.shstrtab\0.note.gnu.build-id\0.h"..., 224) = 224
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=73640, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2205\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 73640
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 71912, SEEK_SET)               = 71912
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 71664, SEEK_SET)               = 71664
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 245) = 245
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1700792, ...}) = 0
read(4, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\272\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 1700792
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 1698808, SEEK_SET)             = 1698808
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1984) = 1984
lseek(4, 1698520, SEEK_SET)             = 1698520
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 288) = 288
close(4)                                = 0
openat(AT_FDCWD, "/proc/self/comm", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
read(4, "glxinfo\n", 4096)              = 8
read(4, "", 3072)                       = 0
close(4)                                = 0
getpid()                                = 418
statfs("/sys/fs/selinux", 0x7ffc769b6340) = -1 ENOENT (No such file or directory)
statfs("/selinux", 0x7ffc769b6340)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/proc/filesystems", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(4, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 458
read(4, "", 1024)                       = 0
close(4)                                = 0
openat(AT_FDCWD, "/proc/self/maps", O_RDONLY) = 4
lseek(4, 0, SEEK_SET)                   = 0
read(4, "5626d17c2000-5626d17ce000 r-xp 0"..., 4096) = 4087
read(4, "7f5974e1d000-7f5974e1e000 r--p 0"..., 4096) = 4074
read(4, "7f5976305000-7f5976306000 rw-p 0"..., 4096) = 790
read(4, "", 4096)                       = 0
close(4)                                = 0
brk(0x5626d218e000)                     = 0x5626d218e000
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1142976, ...}) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.430.40", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=1142976, ...}) = 0
read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\312\4\0\0\0\0\0"..., 64) = 64
lseek(5, 0, SEEK_END)                   = 1142976
lseek(5, 64, SEEK_SET)                  = 64
read(5, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 224) = 224
lseek(5, 1141568, SEEK_SET)             = 1141568
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1408) = 1408
lseek(5, 1141392, SEEK_SET)             = 1141392
read(5, "\0.shstrtab\0.hash\0.dynsym\0.dynstr"..., 172) = 172
close(5)                                = 0
lseek(4, 1141392, SEEK_SET)             = 1141392
read(4, "\0.shstrtab\0.hash\0.dynsym\0.dynstr"..., 172) = 172
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=28019496, ...}) = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.430.40", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=28019496, ...}) = 0
read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\220'\0\0\0\0\0"..., 64) = 64
lseek(5, 0, SEEK_END)                   = 28019496
lseek(5, 64, SEEK_SET)                  = 64
read(5, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 336) = 336
lseek(5, 28017768, SEEK_SET)            = 28017768
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(5, 28017544, SEEK_SET)            = 28017544
read(5, "\0.shstrtab\0.note.gnu.build-id\0.h"..., 224) = 224
close(5)                                = 0
lseek(4, 28017544, SEEK_SET)            = 28017544
read(4, "\0.shstrtab\0.note.gnu.build-id\0.h"..., 224) = 224
close(4)                                = 0
mprotect(0x7f597438e000, 217088, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x7f5973670000, 135168, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
openat(AT_FDCWD, "/proc/self/status", O_RDONLY) = 4
lseek(4, 0, SEEK_SET)                   = 0
read(4, "Name:\tglxinfo\nUmask:\t0002\nState:"..., 256) = 256
close(4)                                = 0
openat(AT_FDCWD, "/proc/self/status", O_RDONLY) = 4
lseek(4, 0, SEEK_SET)                   = 0
read(4, "Name:\tglxinfo\nUmask:\t0002\nState:"..., 256) = 256
close(4)                                = 0
getpid()                                = 418
futex(0x7f59745f5844, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 4
read(4, "0-7\n", 8192)                  = 4
close(4)                                = 0
getpid()                                = 418
readlink("/proc/418/exe", "/usr/bin/glxinfo", 4095) = 16
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\23\3\0\3\0\0\0", iov_len=8}, {iov_base="GLX", iov_len=3}, {iov_base="\0", iov_len=1}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\n\0\0\0\0\0\1\232h\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\23\10\0\27\0\0\0", iov_len=8}, {iov_base="Generic Event Extension", iov_len=23}, {iov_base="\0", iov_len=1}], 3) = 32
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\v\0\0\0\0\0\1\200\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\200\0\2\0\1\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\f\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\7\3\0\1\0\0\0\4\0\0\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\r\0\0\0\0\0\1\0\0\0\4\0\0\0\340\265\262\335aU\0\0\7\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
openat(AT_FDCWD, "/home/ubuntu/.nv/nvidia-application-profile-globals-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/ubuntu/.nv/nvidia-application-profiles-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/ubuntu/.nv/nvidia-application-profiles-rc.d", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/nvidia/nvidia-application-profiles-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/nvidia/nvidia-application-profiles-rc.d/", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/nvidia/nvidia-application-profiles-430.40-rc", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=7249, ...}) = 0
read(4, "# Application profiles for the N"..., 7680) = 7249
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/nvidia/nvidia-application-profiles-rc", O_RDONLY) = -1 ENOENT (No such file or directory)
getpid()                                = 418
readlink("/proc/418/exe", "/usr/bin/glxinfo", 4095) = 16
openat(AT_FDCWD, "/proc/self/maps", O_RDONLY) = 4
lseek(4, 0, SEEK_SET)                   = 0
read(4, "5626d17c2000-5626d17ce000 r-xp 0"..., 4096) = 4004
read(4, "7f5974a1a000-7f5974c19000 ---p 0"..., 4096) = 4084
read(4, "7f5976076000-7f597607a000 rw-p 0"..., 4096) = 1361
read(4, "", 4096)                       = 0
close(4)                                = 0
brk(0x5626d2204000)                     = 0x5626d2204000
openat(AT_FDCWD, "/usr/bin/glxinfo", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=59600, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340H\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 59600
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 504) = 504
lseek(4, 57808, SEEK_SET)               = 57808
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1792) = 1792
lseek(4, 57544, SEEK_SET)               = 57544
read(4, "\0.shstrtab\0.interp\0.note.ABI-tag"..., 257) = 257
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=567624, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\3\4\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 567624
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 565832, SEEK_SET)              = 565832
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1792) = 1792
lseek(4, 565576, SEEK_SET)              = 565576
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 250) = 250
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1277384, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\207\1\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 1277384
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 1275656, SEEK_SET)             = 1275656
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 1275412, SEEK_SET)             = 1275412
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 244) = 244
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=2030544, ...}) = 0
read(4, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\34\2\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 2030544
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 560) = 560
lseek(4, 2025872, SEEK_SET)             = 2025872
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4672) = 4672
lseek(4, 2024648, SEEK_SET)             = 2024648
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 1223) = 1223
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=68144, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260/\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 68144
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 66416, SEEK_SET)               = 66416
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 66168, SEEK_SET)               = 66168
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 244) = 244
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=612792, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\353\3\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 612792
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 448) = 448
lseek(4, 610936, SEEK_SET)              = 610936
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1856) = 1856
lseek(4, 610672, SEEK_SET)              = 610672
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 257) = 257
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=144976, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000b\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 144976
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 504) = 504
lseek(4, 142416, SEEK_SET)              = 142416
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2560) = 2560
lseek(4, 141956, SEEK_SET)              = 141956
read(4, "\0.symtab\0.strtab\0.shstrtab\0.note"..., 459) = 459
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=162232, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\261\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 162232
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 160504, SEEK_SET)              = 160504
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 160260, SEEK_SET)              = 160260
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 244) = 244
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=14560, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 14560
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 12704, SEEK_SET)               = 12704
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1856) = 1856
lseek(4, 12444, SEEK_SET)               = 12444
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 260) = 260
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/ld-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=170960, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\20\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 170960
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 169232, SEEK_SET)              = 169232
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 168976, SEEK_SET)              = 168976
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 256) = 256
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXau.so.6.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=14456, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\16\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 14456
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 12792, SEEK_SET)               = 12792
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1664) = 1664
lseek(4, 12556, SEEK_SET)               = 12556
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 232) = 232
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=22616, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\21\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 22616
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 20888, SEEK_SET)               = 20888
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 20652, SEEK_SET)               = 20652
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 236) = 236
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libbsd.so.0.8.7", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=80104, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P4\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 80104
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 78376, SEEK_SET)               = 78376
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 78112, SEEK_SET)               = 78112
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 257) = 257
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/librt-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=31680, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\"\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 31680
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 29632, SEEK_SET)               = 29632
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2048) = 2048
lseek(4, 29312, SEEK_SET)               = 29312
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 314) = 314
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1142976, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\312\4\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 1142976
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 224) = 224
lseek(4, 1141568, SEEK_SET)             = 1141568
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1408) = 1408
lseek(4, 1141392, SEEK_SET)             = 1141392
read(4, "\0.shstrtab\0.hash\0.dynsym\0.dynstr"..., 172) = 172
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-tls.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=14480, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\t\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 14480
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 336) = 336
lseek(4, 13136, SEEK_SET)               = 13136
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1344) = 1344
lseek(4, 12964, SEEK_SET)               = 12964
read(4, "\0.shstrtab\0.hash\0.dynsym\0.dynstr"..., 172) = 172
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.430.40", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=28019496, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\220'\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 28019496
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 336) = 336
lseek(4, 28017768, SEEK_SET)            = 28017768
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 28017544, SEEK_SET)            = 28017544
read(4, "\0.shstrtab\0.note.gnu.build-id\0.h"..., 224) = 224
close(4)                                = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libXext.so.6.4.0", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=73640, ...}) = 0
read(4, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2205\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 73640
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 71912, SEEK_SET)               = 71912
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1728) = 1728
lseek(4, 71664, SEEK_SET)               = 71664
read(4, "\0.shstrtab\0.note.gnu.build-id\0.g"..., 245) = 245
close(4)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm-2.27.so", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=1700792, ...}) = 0
read(4, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\272\0\0\0\0\0\0"..., 64) = 64
lseek(4, 0, SEEK_END)                   = 1700792
lseek(4, 64, SEEK_SET)                  = 64
read(4, "\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 392) = 392
lseek(4, 1698808, SEEK_SET)             = 1698808
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1984) = 1984
lseek(4, 1698520, SEEK_SET)             = 1698520
read(4, "\0.shstrtab\0.note.gnu.build-id\0.n"..., 288) = 288
close(4)                                = 0
brk(0x5626d2156000)                     = 0x5626d2156000
openat(AT_FDCWD, "/proc/self/comm", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
read(4, "glxinfo\n", 4096)              = 8
read(4, "", 3072)                       = 0
close(4)                                = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="b\7\3\0\3\0\0\0", iov_len=8}, {iov_base="GLX", iov_len=3}, {iov_base="\0", iov_len=1}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\16\0\0\0\0\0\1\232h\252\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\17\0 \34\0\0\264\0\0\0(\0\0\0P\315\211\270\377\177\0\0D\22s\335aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\4\0\0\0\0\0\0\0\240\206\1\0\1\0\0\0\241\206\1\0\2\0\0\0 \0\0\0\0\200\0\0"..., 24736, 0, NULL, NULL) = 18976
recvfrom(3, "\261\0\0\0\4\0\0\0\1\0\0\0\10\0\0\0\10\0\0\0\10\0\0\0\0\0\0\0\20\0\0\0"..., 5760, 0, NULL, NULL) = 5760
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\25\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\20\0>T\0\0\7\1\0\0)\0\0\0\340\351\356\336aU\0\0\210\341\263\335aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\21\200\0\0\1\0\0\0\20\200\0\0\7\0\0\0\22\200\0\0\1\0\0\0\"\0\0\0\2\200\0\0"..., 82200, 0, NULL, NULL) = 45056
recvfrom(3, "\240\206\1\0\1\0\0\0\241\206\1\0\10\0\0\0\260 \0\0\0\0\0\0\320 \0\0\0\0\0\0"..., 37144, 0, NULL, NULL) = 37144
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
brk(0x5626d2182000)                     = 0x5626d2182000
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\23\3\0\0\0\0\0\3\0\0\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\21\0\264\0\0\0\210\341\263\335\315\2\0\0P\315\211\270\377\177\0\0D\22s\335aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 752
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232#\373\t\1\0\0\0\4\0\0\0\21\0\0\0\267#\0\0N\3\0\0\1\0\0\0\0\0\0\0"..., iov_len=10228}, {iov_base="NV-GLX", iov_len=6}, {iov_base="\0\0", iov_len=2}], 3) = 10236
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\23\0\0\0\0\0\1\233\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\0\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240\24\0\0\0\0\0$\0\1\0aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240\25\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240\26\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265\27\0\0\0\0\0\0\0\0\0\0\0\0\0\372\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
brk(0x5626d21ac000)                     = 0x5626d21ac000
brk(0x5626d21d4000)                     = 0x5626d21d4000
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24\30\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
brk(0x5626d21fc000)                     = 0x5626d21fc000
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 160744
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\1\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2\31\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240\33\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240\34\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265\35\0\0\0\0\0\0\0\0\0\0\0\0\0\372\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24\36\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 122880
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 37864, 0, NULL, NULL) = 37864
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\2\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2\37\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240!\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240\"\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265#\0\0\0\0\0\0\0\0\0\0\0\0\0\372\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24$\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 160744
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\3\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2%\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240'\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240(\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265)\0\0\0\0\0\0\0\0\0\0\0\0\0\372\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24*\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 102400
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 58344, 0, NULL, NULL) = 58344
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\4\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2+\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240-\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240.\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265/\0\0\0\0\0\0\0\0\0\0\0\0\0\372\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0240\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 160744
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\5\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\0021\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2403\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2404\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2655\0\0\0\0\0\0\0\0\0\0\0\0\0\377\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0246\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 160744
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\6\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\0027\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2409\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240:\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265;\0\0\0\0\0\0\0\0\0\0\0\0\0\377\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24<\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 122912
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 37832, 0, NULL, NULL) = 37832
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\7\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2=\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240?\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240@\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265A\0\0\0\0\0\0\0\0\0\0\0\0\0\377\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24B\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 143360
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 17384, 0, NULL, NULL) = 17384
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\10\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2C\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240E\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240F\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265G\0\0\0\0\0\0\0\0\0\0\0\0\0\377\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24H\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 160744
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\t\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2I\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240K\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240L\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265M\0\0\0\0\0\0\0\0\0\0\0\0\0\377\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24N\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 160744
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\"\r\0\n\0\240\2\341\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\3\0\0\0\221 \0\0"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2O\0\0\0\0\0\"\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
getpid()                                = 418
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\1\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240Q\0\0\0\0\0\35\0\320\301`\215\367\207\0\0\0\0\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233'\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\240R\0\0\0\0\0\0\0\1\337aU\0\0\0\0\0\1\0\0\0\0\0\34\5\210G\20\363p", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\2\2\0\0\0\240\2", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\265S\0\0\0\0\0\0\0\0\0\0\0\0\0\377\24\0\0\0\0\0\0\205\362}\335aU\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\233\16\2\0\0\0\0\0", iov_len=8}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\24T\0\362\240\0\0\310\203\2\0\0\0\0\0\300\240U\337aU\0\0\320)\1\337aU\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 4096
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 160744, 0, NULL, NULL) = 126976
recvfrom(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 33768, 0, NULL, NULL) = 33768
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="\232\30\7\0\v\0\240\2\341\0\0\0\0\0\0\0\24\200\0\0\0\0\0\0\0\0\0\0+ \1\0", iov_len=32}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 32
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\2U\0\0\0\0\0\30\0\232\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
openat(AT_FDCWD, "/usr/share/X11/XErrorDB", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=42077, ...}) = 0
read(4, "!\n! Copyright 1993, 1995, 1998  "..., 42077) = 42077
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/X11/locale/locale.alias", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=82752, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 8192) = 8192
read(4, "o\t\t\t\t\tde_DE.ISO8859-15\nde_DE.885"..., 8192) = 8192
read(4, "S\t\t\t\t\t\teu_ES.ISO8859-1\neu_ES.iso"..., 8192) = 8192
read(4, "ri\nkw\t\t\t\t\t\tkw_GB.ISO8859-1\nkw_GB"..., 8192) = 8192
read(4, "F-8\nsr_YU@cyrillic\t\t\t\t\tsr_RS.UTF"..., 8192) = 8192
read(4, "ond word is full locale name.\n#\n"..., 8192) = 8192
read(4, "\nde_DE:\t\t\t\t\t\tde_DE.ISO8859-1\nde_"..., 8192) = 8192
read(4, "59-1\net_EE.iso88594:\t\t\t\t\tet_EE.I"..., 8192) = 8192
read(4, "KH.UTF-8\nkm_KH.utf8:\t\t\t\t\tkm_KH.U"..., 8192) = 8192
read(4, "d_ET:                        sid"..., 8192) = 8192
read(4, "ro_RO.ISO8859-2\nrumanian:\t\t\t\t\tro"..., 8192) = 832
read(4, "", 8192)                       = 0
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/X11/locale/locale.dir", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=40631, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 8192) = 8192
read(4, "1/XLC_LOCALE\t\t\tno_NO.ISO8859-15\n"..., 8192) = 8192
read(4, "LOCALE\t\t\tku_TR.UTF-8\nen_US.UTF-8"..., 8192) = 8192
close(4)                                = 0
access("/usr/share/X11/locale/C/XLC_LOCALE", R_OK) = 0
openat(AT_FDCWD, "/usr/share/X11/locale/C/XLC_LOCALE", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=696, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 1024) = 696
read(4, "", 1024)                       = 0
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/X11/locale/locale.alias", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=82752, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 8192) = 8192
read(4, "o\t\t\t\t\tde_DE.ISO8859-15\nde_DE.885"..., 8192) = 8192
read(4, "S\t\t\t\t\t\teu_ES.ISO8859-1\neu_ES.iso"..., 8192) = 8192
read(4, "ri\nkw\t\t\t\t\t\tkw_GB.ISO8859-1\nkw_GB"..., 8192) = 8192
read(4, "F-8\nsr_YU@cyrillic\t\t\t\t\tsr_RS.UTF"..., 8192) = 8192
read(4, "ond word is full locale name.\n#\n"..., 8192) = 8192
read(4, "\nde_DE:\t\t\t\t\t\tde_DE.ISO8859-1\nde_"..., 8192) = 8192
read(4, "59-1\net_EE.iso88594:\t\t\t\t\tet_EE.I"..., 8192) = 8192
read(4, "KH.UTF-8\nkm_KH.utf8:\t\t\t\t\tkm_KH.U"..., 8192) = 8192
read(4, "d_ET:                        sid"..., 8192) = 8192
read(4, "ro_RO.ISO8859-2\nrumanian:\t\t\t\t\tro"..., 8192) = 832
read(4, "", 8192)                       = 0
close(4)                                = 0
openat(AT_FDCWD, "/usr/share/X11/locale/locale.dir", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=40631, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 8192) = 8192
read(4, "1/XLC_LOCALE\t\t\tno_NO.ISO8859-15\n"..., 8192) = 8192
read(4, "LOCALE\t\t\tku_TR.UTF-8\nen_US.UTF-8"..., 8192) = 8192
close(4)                                = 0
access("/usr/share/X11/locale/C/XLC_LOCALE", R_OK) = 0
openat(AT_FDCWD, "/usr/share/X11/locale/C/XLC_LOCALE", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=696, ...}) = 0
read(4, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"..., 1024) = 696
read(4, "", 1024)                       = 0
close(4)                                = 0
brk(0x5626d2221000)                     = 0x5626d2221000
write(2, "X Error of failed request:  BadV"..., 86X Error of failed request:  BadValue (integer parameter out of range for operation)
  ) = 86
write(2, "Major opcode of failed request: "..., 36Major opcode of failed request:  154) = 36
write(2, " (GLX)\n", 7 (GLX)
)                 = 7
write(2, "  ", 2  )                       = 2
write(2, "Minor opcode of failed request: "..., 35Minor opcode of failed request:  24) = 35
write(2, " (X_GLXCreateNewContext)", 24 (X_GLXCreateNewContext)) = 24
write(2, "\n", 1
)                       = 1
write(2, "  ", 2  )                       = 2
write(2, "Value in failed request:  0x0", 29Value in failed request:  0x0) = 29
write(2, "\n", 1
)                       = 1
write(2, "  ", 2  )                       = 2
write(2, "Serial number of failed request:"..., 36Serial number of failed request:  85) = 36
write(2, "\n  ", 3
  )                     = 3
write(2, "Current serial number in output "..., 43Current serial number in output stream:  86) = 43
write(2, "\n", 1
)                       = 1
getpid()                                = 418
write(1, "name of display: :1\n", 20name of display: :1
)   = 20
exit_group(1)                           = ?
+++ exited with 1 +++

So at this point, I am thinking something is weird about the host, maybe permissions?

It looks to me that it is trying to send to the abstract Unix socket of X11.
I do not think I have published yet a tutorial on using the abstract socket. Which guide are you using?

You can try the following LXD profile. Here you do not need to manually install the client libraries for Nvidia; they are automatically provided by LXD by downloading the NVidia runtime. Also, we use a proxy device to share the X11 Unix socket of the host to the container.

$ lxc profile show guinvidia
config:
  environment.DISPLAY: :0
  nvidia.driver.capabilities: graphics, compute, display, utility, video
  nvidia.runtime: "true"
  raw.idmap: both 1000 1000
  user.user-data: |
    #cloud-config
    runcmd:
      - 'sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf'
      - 'echo export PULSE_SERVER=unix:/tmp/.pulse-native | tee --append /home/ubuntu/.profile'
    packages:
      - x11-apps
      - x11-utils
      - mesa-utils
      - pulseaudio
description: GUI LXD profile
devices:
  PASocket:
    path: /tmp/.pulse-native
    source: /run/user/1000/pulse/native
    type: disk
  X0:
    bind: container
    connect: unix:/tmp/.X11-unix/X1
    gid: "1000"
    listen: unix:/tmp/.X11-unix/X0
    mode: "0777"
    security.gid: "1000"
    security.uid: "1000"
    type: proxy
    uid: "1000"
  mygpu:
    type: gpu
name: guinvidia
used_by:

The one I was troubleshooting was generated using the instructions here up to the glxinfo step, with the difference that the host is 18.04 and not 19.04.

Before I tried also the older posts, defining ad-hoc profiles, ending up with the same situation where basic x11-apps worked but libgl stuff complained.

For the container I was troubleshooting this was the configuration:

$ lxc config show gui64
architecture: x86_64
config:
  image.architecture: amd64
  image.description: ubuntu 18.04 LTS amd64 (release) (20190813.1)
  image.label: release
  image.os: ubuntu
  image.release: bionic
  image.serial: "20190813.1"
  image.version: "18.04"
  volatile.base_image: 2dd611e2689a8efc45807bd2a86933cf2da0ffc768f57814724a73b5db499eac
  volatile.eth0.host_name: vethd9d06949
  volatile.eth0.hwaddr: 00:16:3e:be:57:41
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":1000000,"Nsid":0,"Maprange":1000000000},{"Isuid":false,"Isgid":true,"Hostid":1000000,"Nsid":0,"Maprange":1000000000}]'
  volatile.last_state.power: RUNNING
devices:
  X1:
    bind: container
    connect: unix:@/tmp/.X11-unix/X1
    listen: unix:@/tmp/.X11-unix/X1
    security.gid: "1000"
    security.uid: "1000"
    type: proxy
  gpu:
    productid: 1cb2
    type: gpu
    vendorid: 10de
ephemeral: false
profiles:
- default
stateful: false
description: ""

To avoid confusion I will report as a separate post the situation testing the profile you posted above.

Here are the steps I followed to use the profile you posted above:

  1. save profile locally
~ $ cat guinvidia.lxdprofile
config:
  environment.DISPLAY: :0
  nvidia.driver.capabilities: graphics, compute, display, utility, video
  nvidia.runtime: "true"
  raw.idmap: both 1000 1000
  user.user-data: |
    #cloud-config
    runcmd:
      - 'sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf'
      - 'echo export PULSE_SERVER=unix:/tmp/.pulse-native | tee --append /home/ubuntu/.profile'
    packages:
      - x11-apps
      - x11-utils
      - mesa-utils
      - pulseaudio
description: GUI LXD profile
devices:
  PASocket:
    path: /tmp/.pulse-native
    source: /run/user/1000/pulse/native
    type: disk
  X0:
    bind: container
    connect: unix:/tmp/.X11-unix/X1
    gid: "1000"
    listen: unix:/tmp/.X11-unix/X0
    mode: "0777"
    security.gid: "1000"
    security.uid: "1000"
    type: proxy
    uid: "1000"
  mygpu:
    type: gpu
name: guinvidia
used_by:
  1. create new profile and apply the downloaded configuration
~ $ lxc profile create guinvidia
~ $ cat guinvidia.lxdprofile| lxc profile edit guinvidia
~ $ lxc profile show guinvidia 
config:
  environment.DISPLAY: :0
  nvidia.driver.capabilities: graphics, compute, display, utility, video
  nvidia.runtime: "true"
  raw.idmap: both 1000 1000
  user.user-data: |
    #cloud-config
    runcmd:
      - 'sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf'
      - 'echo export PULSE_SERVER=unix:/tmp/.pulse-native | tee --append /home/ubuntu/.profile'
    packages:
      - x11-apps
      - x11-utils
      - mesa-utils
      - pulseaudio
description: GUI LXD profile
devices:
  PASocket:
    path: /tmp/.pulse-native
    source: /run/user/1000/pulse/native
    type: disk
  X0:
    bind: container
    connect: unix:/tmp/.X11-unix/X1
    gid: "1000"
    listen: unix:/tmp/.X11-unix/X0
    mode: "0777"
    security.gid: "1000"
    security.uid: "1000"
    type: proxy
    uid: "1000"
  mygpu:
    type: gpu
name: guinvidia
used_by:
  1. create and launch new container using the default profile and the new profile
~ $ lxc launch ubuntu:bionic testgui2 --profile default --profile guinvidia
  1. login inside the container as the ubuntu unprivileged user after waiting a bit to let cloudinit complete
~ $ lxc exec testgui2 -- sudo --user ubuntu --login
  1. check X11 and libgl work
ubuntu@testgui2:~$ xclock # this works
ubuntu@testgui2:~$ glxinfo |head -n 30  # with this profile, and using the libgl exposed by the container it works!!
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_libglvnd, 
    GLX_EXT_stereo_tree, GLX_EXT_swap_control, GLX_EXT_swap_control_tear, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_NV_copy_buffer, GLX_NV_copy_image, GLX_NV_delay_before_swap, 
    GLX_NV_float_buffer, GLX_NV_robustness_video_memory_purge, 
    GLX_NV_swap_group, GLX_NV_video_capture, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_SGI_swap_control, GLX_SGI_video_sync
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_stereo_tree, GLX_EXT_swap_control, 
    GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_buffer, 
  1. test vulkaninfo
ubuntu@testgui2:~$ sudo apt install vulkan-utils
ubuntu@testgui2:~$ dpkg -l |grep nvidia
ubuntu@testgui2:~$ dpkg -l |grep gl |grep -vi glib
ii  libgl1:amd64                      1.0.0-2ubuntu2.3                  amd64        Vendor neutral GL dispatch library -- legacy GL support
ii  libgl1-mesa-dri:amd64             19.0.8-0ubuntu0~18.04.1           amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64             19.0.8-0ubuntu0~18.04.1           amd64        transitional dummy package                    
ii  libglapi-mesa:amd64               19.0.8-0ubuntu0~18.04.1           amd64        free implementation of the GL API -- shared library
ii  libglvnd0:amd64                   1.0.0-2ubuntu2.3                  amd64        Vendor neutral GL dispatch library            
ii  libglx-mesa0:amd64                19.0.8-0ubuntu0~18.04.1           amd64        free implementation of the OpenGL API -- GLX vendor library
ii  libglx0:amd64                     1.0.0-2ubuntu2.3                  amd64        Vendor neutral GL dispatch library -- GLX support
ii  libxcb-glx0:amd64                 1.13-2~ubuntu18.04                amd64        X C Binding, glx extension                    
ubuntu@testgui2:~$ dpkg -l |grep cuda
ubuntu@testgui2:~$ dpkg -l |grep vulkan
ii  libvulkan1:amd64                  1.1.70+dfsg1-1ubuntu0.18.04.1     amd64        Vulkan loader library                         
ii  vulkan-utils                      1.1.70+dfsg1-1ubuntu0.18.04.1     amd64        Miscellaneous Vulkan utilities          
ubuntu@testgui2:~$ vulkaninfo 
===========
VULKAN INFO
===========

Vulkan Instance Version: 1.1.70

Cannot create Vulkan instance.
/build/vulkan-UL09PJ/vulkan-1.1.70+dfsg1/demos/vulkaninfo.c:768: failed with VK_ERROR_INCOMPATIBLE_DRIVER

Vulkan is not available yet in the nvidia container. See this issue and the upstream report,
https://github.com/lxc/lxd/issues/5879

The upstream report describes how to manually enable Vulkan for now in the container.

Thanks, everything works now.

Also I realized the error in my previous attempts was that the container and the host did not have the same exact version of the nvidia drivers (they were both 430, but different minor version) because in the host I had the graphics-drivers PPA enabled!

Thanks again for the help and for the useful guides!

Hi All!

Simos, first of all thank you for your answers. I also try use GUI app in LXD.
My host worsk on CentOs7 and my lxd also works on CentOS7. And… xclock works fine, but glxgears shows a black window and some errors in terminal:
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

I tryed to install nvidea driver in container but failed. Installer disaplay: “An NVIDIA kernel module ‘nvidia-drm’ appears to already be loaded in your kernel…”

Could you help me to figure out ?

Thanks in advance.

Hi!

The error message says that it could not find any GPU GL (acceleration) libraries in the container.

The container needs to get the GPU libraries, and one way to do so, is by installing the full GPU drivers.
Now, depending on the distribution, you might get such an error that the kernel module for the GPU is already installed, because indeed the kernel driver is installed, on the host.
From what you tell me about CentOS, the full GPU package installation fails in the container because it requires to successfully install the whole lot.

There are two ways to bypass this problem.

  1. See https://blog.simos.info/i-am-running-steam-wine-on-ubuntu-19-10-no-32-bit-on-the-host/ which is about Debian/Ubuntu, and shows how to install GPU libraries but not the GPU kernel package. And try to replicate for CentOS (I do not use CentOS).
  2. See this post, GUI Apps in LXD container on how to use the NVidia Runtime in the container. This should become the preferred way. You need to set nvidia.runtime and nvidia.driver.capabilities in the container for this to work.
1 Like

Hi!

I tryed to implement approach #2. I replaced my gui profile to profile for nvidia and container not started:
lxc start centos7
Error: Failed to run: /snap/lxd/current/bin/lxd forkstart centos7 /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/centos7/lxc.conf:
Try lxc info --show-log centos7 for more info

lxc info --show-log centos7
Name: centos7
Location: none
Remote: unix://
Architecture: x86_64
Created: 2019/08/26 12:56 UTC
Status: Stopped
Type: persistent
Profiles: inet, nvidia

Log:

lxc centos7 20190829115158.804 ERROR    conf - conf.c:run_buffer:352 - Script exited with status 1
lxc centos7 20190829115158.804 ERROR    conf - conf.c:lxc_setup:3653 - Failed to run mount hooks
lxc centos7 20190829115158.804 ERROR    start - start.c:do_start:1321 - Failed to setup container "centos7"
lxc centos7 20190829115158.804 ERROR    sync - sync.c:__sync_wait:62 - An error occurred in another process (expected sequence number 5)
lxc centos7 20190829115158.804 WARN     network - network.c:lxc_delete_network_priv:3377 - Failed to rename interface with index 61 from "eth0" to its initial name "vethe03092da"
lxc centos7 20190829115158.804 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:873 - Received container state "ABORTING" instead of "RUNNING"
lxc centos7 20190829115158.805 ERROR    start - start.c:__lxc_start:2039 - Failed to spawn container "centos7"
lxc 20190829115158.953 WARN     commands - commands.c:lxc_cmd_rsp_recv:135 - Connection reset by peer - Failed to receive response for command "get_state"

:frowning:

I want to render with OpenGL in LXD without an X Server in host. what can I do ?

Hi!

I suppose you only need the OpenGL libraries to be available in the container, and have access to the GPU from the container.

To give access to your GPU inside the container, you need to run (from the host) the following. If you have more than one GPU, you may need to add parameters that distinguish one from another.

lxc config device add mycontainer mygpu gpu

If you have an Intel or AMD GPU or Nvidia (nouveau), then you would need to install the corresponding GL libraries (mesa). Sorry, I do not have the proper list handy at the moment.

If you have an NVidia GPU (closed-source driver on the host), it used to be much harder but now it is apparently easier because Nvidia distributes a runtime and LXD can use it. In that case, you can run from the host,

lxc config set mycontainer nvidia.runtime true
lxc restart mycontainer

Can you show what’s in the nvidia profile?

The command is:

lxc profile show nvidia

I got the answer by myself. Thanks.