Snap version 0.6 fails to launch on Ubuntu 17.10 #35

Closed
Raytar opened this Issue Nov 12, 2017 · 144 comments

Comments

Projects
None yet
4 participants

Raytar commented Nov 12, 2017

After downloading updates, it shows the message "glXChooseVisual failed" before I get to the login screen. The output on the command line is:

bash-4.3$ $SNAP/linux-steam-integration
[lsi:__init__] PATH = /snap/linux-steam-integration/x1/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[lsi:__init__] PATH = /snap/linux-steam-integration/x1/bin:/snap/linux-steam-integration/x1/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[lsi:__init__] XDG_CONFIG_DIRS = /etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_CONFIG_DIRS = /usr/share/xdg:/etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_CONFIG_DIRS = /snap/linux-steam-integration/x1/etc/xdg:/usr/share/xdg:/etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_CONFIG_DIRS = /snap/linux-steam-integration/x1/usr/xdg:/snap/linux-steam-integration/x1/etc/xdg:/usr/share/xdg:/etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_DATA_DIRS = /snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] XDG_DATA_DIRS = /usr/share:/snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] XDG_DATA_DIRS = /snap/linux-steam-integration/x1/usr/share:/usr/share:/snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] XDG_DATA_DIRS = /home/john/snap/linux-steam-integration/x1:/snap/linux-steam-integration/x1/usr/share:/usr/share:/snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] LD_AUDIT = /snap/linux-steam-integration/x1/usr/$LIB/liblsi-intercept.so
[lsi:__init__] LD_PRELOAD = /snap/linux-steam-integration/x1/usr/$LIB/liblsi-redirect.so
Running Steam on ubuntu 17.10 64-bit
STEAM_RUNTIME is disabled by the user
[lsi:__init__] loading libintercept for 'steam'
Installing breakpad exception handler for appid(steam)/version(1509425745)
[lsi:steam] Enforcing Mesa snapd driver links: /usr/lib32/libGL.so.1 -> /usr/lib32/glx-provider/default/libGL.so.1
[lsi:steam] Enforcing snapd DRI links: /usr/lib/glx-provider/default/tls/swrast_dri.so -> /usr/lib32/dri/swrast_dri.so
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Installing breakpad exception handler for appid(steam)/version(1509425745)
Installing breakpad exception handler for appid(steam)/version(1509425745)
[lsi:steam] blacklisted loading of vendor library: /home/john/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_32/libSDL2-2.0.so.0
Installing breakpad exception handler for appid(steam)/version(1509425745)
[lsi:__init__] loading libintercept for 'steamwebhelper'
[lsi:steamwebhelper] blacklisted loading of vendor library: ./libSDL2-2.0.so.0
[lsi:steam] Enforcing snapd DRI links: /usr/lib/glx-provider/default/tls/swrast_dri.so -> /usr/lib32/dri/swrast_dri.so
[lsi:steamwebhelper] Enforcing hostfs snapd driver links: /usr/lib64/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libGLdispatch.so.0 -> /var/lib/snapd/lib/gl/libGLdispatch.so.0
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libnvidia-tls.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.387.22
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libEGL_nvidia.so.0 -> /var/lib/snapd/lib/gl/libEGL_nvidia.so.0
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libnvidia-glsi.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glsi.so.387.22
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
glXChooseVisual failedMain.cpp (321) : Assertion Failed: Fatal Error: glXChooseVisual failed
Assert( Assertion Failed: Fatal Error: glXChooseVisual failed ):Main.cpp:321

Installing breakpad exception handler for appid(steam)/version(1509425745)
No minidump written, nothing to upload.
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_64/steamwebhelper.sh: line 5:  9975 Segmentation fault      (core dumped) ./steamwebhelper "$@"

I am using proprietary nvidia drivers version 387.22 and I had to update snapd from the "Snappy Edge" ppa. Hope this can help!

Owner

ikeydoherty commented Nov 12, 2017

You need a patched snapd - my guess is you do not?

Raytar commented Nov 12, 2017

Ah, I guess that might be the problem. For the record, I have snapd 2.29.3.

Owner

ikeydoherty commented Nov 12, 2017

Looking more at this we're gonna need to add support to snapd for 32-bit drivers on Ubuntu too.
Our patches have the multilib portion at /var/lib/snapd/lib/gl/32 for biarch, we'll need to do the same thing for Ubuntu. This is why you're seeing the invalid mesa intercept as it hasn't got access to the 32-bit NVIDIA libGL right now.

I would assume this would launch and work without the proprietary drivers, but I mean, who wants to do that? Don't get me wrong, I'd still be hella interested to know if it does launch on open source drivers on Ubuntu!

Owner

ikeydoherty commented Nov 12, 2017

Out of curiosity, on the proprietary drivers, just to make sure Solus can see the NVIDIA, please try:

snap run --shell linux-steam-integration

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" glxgears

glxinfo is in there as well right now, just so we can check if you can use host-side 64-bit drivers

Raytar commented Nov 12, 2017

bash-4.3$ LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" glxgears
Segmentation fault (core dumped)
Owner

ikeydoherty commented Nov 12, 2017

Oooo interesting.

OK, change to

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 ldd /usr/bin/glxgears

Raytar commented Nov 12, 2017

bash-4.3$ LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 ldd /usr/bin/glxgears
[lsi:vendor_offender] Enforcing hostfs snapd driver links: /usr/lib64/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/nvidia-387/tls/libnvidia-tls.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.387.22
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/nvidia-387/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
        linux-vdso.so.1 (0x00007ffc45bc7000)
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f9bdadfc000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f9bdac9a000)
        libm.so.6 => /usr/lib64/haswell/libm.so.6 (0x00007f9bdab52000)
        libc.so.6 => /usr/lib64/haswell/libc.so.6 (0x00007f9bda96e000)
        libnvidia-tls.so.387.22 => /usr/lib/nvidia-387/tls/libnvidia-tls.so.387.22 (0x00007f9bda76b000)
        libnvidia-glcore.so.387.22 => /usr/lib/nvidia-387/libnvidia-glcore.so.387.22 (0x00007f9bd8843000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f9bd862d000)
        libdl.so.2 => /usr/lib64/haswell/libdl.so.2 (0x00007f9bd8626000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f9bd85fb000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007f9bdb483000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f9bd83f7000)
Owner

ikeydoherty commented Nov 12, 2017

OK thats nasty, /usr/lib64/libGL.so.1 shouldn't exist as far as LSI is concerned!

What is /usr/lib64/libGL.so.1, symlink or .. ?

Also whats the listing for /usr/lib/nvidia-387/ -Ra ?

Owner

ikeydoherty commented Nov 12, 2017

FWIW I can see the biarch code is deeply confused about what should be where :D

Raytar commented Nov 12, 2017

I also tried installing it on my laptop (intel graphics) just now and I got The Binding of Isaac to run with no issues.
screenshot_20171113_000203

EDIT: The laptop is also on Ubuntu 17.10

Owner

ikeydoherty commented Nov 12, 2017

Oh cool! So at least open source graphics work :D Would be interesting to see if Vulkan works there

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" vulkaninfo

Raytar commented Nov 12, 2017

this is what i get from vulkaninfo: https://pastebin.com/hCFQbbVh

Raytar commented Nov 12, 2017

also this

bash-4.3$ LD_AUDIT="$SNAP/usr/lib/liblsi-intercept.so" vulkaninfo > /dev/null
ERROR: ld.so: object '/snap/linux-steam-integration/x1/usr/lib/liblsi-intercept.so' cannot be loaded as audit interface: cannot open shared object file; ignored.
INTEL-MESA: warning: Haswell Vulkan support is incomplete
Owner

ikeydoherty commented Nov 12, 2017

Awesome - so at least vulkan works!

So our TODO is initially to get LSI to understand how to deal with the 64-bit portion of NVIDIA drivers on multiarch systems. We'll also need to patch snapd to expose the 32-bit drivers and vulkan ICD on multiarch too in a consistent fashion.

Owner

ikeydoherty commented Nov 12, 2017

Oh I meant /usr/\$LIB not /usr/lib sorry, but ya.

Owner

ikeydoherty commented Nov 12, 2017

Ok so to debug this further I need:

ls -lRa /var/lib/snapd/lib/gl/
file /usr/lib64/lib{E,GL}*

Raytar commented Nov 12, 2017

From the Intel or Nvidia ?

Owner

ikeydoherty commented Nov 12, 2017

NVIDIA sorry

Raytar commented Nov 12, 2017

ls -lRa /var/lib/snapd/lib/gl/

/var/lib/snapd/lib/gl/:
total 126276
drwxr-xr-x 6 root root    12288 Nov  1 20:38 .
drwxr-xr-x 3 root root     4096 Oct 17 22:39 ..
-rw-r--r-- 1 root root        0 Oct 31 13:41 alt_ld.so.conf
drwxr-xr-x 2 root root     4096 Nov  1 20:38 bin
-rw-r--r-- 1 root root       42 Oct 31 13:41 ld.so.conf
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libEGL_nvidia.so.0 -> libEGL_nvidia.so.387.22
-rw-r--r-- 1 root root  1369400 Oct 26 09:26 libEGL_nvidia.so.387.22
lrwxrwxrwx 1 root root       16 Oct 31 13:41 libEGL.so -> libEGL.so.387.22
lrwxrwxrwx 1 root root       16 Oct 31 13:41 libEGL.so.1 -> libEGL.so.387.22
-rw-r--r-- 1 root root    23488 Oct 26 07:39 libEGL.so.387.22
-rw-r--r-- 1 root root   711864 Oct 26 07:39 libGLdispatch.so.0
lrwxrwxrwx 1 root root       29 Oct 31 13:41 libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.387.22
-rw-r--r-- 1 root root    54840 Oct 26 09:26 libGLESv1_CM_nvidia.so.387.22
lrwxrwxrwx 1 root root       17 Oct 31 13:41 libGLESv1_CM.so -> libGLESv1_CM.so.1
-rw-r--r-- 1 root root    43696 Oct 26 07:39 libGLESv1_CM.so.1
lrwxrwxrwx 1 root root       26 Oct 31 13:41 libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.387.22
-rw-r--r-- 1 root root    86296 Oct 26 09:26 libGLESv2_nvidia.so.387.22
lrwxrwxrwx 1 root root       14 Oct 31 13:41 libGLESv2.so -> libGLESv2.so.2
-rw-r--r-- 1 root root    60528 Oct 26 07:39 libGLESv2.so.2
lrwxrwxrwx 1 root root       10 Oct 31 13:41 libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root       15 Oct 31 13:41 libGL.so.1 -> libGL.so.387.22
-rw-r--r-- 1 root root  1263952 Oct 26 07:40 libGL.so.387.22
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libGLX_indirect.so.0 -> libGLX_nvidia.so.387.22
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libGLX_nvidia.so.0 -> libGLX_nvidia.so.387.22
-rw-r--r-- 1 root root  1263952 Oct 26 07:40 libGLX_nvidia.so.387.22
lrwxrwxrwx 1 root root       11 Oct 31 13:41 libGLX.so -> libGLX.so.0
-rw-r--r-- 1 root root    64752 Oct 26 07:39 libGLX.so.0
lrwxrwxrwx 1 root root       15 Oct 31 13:41 libnvcuvid.so -> libnvcuvid.so.1
lrwxrwxrwx 1 root root       20 Oct 31 13:41 libnvcuvid.so.1 -> libnvcuvid.so.387.22
-rw-r--r-- 1 root root  2420912 Oct 26 09:09 libnvcuvid.so.387.22
lrwxrwxrwx 1 root root       18 Oct 31 13:41 libnvidia-cfg.so -> libnvidia-cfg.so.1
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libnvidia-cfg.so.1 -> libnvidia-cfg.so.387.22
-rw-r--r-- 1 root root   166152 Oct 26 09:06 libnvidia-cfg.so.387.22
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libnvidia-compiler.so -> libnvidia-compiler.so.1
lrwxrwxrwx 1 root root       28 Oct 31 13:41 libnvidia-compiler.so.1 -> libnvidia-compiler.so.387.22
-rw-r--r-- 1 root root 48546864 Oct 26 09:28 libnvidia-compiler.so.387.22
-rw-r--r-- 1 root root 28658624 Oct 26 09:26 libnvidia-eglcore.so.387.22
-rw-r--r-- 1 root root    31784 Oct 26 09:26 libnvidia-egl-wayland.so.1.0.2
lrwxrwxrwx 1 root root       21 Oct 31 13:41 libnvidia-encode.so -> libnvidia-encode.so.1
lrwxrwxrwx 1 root root       26 Oct 31 13:41 libnvidia-encode.so.1 -> libnvidia-encode.so.387.22
-rw-r--r-- 1 root root   168152 Oct 26 09:09 libnvidia-encode.so.387.22
-rw-r--r-- 1 root root   314952 Oct 26 08:00 libnvidia-fatbinaryloader.so.387.22
lrwxrwxrwx 1 root root       18 Oct 31 13:41 libnvidia-fbc.so -> libnvidia-fbc.so.1
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libnvidia-fbc.so.1 -> libnvidia-fbc.so.387.22
-rw-r--r-- 1 root root   110696 Oct 26 07:46 libnvidia-fbc.so.387.22
-rw-r--r-- 1 root root 30470376 Oct 26 07:39 libnvidia-glcore.so.387.22
-rw-r--r-- 1 root root   514744 Oct 26 09:10 libnvidia-glsi.so.387.22
lrwxrwxrwx 1 root root       18 Oct 31 13:41 libnvidia-ifr.so -> libnvidia-ifr.so.1
lrwxrwxrwx 1 root root       23 Oct 31 13:41 libnvidia-ifr.so.1 -> libnvidia-ifr.so.387.22
-rw-r--r-- 1 root root   207880 Oct 26 09:27 libnvidia-ifr.so.387.22
lrwxrwxrwx 1 root root       17 Oct 31 13:41 libnvidia-ml.so -> libnvidia-ml.so.1
lrwxrwxrwx 1 root root       22 Oct 31 13:41 libnvidia-ml.so.1 -> libnvidia-ml.so.387.22
-rw-r--r-- 1 root root  1317024 Oct 26 09:07 libnvidia-ml.so.387.22
lrwxrwxrwx 1 root root       34 Nov  1 20:38 libnvidia-ptxjitcompiler.so.1 -> libnvidia-ptxjitcompiler.so.387.22
-rw-r--r-- 1 root root 10825448 Oct 26 08:07 libnvidia-ptxjitcompiler.so.387.22
-rw-r--r-- 1 root root    13080 Oct 26 07:45 libnvidia-tls.so.387.22
lrwxrwxrwx 1 root root       23 Nov  1 20:38 libnvidia-wfb.so.1 -> libnvidia-wfb.so.387.22
-rw-r--r-- 1 root root   295416 Dec 15  2012 libnvidia-wfb.so.387.22
lrwxrwxrwx 1 root root       14 Oct 31 13:41 libOpenGL.so -> libOpenGL.so.0
-rw-r--r-- 1 root root   211728 Oct 26 07:39 libOpenGL.so.0
drwxr-xr-x 2 root root     4096 Nov  1 20:38 tls
drwxr-xr-x 2 root root     4096 Nov  1 20:38 vdpau
drwxr-xr-x 2 root root     4096 Nov  1 20:38 xorg

/var/lib/snapd/lib/gl/bin:
total 1128
drwxr-xr-x 2 root root   4096 Nov  1 20:38 .
drwxr-xr-x 6 root root  12288 Nov  1 20:38 ..
-rwxr-xr-x 1 root root  26804 Oct 26 09:38 nvidia-bug-report.sh
-rwxr-xr-x 1 root root  68952 Oct 26 07:59 nvidia-cuda-mps-control
-rwxr-xr-x 1 root root  47832 Oct 26 07:59 nvidia-cuda-mps-server
-rwxr-xr-x 1 root root 225776 Oct 26 09:07 nvidia-debugdump
-rwxr-xr-x 1 root root  46608 Oct 26 07:46 nvidia-persistenced
-rwxr-xr-x 1 root root 520320 Oct 26 09:07 nvidia-smi
-rwxr-xr-x 1 root root 188000 Oct 26 09:06 nvidia-xconfig

/var/lib/snapd/lib/gl/tls:
total 32
drwxr-xr-x 2 root root  4096 Nov  1 20:38 .
drwxr-xr-x 6 root root 12288 Nov  1 20:38 ..
-rw-r--r-- 1 root root 14480 Oct 26 07:45 libnvidia-tls.so.387.22

/var/lib/snapd/lib/gl/vdpau:
total 888
drwxr-xr-x 2 root root   4096 Nov  1 20:38 .
drwxr-xr-x 6 root root  12288 Nov  1 20:38 ..
lrwxrwxrwx 1 root root     20 Oct 31 13:41 libvdpau_nvidia.so -> libvdpau_nvidia.so.1
lrwxrwxrwx 1 root root     25 Oct 31 13:41 libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.387.22
-rw-r--r-- 1 root root 889536 Oct 26 07:45 libvdpau_nvidia.so.387.22

/var/lib/snapd/lib/gl/xorg:
total 21484
drwxr-xr-x 2 root root     4096 Nov  1 20:38 .
drwxr-xr-x 6 root root    12288 Nov  1 20:38 ..
lrwxrwxrwx 1 root root       16 Oct 31 13:41 libglx.so -> libglx.so.387.22
-rw-r--r-- 1 root root 14038792 Oct 26 07:45 libglx.so.387.22
-rw-r--r-- 1 root root  7941104 Oct 26 07:19 nvidia_drv.so

file /usr/lib64/lib{E,GL}*

/usr/lib64/libE*:             cannot open `/usr/lib64/libE*' (No such file or directory)
/usr/lib64/libGLEW.so.1.10:   symbolic link to libGLEW.so.1.10.0
/usr/lib64/libGLEW.so.1.10.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=37359b76c4634b918f3ea23c0818a4b07a9e3e8c, stripped
/usr/lib64/libGLEW.so.1.12:   symbolic link to libGLEW.so.1.12.0
/usr/lib64/libGLEW.so.1.12.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=efb96ddde89dcc71471b096393064313da98aaff, stripped
/usr/lib64/libGLEW.so.1.6:    symbolic link to libGLEW.so.1.6.0
/usr/lib64/libGLEW.so.1.6.0:  ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c2e0875db64f871c30eae5123494536fcccb1419, stripped
/usr/lib64/libGLU.so.1:       symbolic link to libGLU.so.1.3.1
/usr/lib64/libGLU.so.1.3.1:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d4623501a0c22d60bdd1a25bba854ae1e1085923, stripped
Owner

ikeydoherty commented Nov 12, 2017

blink does /usr/lib64/libGL.so.1 actually exist?

Raytar commented Nov 12, 2017

I assume you wanted them to be run in the linux-steam-integration bash prompt?

Owner

ikeydoherty commented Nov 12, 2017

right

Raytar commented Nov 12, 2017

/usr/lib64/libGL.so.1 does not exist.

From regular shell:

john@Ares ➜ ~ ldconfig -p |grep libGL.so
        libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-387/libGL.so.1
        libGL.so.1 (libc6) => /usr/lib32/nvidia-387/libGL.so.1
        libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so
        libGL.so (libc6,x86-64) => /usr/lib/nvidia-387/libGL.so
        libGL.so (libc6) => /usr/lib32/nvidia-387/libGL.so

Owner

ikeydoherty commented Nov 12, 2017

OK can you ldd the glxgears binary again without LD_AUDIT this time? I think LSI blew a gasket somewhere

Raytar commented Nov 12, 2017

Like this?

bash-4.3$ glxgears
glxgears: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Raytar commented Nov 12, 2017

Not sure if it's relevant, but I also ran glxgears on the intel laptop, and it works when i use LD_AUDIT, but without it, I get the same error

Owner

ikeydoherty commented Nov 12, 2017

no i need the ldd on it in the shell

ldd /usr/bin/glxgears

Raytar commented Nov 12, 2017

bash-4.3$ ldd /usr/bin/glxgears
        linux-vdso.so.1 (0x00007ffc863eb000)
        libGL.so.1 => not found
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f2ec4987000)
        libm.so.6 => /usr/lib64/haswell/libm.so.6 (0x00007f2ec483f000)
        libc.so.6 => /usr/lib64/haswell/libc.so.6 (0x00007f2ec465b000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f2ec4630000)
        libdl.so.2 => /usr/lib64/haswell/libdl.so.2 (0x00007f2ec4629000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007f2ec4b21000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f2ec4425000)
Owner

ikeydoherty commented Nov 12, 2017

This is my local for an LD_AUDIT:

bash-4.3$ LSI_DEBUG=1 LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" ldd /usr/bin/glxgears 
[lsi:vendor_offender] Enforcing hostfs snapd driver links: /usr/lib/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/libnvidia-tls.so.384.98 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.384.98
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/libnvidia-glcore.so.384.98 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.384.98
	linux-vdso.so.1 (0x00007ffd3b565000)
	libGL.so.1 => /usr/lib/libGL.so.1 (0x00007efc86435000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007efc862d3000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007efc8617c000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007efc85f99000)
	libnvidia-tls.so.384.98 => /usr/lib/libnvidia-tls.so.384.98 (0x00007efc85d95000)
	libnvidia-glcore.so.384.98 => /usr/lib/libnvidia-glcore.so.384.98 (0x00007efc83ed9000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007efc83cc3000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007efc83cbc000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007efc83c91000)
	/usr/lib64/ld-linux-x86-64.so.2 (0x00007efc86ab3000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007efc83a8d000)

Raytar commented Nov 12, 2017

bash-4.3$ LSI_DEBUG=1 LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" ldd /usr/bin/glxgears
[lsi:vendor_offender] Enforcing hostfs snapd driver links: /usr/lib64/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/nvidia-387/tls/libnvidia-tls.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.387.22
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/nvidia-387/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
        linux-vdso.so.1 (0x00007ffcca5fe000)
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f9b15d26000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f9b15bc4000)
        libm.so.6 => /usr/lib64/haswell/libm.so.6 (0x00007f9b15a7c000)
        libc.so.6 => /usr/lib64/haswell/libc.so.6 (0x00007f9b15898000)
        libnvidia-tls.so.387.22 => /usr/lib/nvidia-387/tls/libnvidia-tls.so.387.22 (0x00007f9b15695000)
        libnvidia-glcore.so.387.22 => /usr/lib/nvidia-387/libnvidia-glcore.so.387.22 (0x00007f9b1376d000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f9b13557000)
        libdl.so.2 => /usr/lib64/haswell/libdl.so.2 (0x00007f9b13550000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f9b13525000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007f9b163ad000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f9b13321000)
Owner

ikeydoherty commented Nov 12, 2017

Ugly one here

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau:/var/lib/snapd/lib/gl/xorg" LIBGL_DRIVERS_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau:/var/lib/snapd/lib/gl/xorg" LIBGL_DEBUG=verbose LD_DEBUG=libs glxgears

Raytar commented Nov 12, 2017

Now glxgears starts, shall I send all of the output?

Owner

ikeydoherty commented Nov 12, 2017

Yes please pastebin!

Raytar commented Nov 12, 2017

the error on the end is because I closed it

Owner

ikeydoherty commented Nov 12, 2017

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau:/var/lib/snapd/lib/gl/xorg" LIBGL_DEBUG=verbose glxgears

Does this one work? testing if its actually LIBGL_DRIVERS_PATH

Raytar commented Nov 12, 2017

yup. works fine

Raytar commented Nov 12, 2017

Output if you need it:

bash-4.3$ LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau:/var/lib/snapd/lib/gl/xorg" LIBGL_DEBUG=verbose glxgears
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /var/lib/snapd/lib/gl/tls/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
303 frames in 5.0 seconds = 60.483 FPS
Owner

ikeydoherty commented Nov 12, 2017

And how about now:

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl/vdpau" LIBGL_DEBUG=verbose glxgears

Raytar commented Nov 12, 2017

yeah, still works

Owner

ikeydoherty commented Nov 12, 2017

o_O

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl" LIBGL_DEBUG=verbose glxgears

Raytar commented Nov 12, 2017

still going strong! same output as before

Owner

ikeydoherty commented Nov 12, 2017

Ah ok. And if you remove the LD_LIBRARY_PATH?

Raytar commented Nov 12, 2017

bash-4.3$ LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1  LIBGL_DEBUG=verbose glxgears
[lsi:vendor_offender] Enforcing hostfs snapd driver links: /usr/lib64/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/nvidia-387/tls/libnvidia-tls.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.387.22
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib/nvidia-387/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
Segmentation fault (core dumped)
Owner

ikeydoherty commented Nov 13, 2017

Aha! OK I think this is because your setup has the separate tls directory and Solus does not. OK not to worry, the shim does actually set up LD_LIBRARY_PATH and I'm making it more robust right now.

So - all we need now is 32-bit support!

Raytar commented Nov 13, 2017

And that requires the snapd patches?

Owner

ikeydoherty commented Nov 13, 2017

It requires a new patch for snapd actually :)

Owner

ikeydoherty commented Nov 13, 2017

Right now our patches are just the biarch side, this is the multiarch side. Basically I wanna get Ubuntu systems to have /var/lib/snapd/lib/gl/32 inside the solus image

ikeydoherty added a commit that referenced this issue Nov 13, 2017

shim: Take a far more robust approach to `LD_LIBRARY_PATH`
This ensures we correctly set up `LD_LIBRARY_PATH` with required extra
directories inside the snap environment - only if they actually exist.
This allows us to expand that search path to ensure that tls and vdpau
bits are available on multiarch systems, and things continue to tick
over as normal on biarch systems.

This is part of tackling issue #35.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>

Raytar commented Nov 13, 2017

Ok. Is there anything else you want me to check right now? If not, I think I'll go to bed :)

Owner

ikeydoherty commented Nov 13, 2017

Nah go on you can go bed :D Thanks for all the assistance! I'll make sure to help get 32-bit nvidia support into snapd so you'll be able to play with this properly soon :)

Raytar commented Nov 13, 2017

Cool! I am very much a noob at this, but I think I'll try to get snapd compiled from source tomorrow so that I can help with testing the patches.

Also thanks for all the great work you do for linux :)

Owner

ikeydoherty commented Nov 13, 2017

Sent the PR out: snapcore/snapd#4207

Raytar commented Nov 13, 2017

Ok. So here is what I have done:

  • sudo apt-get build-dep snapd
  • go get -d -v github.com/ikeydoherty/snapd/
  • cd into the source dir.
  • change branch to "full-nvidia-support"
  • go install github.com/ikeydoherty/snapd/...
  • ./mkversion.sh
  • cd into "cmd" directory
  • autoreconf -i -f
  • ./configure --prefix=/usr --libexecdir=/usr/lib/snapd --enable-nvidia-ubuntu
  • make
  • sudo make install
  • sudo systemctl stop snapd.service snapd.socket
  • sudo $GOPATH/bin/snapd
  • reinstall solus-runtime-gaming and linux-steam-integration

This happens when I try to run it:

john@Ares ➜ solus-snap snap run linux-steam-integration        
cannot mount tmpfs at /tmp/snap.rootfs_H1d0bH/var/lib/snapd/lib/vulkan: No such file or directory
Owner

ikeydoherty commented Nov 13, 2017

On the host side you need some new directories now:

sudo mkdir /var/lib/snapd/lib/vulkan
sudo mkdir /var/lib/snapd/lib/gl32

These would be handled by the packaged snapd

Owner

ikeydoherty commented Nov 13, 2017

Also its --enable-nvidia-multiarch nowadays :)

Raytar commented Nov 13, 2017

Hmm. I am still not getting to the login ui. Is there anything I can do to verify that I have it set up correctly?

Owner

ikeydoherty commented Nov 13, 2017

Yeah you need the new snaps with the new directory support, sorry totally forgot.

sudo snap remove linux-steam-integration solus-runtime-gaming
wget https://packages.solus-project.com/lsi/1/solus-runtime-gaming_0.0.0_amd64.snap
wget https://packages.solus-project.com/lsi/1/linux-steam-integration_0.6_amd64.snap
sudo snap install --dangerous solus-runtime-gaming*.snap
sudo snap install --dangerous --devmode linux-steam-integration*.snap
snap run linux-steam-integration

Raytar commented Nov 13, 2017

Do you accept the terms of this agreement? [y/N]: y
Running Steam on ubuntu 17.10 64-bit
STEAM_RUNTIME is disabled by the user
Installing breakpad exception handler for appid(steam)/version(0)
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 713:  5370 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 444: no match: ssfn*
Owner

ikeydoherty commented Nov 13, 2017

Have you restarted apparmor stuff so that the profiles are loaded? Might need a reboot I'm not sure.

If you --shell in I'm guessing you can't access /var/lib/snapd/lib/gl32

Owner

ikeydoherty commented Nov 13, 2017

Aha. That's certainly a difference.. ty.

Owner

ikeydoherty commented Nov 13, 2017

Yeah it turns out we're building our glibc at too high an ABI and we've dropped the global unversioned symbols (which'd default to the @2.0 symbol here) - I'm gonna fix that now and get new snaps out for you. Thanks for your patience and help!!

Raytar commented Nov 13, 2017

Hey no problem man. Happy to help!

Owner

ikeydoherty commented Nov 13, 2017

Cooking now:

$ readelf -Ws /var/cache/solbuild/unstable-x86_64/glibc/union/home/build/YPKG/root/glibc/install/usr/lib32/libpthread.so.0|grep pthread_setname_np
   130: 00013610   326 FUNC    GLOBAL DEFAULT   13 pthread_setname_np@@GLIBC_2.12
   886: 00013610   326 FUNC    GLOBAL DEFAULT   13 pthread_setname_np

Looks much more promising!

Owner

ikeydoherty commented Nov 13, 2017

Stripping it appears to be the issue..

Raytar commented Nov 13, 2017

:/

Running Steam on ubuntu 17.10 64-bit
STEAM_RUNTIME is disabled by the user
Installing breakpad exception handler for appid(steam)/version(0)
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 713:  5084 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 444: no match: ssfn*

Also ran this again: env LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl32:/var/lib/snapd/lib/gl" STEAM_RUNTIME=0 GTK_MODIFIERS='' XMODIFIERS='' LIBGL_DEBUG=verbose LD_DEBUG=libs $SNAP/usr/lib/steam/steam
Here is the output: https://pastebin.com/NTfGYvi1
And I am certain I have the correct snaps now :)

Owner

ikeydoherty commented Nov 13, 2017

Argh. Guess I'll be installing Ubuntu then

Owner

ikeydoherty commented Nov 13, 2017

This looks like your root is trashed, see this in steam.sh:

	for i in bootstrap.tar.xz ssfn* SteamApps steamapps userdata package; do

Could you remove the existing eopkgs, and nuke your ~/snap/linux-steam-integration, install again and make them clean? Cuz this looks an awful lot like corruption/download issues

Raytar commented Nov 13, 2017

Didn't make any difference :(

Raytar commented Nov 13, 2017

I will check if the newer snaps work on my laptop (intel graphics). Does that also need the snapd patches or is 2.29.3 good enough?

Owner

ikeydoherty commented Nov 13, 2017

I think 2.29.3 should be good

Raytar commented Nov 13, 2017

So far so good on the laptop. It is updating steam now. One thing I have noticed is that the terms of service is displayed in a window on the laptop, whereas on the desktop it is displayed on the command line.

Owner

ikeydoherty commented Nov 13, 2017

Oh? So is Zenity failing then I wonder, look further back up in the log, I think you still have GL issues

Raytar commented Nov 13, 2017

On the nvidia desktop this appears before the Terms of service:

john@Ares ➜ Documents snap run linux-steam-integration
Setting up Steam content in /home/john/snap/linux-steam-integration/x1/.local/share/Steam
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 112: xterm: command not found
Owner

ikeydoherty commented Nov 13, 2017

OK so lets find out why it falls to xterm..

Owner

ikeydoherty commented Nov 13, 2017

Aha! Because Zenity does fail. So your 64-bit drivers crapped

Owner

ikeydoherty commented Nov 13, 2017

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32" LSI_DEBUG=1 /usr/bin/zenity --about ?

Raytar commented Nov 13, 2017

bash-4.3$ LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32" LSI_DEBUG=1 /usr/bin/zenity --about
bash: /usr/bin/zenity: No such file or directory
Owner

ikeydoherty commented Nov 13, 2017

Oh right, I need to get to grips with these paths.

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32" LSI_DEBUG=1 $SNAP/bin/zenity --about

Raytar commented Nov 13, 2017

bash-4.3$ LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32" LSI_DEBUG=1 $SNAP/bin/zenity --about
[lsi:vendor_offender] Enforcing hostfs snapd driver links: /usr/lib64/libEGL.so.1 -> /var/lib/snapd/lib/gl/libEGL.so.1
[lsi:vendor_offender] Enforcing hostfs snapd driver links: /usr/lib64/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib64/haswell/libGLdispatch.so.0 -> /var/lib/snapd/lib/gl/libGLdispatch.so.0
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib64/haswell/libnvidia-tls.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.387.22
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib64/haswell/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /usr/lib64/haswell/libEGL_nvidia.so.0 -> /var/lib/snapd/lib/gl/libEGL_nvidia.so.0
[lsi:vendor_offender] Enforcing NVIDIA snapd driver links: /var/lib/snapd/lib/gl/tls/libnvidia-glsi.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glsi.so.387.22
Segmentation fault (core dumped)
Owner

ikeydoherty commented Nov 13, 2017

Aha - getting somewhere!!

LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32" LSI_DEBUG=1 LIBGL_DEBUG=verbose LD_DEBUG=libs $SNAP/bin/zenity --about
Owner

ikeydoherty commented Nov 13, 2017

readelf -Ws /snap/solus-runtime-gaming/current/usr/lib32/haswell/libpthread.so.0|grep pthread_setname
readelf -Ws /snap/solus-runtime-gaming/current/usr/lib64/haswell/libpthread.so.0|grep pthread_setname

Raytar commented Nov 13, 2017

john@Ares ➜ ~ readelf -Ws /snap/solus-runtime-gaming/current/usr/lib32/haswell/libpthread.so.0|grep pthread_setname 
   130: 00013590   326 FUNC    GLOBAL DEFAULT   13 pthread_setname_np@@GLIBC_2.12
   327: 00000000     0 FILE    LOCAL  DEFAULT  ABS pthread_setname.c
   879: 00013590   326 FUNC    GLOBAL DEFAULT   13 pthread_setname_np
john@Ares ➜ ~ readelf -Ws /snap/solus-runtime-gaming/current/usr/lib64/haswell/libpthread.so.0|grep pthread_setname 
    94: 0000000000013dd0   340 FUNC    GLOBAL DEFAULT   13 pthread_setname_np@@GLIBC_2.12
   306: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS pthread_setname.c
   848: 0000000000013dd0   340 FUNC    GLOBAL DEFAULT   13 pthread_setname_np
Owner

ikeydoherty commented Nov 13, 2017

Host side:

/usr/lib64/libc.so.6 

whats the output?

Raytar commented Nov 13, 2017

john@Ares ➜ ~ /usr/lib64/libc.so.6 
zsh: no such file or directory: /usr/lib64/libc.so.6
john@Ares ➜ ~ ldconfig -p | grep libc.so
        libc.so.6 (libc6,x32, OS ABI: Linux 3.4.0) => /libx32/libc.so.6
        libc.so.6 (libc6,x86-64, OS ABI: Linux 3.2.0) => /lib/x86_64-linux-gnu/libc.so.6
        libc.so.6 (libc6, OS ABI: Linux 3.2.0) => /lib/i386-linux-gnu/libc.so.6
        libc.so.6 (libc6, OS ABI: Linux 3.2.0) => /lib32/libc.so.6
john@Ares ➜ ~ /lib/x86_64-linux-gnu/libc.so.6 
GNU C Library (Ubuntu GLIBC 2.26-0ubuntu2) stable release version 2.26, by Roland McGrath et al.
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 6.4.0 20171010.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.
Owner

ikeydoherty commented Nov 13, 2017

I wonder if the problem is our glibc is built with --enable-bind-now

Owner

ikeydoherty commented Nov 13, 2017

Aagh! I'm such an idiot, sorry. It's obvious, we updated glibc since your test and then broke it.

Owner

ikeydoherty commented Nov 13, 2017

Right I just restored the old glibc and I'll do a build now and get some new snaps for you (sorry)
FWIW I had some issues with that glibc too not even detecting my AVX2..

Raytar commented Nov 13, 2017

Still no graphical terms of service

Setting up Steam content in /home/john/snap/linux-steam-integration/x1/.local/share/Steam
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 112: xterm: command not found

aand still broken :(

Running Steam on ubuntu 17.10 64-bit
STEAM_RUNTIME is disabled by the user
Installing breakpad exception handler for appid(steam)/version(0)
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 713: 16594 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/steam.sh: line 444: no match: ssfn*

So, earlier you said that stripping glibc might be a problem. Is that fixed now?

Owner

ikeydoherty commented Nov 13, 2017

I put the old glibc back... Can you try running Zenity again please?

Raytar commented Nov 13, 2017

john@Ares ➜ solus-snap readelf -Ws /snap/solus-runtime-gaming/current/usr/lib32/haswell/libpthread.so.0|grep pthread_setname
   129: 000132e0   326 FUNC    GLOBAL DEFAULT   14 pthread_setname_np@@GLIBC_2.12
john@Ares ➜ solus-snap readelf -Ws /snap/solus-runtime-gaming/current/usr/lib64/haswell/libpthread.so.0|grep pthread_setname
    93: 0000000000013ab0   340 FUNC    GLOBAL DEFAULT   14 pthread_setname_np@@GLIBC_2.12
Owner

ikeydoherty commented Nov 13, 2017

No I mean running zenity..

Raytar commented Nov 13, 2017

oh zenity works

Owner

ikeydoherty commented Nov 13, 2017

OK - so we're back to having 64-bit drivers working, which is where we wanted to be.

Now back to:

env LD_AUDIT="$SNAP/usr/\$LIB/liblsi-intercept.so" LSI_DEBUG=1 LD_LIBRARY_PATH="/var/lib/snapd/lib/gl32:/var/lib/snapd/lib/gl" STEAM_RUNTIME=0 GTK_MODIFIERS='' XMODIFIERS='' LIBGL_DEBUG=verbose LD_DEBUG=libs $SNAP/usr/lib/steam/steam

Raytar commented Nov 13, 2017

I need to run it like this though
LD_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32" $SNAP/bin/zenity --about
When running it normally I get this:

bash-4.3$ $SNAP/bin/zenity --about
/snap/linux-steam-integration/x1/bin/zenity: error while loading shared libraries: libEGL.so.1: cannot open shared object file: No such file or directory
Owner

ikeydoherty commented Nov 13, 2017

Sure, it doesn't know about those directories. :)

Owner

ikeydoherty commented Nov 13, 2017

file /var/lib/snapd/lib/gl32/libnvidia-glcore.so.387.22

Raytar commented Nov 13, 2017

bash-4.3$ file /var/lib/snapd/lib/gl32/libnvidia-glcore.so.387.22
/var/lib/snapd/lib/gl32/libnvidia-glcore.so.387.22: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
Owner

ikeydoherty commented Nov 13, 2017

What if you remove the LD_AUDIT part?

Raytar commented Nov 13, 2017

Now it starts updating

Owner

ikeydoherty commented Nov 13, 2017

OK so there is something super wonky

Raytar commented Nov 13, 2017

I am now logged into the steam client but if I understand correctly, this is without LSI?

Owner

ikeydoherty commented Nov 13, 2017

Yeah so shit is gonna hit the fan. Lemme patch LSI..

This is the bit that goes boom:

     17583: calling init: /home/john/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_32/libnvidia-glcore.so.387.22

Raytar commented Nov 13, 2017

So I was just about to finish downloading a game... And then steam broke XD https://steamstat.us/

Owner

ikeydoherty commented Nov 13, 2017

OH ok so its not just me then. XD

[23:13:46] <ikey> think i annoyed steam..
[23:13:52] <ikey> "Checking for available update..."
[23:15:20] <ikey> now i dont know if i broke it
[23:15:27] <ikey> or if its actually checking for available update

Raytar commented Nov 13, 2017

I now have Hand of Fate running in fullscreen with max settings and xbox 360 controller support

Owner

ikeydoherty commented Nov 13, 2017

Sure but the question is - why is the intercept thing cacking up

Owner

ikeydoherty commented Nov 13, 2017

Ah fuckin of course, the tls directory is separate

Owner

ikeydoherty commented Nov 14, 2017

If you're still willing...

https://packages.solus-project.com/lsi/4/solus-runtime-gaming_0.0.0_amd64.snap
https://packages.solus-project.com/lsi/4/linux-steam-integration_0.6_amd64.snap
Owner

ikeydoherty commented Nov 14, 2017

Mildly hilarious fact, turns out LSI_DEBUG is helping it to crash. Doing a v5 which should just work ootb as long as no debugging is used ...

Raytar commented Nov 14, 2017

Trying v5 ...
Terms of service is now shown in zenity 👍
Steam client works 👍
Hand of Fate works 👍

Contributor

alunux commented Nov 14, 2017

@ikeydoherty Can we test those snap on other distro too? I want to test them on Fedora :)

Raytar commented Nov 14, 2017

You would need a patched snapd if you are using proprietary graphics drivers.

Raytar commented Nov 14, 2017

Gonna close this issue since it now works on both of my machines running Ubuntu. Maybe create a new issue to track which other distros work?

@Raytar Raytar closed this Nov 14, 2017

question - I have a friend who was having the same problem with his nvidia drivers, are these changes merged into master or should i make a patch from the full-nvidia-support branch commits?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment