Wine 64bit AppImage

Questions about Wine on Linux
Locked
gamerz
Level 1
Level 1
Posts: 9
Joined: Sun Mar 23, 2014 7:38 am

Wine 64bit AppImage

Post by gamerz »

Hi!
I want to share my AppImage https://appimage.org/ for Wine64. I made it for the DAW "Zynewave Podium" https://zynewave.com/ which is free but only available for Windows and it works great with Wine.
Download:
http://www.mediafire.com/file/1yoq02fp5 ... Image/file ~ 66,73 MB

Only 64 bit Applications will work with this.
I have compiled Wine64 it without these features (no D3D12 or Vulkan):
pcap 64-bit development files not found, wpcap won't be supported.
libhal 64-bit development files not found, no legacy dynamic device support.
gstreamer-1.0 base plugins 64-bit development files not found, GStreamer won't be supported.
libudev 64-bit development files not found, plug and play won't be supported.
libSDL2 64-bit development files not found, SDL2 won't be supported.
libkrb5 64-bit development files not found (or too old), Kerberos won't be supported.
libgssapi_krb5 64-bit development files not found (or too old), no Kerberos SSP support.
libvulkan and libMoltenVK 64-bit development files not found, Vulkan won't be supported.
vkd3d 64-bit development files not found, Direct3D 12 won't be supported.

Make the AppImage executable with the command: "chmod a+x Wine-4.2-x86_64.AppImage".
Once Wine is launched it will create the Folder "~/.wine64-4.2-AppImage" so it does not interfere with an existing Wine install (~/.wine).
You can configure Wine64 with this command: "./Wine-4.2-x86_64.AppImage winecfg".

I could create an 64 bit AppImage containing a Wine 32 bit build but it has MANY workarounds. Will there be a Wine64 version which can run 32 bit Applications?
Maybe the Wine Developers can make AppImages with all features enabled.
zapper

Re: Wine 64bit AppImage

Post by zapper »

I would definitely like an appimage of wine-staging. :)

That would be awesome for when I use arch derivatives particularly, Hyperbola a stable arch fork. Sadly they exclude wine-staging because of certain standards, which I do respect for most things except this though.
User avatar
DarkShadow44
Level 8
Level 8
Posts: 1207
Joined: Tue Nov 22, 2016 5:39 pm

Re: Wine 64bit AppImage

Post by DarkShadow44 »

zapper wrote:That would be awesome for when I use arch derivatives particularly, Hyperbola a stable arch fork. Sadly they exclude wine-staging because of certain standards, which I do respect for most things except this though.
What prevents you from using the PKGBUILD to build it yourself?
zapper

Re: Wine 64bit AppImage

Post by zapper »

DarkShadow44 wrote:
zapper wrote:That would be awesome for when I use arch derivatives particularly, Hyperbola a stable arch fork. Sadly they exclude wine-staging because of certain standards, which I do respect for most things except this though.
What prevents you from using the PKGBUILD to build it yourself?
Well, I guess the fact that it takes 2+ hours to compile... Is one thing. ;o

Also, it runs a bit hot... even though I have 8gbs of ram.

But the other thing is, appimage is a more convenient way anyways.
Gremil-tech
Newbie
Newbie
Posts: 1
Joined: Wed Feb 05, 2020 7:20 am

Re: Wine 64bit AppImage

Post by Gremil-tech »

This is absolutly awesome. One question though. How did you get wine to work in an appimage? Every time I try to bundle wine with an application like Irfanview it only loads on a PC already with wine installed other wise I get lots of errors about missing libraries.
gamerz
Level 1
Level 1
Posts: 9
Joined: Sun Mar 23, 2014 7:38 am

Re: Wine 64bit AppImage

Post by gamerz »

You have to gather all the required libraries for the executable and package them inside an AppImage.
Thats what AppImages are about, executable AND libraries in one file.
Extract my Wine AppImage to see how it's done.
https://docs.appimage.org/packaging-guide/
jonathan.dove
Newbie
Newbie
Posts: 1
Joined: Tue Apr 14, 2020 8:38 am

Re: Wine 64bit AppImage

Post by jonathan.dove »

So based on gamerz original appimage (Especially the AppRun file). I have created a recipe for utilizing pkg2appimage that works for both wine 64 and 32 on 64bit systems utilizing the Debian/Ubuntu packages. This recipe does have some, if not a lot of, bloat at 89M but I didn't want to limit the usage of the wine AppImage so kept all of the dependencies intact. I'm sure this could be further refined but it is working for my purposes right now. I have uploaded it to https://github.com/AppImage/pkg2appimage/pull/418/files but have also have copied it below. Let me know if anyone has any improvements or ideas on cutting the bloat down would be appreciated.

Code: Select all

app: Wine
binpatch: true
ingredients:
  dist: buster
  packages: 
    - wine
  sources:
    - deb http://deb.debian.org/debian buster main contrib non-free    
  script:
    - mkdir -p ./Wine.AppDir/usr/share/applications/ 
  
    - wget -N https://source.winehq.org/git/wine.git/blob_plain/HEAD:/loader/wine.desktop
    
    - sed -i -e 's|Icon=wine.*|Icon=wine|g' wine.desktop
    - sed -i -e 's|Name=Wine.*|Name=Wine|g' wine.desktop
    - sed -i -e '/Name\[.*/d' wine.desktop
    - sed -i -e 's|Exec=wine.*|Exec=wine|g' wine.desktop
    - echo 'Categories=Utility;Settings;' >> wine.desktop
    
    - cp ./wine.desktop ./Wine.AppDir/usr/share/applications/wine.desktop

    - wget -N https://source.winehq.org/git/wine.git/blob_plain/HEAD:/dlls/wineandroid.drv/wine.svg
    - cp wine.svg ./Wine.AppDir/
    
    - cat > ./Wine.AppDir/AppRun << 'EOF'
    - #!/bin/sh
    - SELF=$(readlink -f "$0")
    - HERE=${SELF%/*}
    - 
    - export PATH="${HERE}/usr/bin/:${HERE}/usr/sbin/:${HERE}/sbin/${PATH:+:$PATH}"
    - 
    - export LD_LIBRARY_PATH="${HERE}/usr/lib/:${HERE}/usr/lib/x86_64-linux-gnu/:${HERE}/usr/wine/:${HERE}/usr/sasl2/:${HERE}/lib/:${HERE}/lib/x86_64-linux-gnu:${HERE}/lib/udev/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
    - 
    - export XDG_DATA_DIRS="${HERE}/usr/share/${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
    - 
    - export GSETTINGS_SCHEMA_DIR="${HERE}/usr/share/glib-2.0/schemas/${GSETTINGS_SCHEMA_DIR:+:$GSETTINGS_SCHEMA_DIR}"
    - 
    - EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2 | cut -d " " -f 1)
    - 
    - WINEVERSION=$(wine --version | sed "s/ .*//g")
    - WINEPREFIX=~/.${WINEVERSION}-AppImage exec "${EXEC}" "$@"
    - EOF
Locked