Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

32-bit extensions aren't installed automatically #53

Closed
ghost opened this issue Sep 14, 2019 · 25 comments
Closed

32-bit extensions aren't installed automatically #53

ghost opened this issue Sep 14, 2019 · 25 comments
Labels
bug Something isn't working flatpak This is related to Flatpak technology

Comments

@ghost
Copy link

ghost commented Sep 14, 2019

$ flatpak run net.lutris.Lutris 
bwrap: Can't mkdir /app/lib/i386-linux-gnu/GL: Read-only file system
error: ldconfig failed, exit status 256
$ flatpak info net.lutris.Lutris

Lutris - Lutris is an open source gaming platform

          ID: net.lutris.Lutris
         Ref: app/net.lutris.Lutris/x86_64/beta
        Arch: x86_64
      Branch: beta
     Version: 0.5.2
     License: GPL-3.0
      Origin: flathub_beta
  Collection: org.flathub.Beta
Installation: system
   Installed: 68.5 MB
     Runtime: org.gnome.Platform/x86_64/3.34
         Sdk: org.gnome.Sdk/x86_64/3.34

      Commit: c4c994a5b6e65cd79d0a0548183fe15ed5750952c60a5cdbe6656b265b5cbc8a
      Parent: 561652be94ad10ad718ed12b7d8e0be15b79704030f34b82d04c5e60d5052493
     Subject: Add patch for searching more Vulkan ICD dirs (#51) (e20a5cf4)
        Date: 2019-09-13 19:10:37 +0000
@p1u3o
Copy link
Contributor

p1u3o commented Sep 14, 2019

Try

$ flatpak install org.gnome.Platform.Compat.i386

Then choose 3.34 if it gives you a choice.

@ghost
Copy link
Author

ghost commented Sep 14, 2019

@p1u3o Thanks. I forgot to install these after purging 3.34 beta GNOME runtimes.
I did # flatpak repair, but it didn't report missing runtimes; there's just something I don't know about dependency resolution in Flatpak, it seems.

@ghost ghost closed this as completed Sep 14, 2019
@p1u3o
Copy link
Contributor

p1u3o commented Sep 14, 2019

Flatpak didn't download that runtime for me either and uninstall --unused will actually purge it.

Could it be because we're installing from flathub_beta and it's in flathub?

@ghost
Copy link
Author

ghost commented Sep 14, 2019

@p1u3o Most likely not, but don't take it from me, as I'm not a Flatpak developer. My guess is that it has something to do with org.gnome.Platform.Compat.i386 being declared an extension. I had a similar issue with org.freedesktop.Platform.GLxx.xxxx not being automatically downloaded as well.

$ flatpak install net.lutris.Lutris
Looking for matches…
Found similar ref(s) for ‘net.lutris.Lutris’ in remote ‘flathub_beta’ (system).
Use this remote? [Y/n]: y
Required runtime for net.lutris.Lutris/x86_64/beta (runtime/org.gnome.Platform/x86_64/3.34) found in remote flathub
Do you want to install it? [Y/n]: y

net.lutris.Lutris permissions:
    ipc     network     pulseaudio     wayland     x11     devices     devel     multiarch     file access [1]     dbus access [2]

    [1] xdg-data/Steam:ro, xdg-desktop, xdg-documents, xdg-download, xdg-music, xdg-pictures, xdg-videos, ~/.var/app/com.valvesoftware.Steam:ro, ~/Games:create
    [2] org.freedesktop.Notifications, org.gnome.Mutter.DisplayConfig


        ID                                   Arch             Branch           Remote                 Download
 1.     org.gnome.Platform                   x86_64           3.34             flathub                < 318.3 MB
 2.     org.gnome.Platform.Locale            x86_64           3.34             flathub                < 322.7 MB (partial)
 3.     net.lutris.Lutris                    x86_64           beta             flathub_beta            < 23.4 MB
 4.     net.lutris.Lutris.Locale             x86_64           beta             flathub_beta             < 7.6 MB (partial)

@ghost
Copy link
Author

ghost commented Sep 14, 2019

flatpak/flatpak#3094
flatpak/flatpak#3072

@gasinvein
Copy link
Member

gasinvein commented Sep 14, 2019

@Bryophyllum Something similar was reported before - #14.
I would appreciate if you provide steps to reliably reproduce it (i.e. what circumstances cause flatpak to omit the .Compat.i386 extension while installing/updating Lutris). I wasn't able to reproduce it myself.
Also this should probably be reported against flatpak itself.

@p1u3o
Copy link
Contributor

p1u3o commented Sep 14, 2019

I just did a fresh install of Flatpak, added the flathub and flathub_beta repos and the things that didn't get downloaded but were needed for me to run Lutris.

org.freedesktop.Platform.GL32.default
org.freedesktop.Platform.GL32.nvidia-435-21
org.freedesktop.Platform.GL.nvidia-435-21/i386
org.freedesktop.Platform/i386
org.gnome.Platform.Compat.i386

I wonder if the OP also has a Nvidia card?

@ghost
Copy link
Author

ghost commented Sep 14, 2019

I spun up a fresh Fedora Workstation 30 VM, and have done the following to reproduce it:

$ flatpak remote-add --user flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak remote-add --user flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
$ flatpak install --user lutris
Looking for matches…
Found similar ref(s) for ‘lutris’ in remote ‘flathub-beta’ (user).
Use this remote? [Y/n]: y
Found ref ‘app/net.lutris.Lutris/x86_64/beta’ in remote ‘flathub-beta’ (user).
Use this ref? [Y/n]: y
Required runtime for net.lutris.Lutris/x86_64/beta (runtime/org.gnome.Platform/x86_64/3.34) found in remote flathub
Do you want to install it? [Y/n]: y

net.lutris.Lutris permissions:
    ipc         network        pulseaudio           wayland              x11      devices
    devel       multiarch      file access [1]      dbus access [2]

    [1] xdg-data/Steam:ro, xdg-desktop, xdg-documents, xdg-download, xdg-music, xdg-pictures, xdg-videos,
        ~/.var/app/com.valvesoftware.Steam:ro, ~/Games:create
    [2] org.freedesktop.Notifications, org.gnome.Mutter.DisplayConfig


        ID                                         Arch          Branch       Remote             Download
 1. [✓] org.gnome.Platform                         x86_64        3.34         flathub            304.0 MB / 318.3 MB
 2. [✓] org.gnome.Platform.Locale                  x86_64        3.34         flathub             17.1 kB / 322.7 MB
 3. [✓] org.freedesktop.Platform.GL.default        x86_64        19.08        flathub             40.7 MB / 40.7 MB
 4. [✓] net.lutris.Lutris                          x86_64        beta         flathub-beta        23.0 MB / 23.4 MB
 5. [✓] net.lutris.Lutris.Locale                   x86_64        beta         flathub-beta         8.5 kB / 7.6 MB

Installation complete.
$ flatpak run --user net.lutris.Lutris 
2019-09-14 13:07:11,962: Couldn't find a terminal emulator.
2019-09-14 13:07:13,297: Running Lutris 0.5.3
2019-09-14 13:07:13,297: Running migration: fix_playtime
2019-09-14 13:07:13,299: Using VMware, Inc.
2019-09-14 13:07:13,299: Running Mesa driver 19.1.5 on llvmpipe (LLVM 8.0, 256 bits) (0xffffffff)
2019-09-14 13:07:13,299: GPU:   using virtio_gpu drivers
2019-09-14 13:07:13,299: i386 libGL.so.1 missing (needed by opengl)
2019-09-14 13:07:13,299: i386 libvulkan.so.1 missing (needed by vulkan)
2019-09-14 13:07:26,688: Vulkan is not available or your system isn't Vulkan capable
2019-09-14 13:07:29,466: Updating DXVK versions
2019-09-14 13:07:29,845: Updating D9VK versions
2019-09-14 13:07:29,867: Runtime Ubuntu-18.04-x86_64 is not available locally
2019-09-14 13:07:29,868: Runtime p7zip is not available locally
2019-09-14 13:07:29,869: Runtime winetricks is not available locally
2019-09-14 13:07:29,878: Runtime Ubuntu-18.04-i686 is not available locally
2019-09-14 13:07:29,882: Runtime x360ce is not available locally
2019-09-14 13:07:29,889: Runtime dumbxinputemu is not available locally
2019-09-14 13:07:29,892: Runtime gamecontrollerdb is not available locally
2019-09-14 13:07:29,901: Runtime steam is not available locally
2019-09-14 13:07:29,905: Runtime lib64 is not available locally
2019-09-14 13:07:29,919: Runtime lib32 is not available locally
2019-09-14 13:07:30,188: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/winetricks
2019-09-14 13:07:30,691: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/gamecontrollerdb
2019-09-14 13:07:30,993: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/x360ce
2019-09-14 13:07:31,394: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/dumbxinputemu
2019-09-14 13:07:34,012: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/lib32
2019-09-14 13:07:34,414: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/Ubuntu-18.04-x86_64
2019-09-14 13:07:34,715: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/Ubuntu-18.04-i686
2019-09-14 13:07:34,916: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/lib64
2019-09-14 13:07:36,426: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/steam
2019-09-14 13:07:36,526: Non existent path: /home/testuser/.var/app/net.lutris.Lutris/data/lutris/runtime/p7zip
2019-09-14 13:07:39,799: Shutting down Lutris

Lutris only complained about not being able to detect Vulkan support for the i386 architecture at launch, but it started nonetheless; in another words, it didn't need org.freedesktop.Platform.Compat.i386,
org.gnome.Platform.Compat.i386, or org.freedesktop.Platform.GL32.default to launch on the Fedora Workstation 30 VM. However, on my Fedora Silverblue 30 setup, I get the bwrap error if org.gnome.Platform.Compat.i386 is not installed (could it be Silverblue's Flatpak thing?).

@p1u3o I have an AMD card.

@gasinvein
Copy link
Member

@Bryophyllum So flatpak doesn't pull in neither .Compat.i386, nor .GL32 extension. Can you please check if it's also the case for Steam flatpak (beta branch)?

on my Fedora Silverblue 30 setup, I get the bwrap error if org.gnome.Platform.Compat.i386 is not installed

It's likely because .GL32 is installed while .Compat.i386 is not.

@Saroufim
Copy link

In my case it tried to pull the runtime from gnome-nightly's repo and it failed.

@ghost
Copy link
Author

ghost commented Sep 14, 2019

It's likely because .GL32 is installed while .Compat.i386 is not.

Indeed.

$ flatpak uninstall --force-remove  org.freedesktop.Platform.GL32.mesa-aco
$ flatpak uninstall --force-remove org.gnome.Platform.Compat.i386
$ flatpak run net.lutris.Lutris 
2019-09-14 13:43:09,285: Couldn't find a terminal emulator.
2019-09-14 13:43:09,415: Running Lutris 0.5.3
2019-09-14 13:43:09,415: Using X.Org
2019-09-14 13:43:09,415: Running Mesa driver 19.3.0 on Radeon RX 560 Series (POLARIS11, DRM 3.32.0, 5.2.13-200.fc30.x86_64, LLVM 8.0.1) (0x67ff)
2019-09-14 13:43:09,415: GPU: 1002:67FF 1458:22FB using amdgpu drivers
2019-09-14 13:43:09,416: i386 libGL.so.1 missing (needed by opengl)
2019-09-14 13:43:09,416: i386 libvulkan.so.1 missing (needed by vulkan)
WARNING: Experimental compiler backend enabled. Here be dragons! Incorrect rendering, GPU hangs and/or resets are likely
2019-09-14 13:43:11,351: Vulkan is supported
2019-09-14 13:43:11,352: Updating DXVK versions
2019-09-14 13:43:11,782: Updating D9VK versions
2019-09-14 13:43:13,210: Shutting down Lutris

So flatpak doesn't pull in neither .Compat.i386, nor .GL32 extension. Can you please check if it's also the case for Steam flatpak (beta branch)?

It's the same case, but Steam can't run, as it's missing libc.so.6:

# rm -rf .local/share/flatpak
$ flatpak remote-add --user flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak remote-add --user flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
$ flatpak install --user com.valvesoftware.Steam//beta
Looking for matches…
Found similar ref(s) for ‘com.valvesoftware.Steam//beta’ in remote ‘flathub-beta’ (user).
Use this remote? [Y/n]: y
Required runtime for com.valvesoftware.Steam/x86_64/beta (runtime/org.freedesktop.Platform/x86_64/19.08) found in remote flathub
Do you want to install it? [Y/n]: y

com.valvesoftware.Steam permissions:
    ipc                network                  pulseaudio              wayland
    x11                devices                  bluetooth               devel
    multiarch          file access [1]          dbus access [2]         system dbus access [3]
    tags [4]

    [1] xdg-music:ro, xdg-pictures:ro, xdg-run/app/com.discordapp.Discord:create
    [2] org.freedesktop.PowerManagement, org.freedesktop.ScreenSaver, org.gnome.SettingsDaemon.MediaKeys,
        org.kde.StatusNotifierWatcher
    [3] org.freedesktop.NetworkManager, org.freedesktop.UPower
    [4] proprietary


        ID                                         Arch          Branch       Remote             Download
 1. [✓] org.freedesktop.Platform                   x86_64        19.08        flathub            223.5 MB / 237.5 MB
 2. [✓] org.freedesktop.Platform.GL.default        x86_64        19.08        flathub             40.7 MB / 40.7 MB
 3. [✓] org.freedesktop.Platform.Locale            x86_64        19.08        flathub             17.0 kB / 318.9 MB
 4. [✓] com.valvesoftware.Steam                    x86_64        beta         flathub-beta        28.6 MB / 28.7 MB

Installation complete.
$ flatpak run --user com.valvesoftware.Steam 
https://github.com/flathub/com.valvesoftware.Steam/wiki/Frequently-asked-questions
Relocating /home/testuser/.var/app/com.valvesoftware.Steam/config/user-dirs.dirs to .config/user-dirs.dirs
Overriding TZ to xxxx/xxxx
Setting up Steam content in /home/testuser/.local/share/Steam
Running Steam on org.freedesktop.platform 19.08.0 64-bit
STEAM_RUNTIME is enabled automatically
Pins potentially out-of-date, rebuilding...
Error: You are missing the following 32-bit libraries, and Steam may not run:
libc.so.6
/home/testuser/.local/share/Steam/steam.sh: line 905: /home/testuser/.local/share/Steam/ubuntu12_32/steam: No such file or directory

@gasinvein
Copy link
Member

Thanks @Bryophyllum. I think we are hitting flatpak/flatpak#3094 here.

@gasinvein gasinvein added bug Something isn't working flatpak This is related to Flatpak technology labels Sep 14, 2019
@gasinvein
Copy link
Member

Let's keep this open until the issue is resolved upstream (or we move to stable branch).

@gasinvein gasinvein reopened this Sep 14, 2019
@gasinvein gasinvein changed the title Lutris doesn't run due to a bwrap error 32-bit extensions aren't installed automatically Sep 14, 2019
@LeandroStanger
Copy link
Collaborator

Move to stable branch

@gasinvein
Copy link
Member

@LeandroStanger Not yet. We have plenty of broken runners.

@lucasfcnunes
Copy link

lucasfcnunes commented Jun 6, 2020

flatpak install org.gnome.Platform.Compat.i386

that wasn't working for me as it threw me an error...

Usage:
  flatpak install [OPTION…] LOCATION/REMOTE [REF...] - Install applications or runtimes

Help Options:
  -h, --help              Show help options

Application Options:
  --user                  Work on user installations
  --system                Work on system-wide installations (default)
  --installation=NAME     Work on specific system-wide installation(s)
  --arch=ARCH             Arch to install for
  --no-pull               Don't pull, only install from local cache
  --no-deploy             Don't deploy, only download to local cache
  --no-related            Don't install related refs
  --no-deps               Don't verify/install runtime dependencies
  --no-static-deltas      Don't use static deltas
  --runtime               Look for runtime with the specified name
  --app                   Look for app with the specified name
  --bundle                Assume LOCATION is a .flatpak single-file bundle
  --from                  Assume LOCATION is a .flatpakref application description
  --gpg-file=FILE         Check bundle signatures with GPG key from FILE (- for stdin)
  --subpath=PATH          Only install this subpath
  -y, --assumeyes         Automatically answer yes for all questions
  --reinstall             Uninstall first if already installed
  -v, --verbose           Print debug information during command processing, -vv for more detail
  --ostree-verbose        Print OSTree debug information during command processing

error: REMOTE and REF must be specified

So I:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub org.gnome.Platform.Compat.i386//<VERSION_NEEDED>

My VERSION_NEEDED was 3.36 as my error message was

$ flatpak install --user flathub-beta net.lutris.Lutris//beta
error: The application net.lutris.Lutris/x86_64/beta requires the runtime org.gnome.Platform/x86_64/3.36 which was not found

So $ flatpak install flathub org.gnome.Platform.Compat.i386//3.36 fixed my problem!

@fastrizwaan
Copy link

fastrizwaan commented Mar 8, 2021

How come flatpak install --user flathub org.phoenicis.playonlinux installs Compat.i386 and GL32? But not Lutris and Flatpak-wine32?
What is org.phoenicis.playonlinux doing differently than Lutris?

@A6GibKm
Copy link
Collaborator

A6GibKm commented Mar 8, 2021

I am not sure if it is the case, but probably org.phoenicis.playonlinux is in flathub rather than flathub-beta.

@fastrizwaan
Copy link

Yes, that's true, but what about flatpak bundles? I build it with flatpak build-bundle "repo" "io.github.flatpak-wine32.flatpak" io.github.flatpak-wine32 stable --runtime-repo="https://flathub.org/repo/flathub.flatpakrepo" flatpak-wine32 readme

@tinywrkb
Copy link

tinywrkb commented Mar 9, 2021

@fastrizwaan you really shouldn't use Flatpak bundles. Bundles are a huge PITA and it feels like someone just gave up on this feature and just forgot to purge the code.

  • No locales in the bundle. This is a serious issue if you care about your users.
  • Cannot embed a runtime or an extension. If your bundle depends on them then it complicates the installation from a one-click setup to multiple packages with a specific order.
  • I don't believe you can use extra-data with a bundle.

Host your own Flatpak repo instead of this half-baked bundle feature

@polzon
Copy link

polzon commented Mar 5, 2022

Still getting this issue in 2022. Not sure which i386 version to install, and if I should install it on the beta branch or not. Using Lutris beta from flathub.

@A6GibKm
Copy link
Collaborator

A6GibKm commented Mar 5, 2022

Per the readme, run

flatpak install --user flathub org.gnome.Platform.Compat.i386

and install the version that coincides with lutris (41).

Lutris is only on the beta branch and it is the only package you should install from such, the command above takes this into account.

Still getting this issue in 2022.

And what do you expect me to do, I do not have the tools to fix this and lutris devs are not interested in this issue either.

@A6GibKm
Copy link
Collaborator

A6GibKm commented Mar 21, 2022

I added a dialog that will warn the user if the extension is missing. It is not the best, but it is a decent approach until we have a portal to do such operations.

image

(Dont mind the name of the ext in the screenshot)

@strycore
Copy link
Collaborator

strycore commented Apr 6, 2022

This issue should solve itself once Lutris leaves flathub-beta for flathub so it's not a huge concern

@juk0de
Copy link

juk0de commented Jun 30, 2023

@A6GibKm: I had the same issue today on my Steam Deck but there was no error dialog. I only saw the error message when I started Lutris in the CLI (which isn't very convenient on the Steam Deck). But there it complained about a missing package without telling me the version it expected (because the package actually was installed, but not the latest version). See my forum thread for details and commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working flatpak This is related to Flatpak technology
Projects
None yet
Development

No branches or pull requests