Proton_Appimage icon indicating copy to clipboard operation
Proton_Appimage copied to clipboard

PlayOnLinux AppImage

Open probonopd opened this issue 5 years ago • 14 comments

Do you think you could make a PlayOnLinux AppImage, including WINE? I am sure it would be appreciated by many users.

probonopd avatar Mar 07 '20 09:03 probonopd

When you have faith, everything is possible. That said, it isn't my priority now. I don't feel like gaming anymore. For me, this Appimage is just one alternative to the other Wine Appimage. My main focus with Wine is to run better the LogosBible. The normal Wine and Wine-staging v5.x is causing some black boxes on LogosBible display, so I have made this Proton Wine Appimage to be one alternative if I need to change.

ferion11 avatar Mar 07 '20 11:03 ferion11

Actually, I am also not that interested in games but more in applications. Keep up your great work.

probonopd avatar Mar 07 '20 12:03 probonopd

Thanks

ferion11 avatar Mar 07 '20 12:03 ferion11

Looking at this issue again, PlayOnLinux already distributes standalone versions now: From: https://www.playonlinux.com/en/news.html Linux standalone .tar.gz: http://repository.playonlinux.com/PlayOnLinux/5.0-alpha-2/Phoenicis_5.0-alpha-2-amd64.tar.gz Linux standalone .deb: http://repository.playonlinux.com/PlayOnLinux/5.0-alpha-2/Phoenicis_5.0-alpha-2-amd64.deb

Then for one AppImage we would need to just pack it, but the new issue would be to change the PlayOnLinux code to support wine-AppImage too. I believe it would be an interesting feature, not only on PlayOnLinux, but Steam, Lutris and others supporting the add of wine-AppImages (because it would take up much less disk space, and there are many users of no-multilib systems too). Maybe @qparis for the PlayOnLinux and @strycore for the lutris, on the future, would consider adding this feature too. Even ValveSoftware would be interested, as they almost abandoned support for the Ubuntu because of the consideration of dropping 32-bit packages.

ferion11 avatar Jul 31 '20 15:07 ferion11

Maybe an AppImage build could even be added to https://github.com/PhoenicisOrg/phoenicis-winebuild? Would you be available to help?

probonopd avatar Jul 31 '20 16:07 probonopd

Maybe an AppImage build could even be added to https://github.com/PhoenicisOrg/phoenicis-winebuild? Would you be available to help?

In fact I would like to do just that, but adding one extra patch to fix the username (Wine always change the Windows username getting it from the linux user that call it), so that I can use the wine bottle more easily on portable versions of LogosBible. I'm just waiting for them to finish this pull request: https://github.com/PhoenicisOrg/phoenicis-winebuild/pull/126

ferion11 avatar Jul 31 '20 16:07 ferion11

Hi,

I have merged the merge request PhoenicisOrg/phoenicis-winebuild#126

Feel fee to ask if you need any support to extend phoenicis-winebuild

qparis avatar Jul 31 '20 22:07 qparis

Hi,

I have merged the merge request PhoenicisOrg/phoenicis-winebuild#126

Feel fee to ask if you need any support to extend phoenicis-winebuild

Thanks. Then I will start to play with the code :)

ferion11 avatar Jul 31 '20 23:07 ferion11

Hi @qparis are you familiar with the concept of AppImage? What do you think, would you be interested in adding an AppImage build to phoenicis-winebuild?

There are already several WINE AppImage builds out there, but having an official PlayOnLinux AppImage build would no doubt be beneficial.

Existing WINE AppImage projects include:

  • wine32-deploy - Creates AppImages for 32-bit Windows applications that can run on 64-bit Linux systems without multilib installed
  • win32-appimage - WINE-based AppImage creator for Windows applications
  • AppImage For WINE - WINE-based AppImages and LD_PRELOAD based patches to launch WINE from AppImages

Let me know if you have any AppImage-related questions, I know it pretty intimately ;-)

probonopd avatar Aug 01 '20 09:08 probonopd

Hi!

Indeed it would be interesting to support several packagers. Phoenicis wine build could automatically build any version to an app image format. What do we need to know to create a wine app image from a source root?

Concerning POL itself, we already support flatpack in our latest version so I see no reason why we could not support app image.

qparis avatar Aug 01 '20 10:08 qparis

Hi!

Indeed it would be interesting to support several packagers. Phoenicis wine build could automatically build any version to an app image format. What do we need to know to create a wine app image from a source root?

Concerning POL itself, we already support flatpack in our latest version so I see no reason why we could not support app image.

That's good! It's a simplified view that doesn't do the technology justice, but you can see AppImage as a linux tar.gz executable, requiring no installation or unpacking on disk. On the case of wine, we just need to create links for the executable inside, like "wine" or "wineserver" pointing to the executable AppImage file itself.

My project: https://github.com/ferion11/Wine_Appimage Create one ArchLinux docker, download one PlayOnLinux-wine-staging-linux-x86, download the ArchLinux packages needed, and make the AppImage (having only around 300MB) using this small script: https://github.com/ferion11/Wine_Appimage_dev/blob/master/deployscript/archlinux-wine-deploy.sh

The script that run the AppImage is the main thing: https://github.com/ferion11/Wine_Appimage_dev/blob/master/AppRun Hackerl from https://github.com/Hackerl/Wine_Appimage created the hooks source that we need to load the wine: https://github.com/Hackerl/Wine_Appimage/tree/master/src

So now we have AppImages (like https://github.com/ferion11/Wine_Appimage/releases) that can run wine32 on no-multilib linux distributions and installation.

Using the same technique I made one PCSX2 (that only have 32bits and need multilib) AppImage that can run on pure 64bit, no-multilib, linux distributions (having only around 150MB): https://github.com/ferion11/PCSX2_Appimage/releases

ferion11 avatar Aug 01 '20 11:08 ferion11

Also see my notes at https://github.com/probonopd/libhookexecv, and my proof-of-concept at https://github.com/probonopd/libhookexecv/releases/tag/continuous - e.g., the https://github.com/probonopd/libhookexecv/releases/download/continuous/NotepadPlusPlus-7.7.1-x86_64.AppImage which contains both the application and WINE fully self-contained so that it will run on a 64-bit Linux system without multilib... in an AppImage that is just 27.4 MB

probonopd avatar Aug 01 '20 11:08 probonopd

@qparis great to hear! :+1: I am happy to support the effort in any possible way.

What do we need to know to create a wine app image from a source root?

Shall we discuss this here or would you prefer to discuss that in a ticket over at https://github.com/PhoenicisOrg/phoenicis?

probonopd avatar Aug 01 '20 12:08 probonopd

Depends on what you want to do:

  • If the goal is to package standalone w32 apps, phonics is probably the place to be
  • If the goal is to package standalone wine binaries, the best place is phoenicis-winebuild

Feel free to open a ticket :)

qparis avatar Aug 01 '20 12:08 qparis