Bottles icon indicating copy to clipboard operation
Bottles copied to clipboard

[Bug]: Bottles does not import compatible soda for arm64

Open bhenson19 opened this issue 1 month ago • 0 comments

Describe the bug

First, I just want to say thank you for the active work put into this application and I hope this post can only lead to more users and use cases of bottles in the future.

I am using NixOS on Apple Silicon. Installing bottles by throwing it in the configuration.nix file allows for a correct build. However, none of the runners (soda-9.0-1, caffe9.7) pulled down by bottles contain a wine compatible with the x86_64 emulation provided by boot.binfmt.emulatedSystems. Not sure if there is a better place to bring up this lack of support by soda, but would be neat for bottles to actually run things on Apple Silicon since it claims support for arm64.

The flatpak way of installing gives the same errors.

Luckily I was able to get some applications running by building wow64 and replacing the wine provided by soda-9.0-1 with that one, but very few applications work and none of the provided platinum games like Pokemon Infinity or the Epic Games Store worked (I think it's a wow64 issue there, will post on WineHQ soon). But, if there is a known way to fix this I am all ears.

What would be nice to have is the bottles app to detect architecture and provide the ability to filter runners based upon architecture.

To Reproduce

  1. On a nixos installation on an Apple Silicon machine, add the system package bottles to your environment.
  2. Also add binfmt support for x86_64-linux (wine will not be able to run without it).
  3. nixos-rebuild switch
  4. Run bottles.
  5. Create a new bottle with soda-9.0-1. Will not be able to run any apps because the wine64 binary is linked to /lib64/ld-linux-x86-64.so.2 which does not exist.

Package

Flatpak from Flathub

Distribution

NixOS on Apple Silicon (system.stateVersion = "24.05")

Debugging Information

Official Package: false
Version: '51.11'
DE/WM: plasma
Display:
    X.org: true
    X.org (port): :1
    Wayland: true
Graphics:
    vendors: {}
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.8.6-asahi
Disk:
    Total: 8196980736
    Free: 8196980736
RAM:
    MemTotal: 15.3GiB
    MemAvailable: 9.7GiB
Bottles_envs: null
Tools and Libraries:
    cabextract: true
    p7zip: true
    patool: true
    glibc_min: '2.39'
    icoextract: true
    pefile: true
    orjson: true
    markdown: true
    ImageMagick: true
    FVS: true
    xdpyinfo: true

Troubleshooting Logs

(bottles:22050): Gtk-WARNING **: 11:29:28.240: Allocating size to GtkBox 0x317065e0 without calling gtk_widget_measure(). How does the code know the size to allocate?
11:29:31 (INFO) Launching an executable… 
11:29:31 (WARNING) Windows path detected. Avoiding validation. 
11:29:31 (INFO) Using Wine Starter -- run 
11:29:31 (WARNING) No GPU vendor found, keep going without setting VK_ICD_FILENAMES… 
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

Additional context

No response

bhenson19 avatar May 23 '24 15:05 bhenson19