Jump to content
You must now use your email address to sign in [click for more info] ×

Affinity Suite V2 on Linux [ Wine ]


Wanesty

Recommended Posts

@Daegalus Well I am very curious and looking forward to see the things that you will come up with and thank you for your contributions!

@Wanesty , no problem, I know that it is something that depends on the end of Wine, which you can't fix. Your guide is golden and thank you very much! I am so happy to discover distrobox and now I am able to perfectly run the Affinity Suite on Fedora!

Now I just have to figure out how to use the .desktop file with it. I read that it should be done with the command distrobox-export command, now that I have some time, I will play with it but I am so happy already!

Thank you again!

 

EDIT: Managed to create the desktop files! I had to create them with the necessary flags manually, as when I was trying distrobox-export it was telling me that the app was not installed, but creating them manually on my host system worked like a charm!

Link to comment
Share on other sites

17 hours ago, breathless19 said:

configure: error: i386 PE cross-compiler not found.
This is an error since --enable-archs=i386 was requested."

15 hours ago, Daegalus said:

Since it's 32bit errors, my guess is the `mingw32-gcc` it's not on the site but it is on the list I got from TKG.

updated both fedora and openSUSE dependencies list, added:

mingw32-cross-gcc mingw32-libz mingw32-zlib-devel

for opensuse and

mingw32-FAudio mingw32-gcc mingw32-lcms2 mingw32-libpng mingw32-libtiff mingw32-libxml2 mingw32-libxslt mingw32-vkd3d mingw32-vulkan-headers

for fedora

that should fix the aforementioned build issues

up to date guide for the Affinity Suite on Linux : https://affinity.liz.pet, source on codeberg and a gitlab mirror

Link to comment
Share on other sites

On 9/16/2024 at 7:26 AM, Astonish said:

EDIT: Managed to create the desktop files! I had to create them with the necessary flags manually, as when I was trying distrobox-export it was telling me that the app was not installed, but creating them manually on my host system worked like a charm!

Would you mind posting your .desktop files that you created?   Since we are both using Arch containers, other than your Home directory being named differently, the files would probably be good to go on my machine. 

Either that or if you could post the text from the .desktop files that would be great!  I tried to create them manually myself but have failed thus far.

Thanks!

Link to comment
Share on other sites

Hello @breathless19 ! Of course! Here's what I used:

[Desktop Entry]
Name=Affinity Photo
GenericName=Photo on Wine (on arch)
Comment=
Exec=/usr/bin/distrobox-enter  -n arch  --   rum affinity-photo3-wine9.13-part3 /home/garo/distrobox-home/arch/.wineAffinity wine '/home/garo/distrobox-home/arch/.wineAffinity/drive_c/Program Files/Affinity/Photo 2/Photo.exe' 
# Change the rum [version] and the [USER] paths to the right directory

Icon=/home/garo/.local/share/icons/affinity-photo.png
# Get any png or svg of the logo to add it here; To use your current icon-pack simply use the icon's name without the file extension, eg. 'affinity-publisher-2'

Categories=Graphics
# To be sorted with other Graphics software in your "start" menu

Keywords=Graphics;2DGraphics;RasterGraphics;VectorGraphics;image;editor;vector;drawing;
# Alternative keywords for app search

MimeType=application/x-affinity
# File type association

NoDisplay=false
StartupNotify=true
Terminal=false
Type=Application
StartupWMClass=photo.exe
# Change this to 'photo.exe' or 'designer.exe'; Makes sure the open application gets shown under the shortcut instead of creating a new dock-entry; To get an application's WMClass type 'xprop WM_CLASS' into your terminal and click on the window whose class you want to know

One of them I was able to create with the distrobox export command and the rest didn't work, so I copied and modified this file and created for Affinity Designer and Publisher as well! I hope that they work for you too!

Link to comment
Share on other sites

Just a reminder, you can move the stuff you compile in the distrobox to the main system and not worry about distrobox exports.

Since you are building in the same home folder, you can just use rum on the host system instead of in the distrobox.

Should simplify the desktop files and running it.

Link to comment
Share on other sites

Hello @Daegalus ,

In my case, I used a seperate home folder for my distrobox container because since I am not very experienced with compiling..etc, I wanted to seperate everything completely so that if i mess something, I know which folders to delete (well, basicly the container home folder). :)

Link to comment
Share on other sites

10 minutes ago, Astonish said:

Hello @Daegalus ,

In my case, I used a seperate home folder for my distrobox container because since I am not very experienced with compiling..etc, I wanted to seperate everything completely so that if i mess something, I know which folders to delete (well, basicly the container home folder). :)

You can still move it if you want.

I think the root drive is mount somewhere under /mnt in the distrobox.

Link to comment
Share on other sites

15 hours ago, Astonish said:

Hello @breathless19 ! Of course! Here's what I used:

[Desktop Entry]
Name=Affinity Photo
GenericName=Photo on Wine (on arch)
Comment=
Exec=/usr/bin/distrobox-enter  -n arch  --   rum affinity-photo3-wine9.13-part3 /home/garo/distrobox-home/arch/.wineAffinity wine '/home/garo/distrobox-home/arch/.wineAffinity/drive_c/Program Files/Affinity/Photo 2/Photo.exe' 
# Change the rum [version] and the [USER] paths to the right directory

Icon=/home/garo/.local/share/icons/affinity-photo.png
# Get any png or svg of the logo to add it here; To use your current icon-pack simply use the icon's name without the file extension, eg. 'affinity-publisher-2'

Categories=Graphics
# To be sorted with other Graphics software in your "start" menu

Keywords=Graphics;2DGraphics;RasterGraphics;VectorGraphics;image;editor;vector;drawing;
# Alternative keywords for app search

MimeType=application/x-affinity
# File type association

NoDisplay=false
StartupNotify=true
Terminal=false
Type=Application
StartupWMClass=photo.exe
# Change this to 'photo.exe' or 'designer.exe'; Makes sure the open application gets shown under the shortcut instead of creating a new dock-entry; To get an application's WMClass type 'xprop WM_CLASS' into your terminal and click on the window whose class you want to know

One of them I was able to create with the distrobox export command and the rest didn't work, so I copied and modified this file and created for Affinity Designer and Publisher as well! I hope that they work for you too!

 

Thanks!   I needed your file!  I tried my best and mine looked almost identical to yours except I needed to add "sudo" before rum, and my "home" was formatted differently ($HOME).    Even after changing those things manually however, it STILL wouldn't work for reasons I can't explain (every line looked identical) until I just overwrote all the text in my file with yours and made the relevant adjustments.   Boom, good to go after that. 

I messed around with the DPI setting in winecfg and it helped make the fonts look more pleasing to the eye when the DPI is set higher.  Midway points between the suggested DPI intervals don't look right (as would be expected).   

I've tried adding --maximize or --full-screen to the end of the Exec line hoping to make it start full screen and neither work.   I see that there is a section called "Rearranging Panels" in the guide that aims to help with this, but in my case the whole "virtual desktop" thing made everything seem less native, so I'm happy with manually having to maximize the windows for now :)  

Thanks for your hard work everyone! 

Edited by breathless19
Link to comment
Share on other sites

Hello I've followed the steps in the Affinity Wine Documentation through distrobox with a fedora 40 container, but I received this error upon entering "rum affinity-photo3-wine9.13-part3 $HOME/.wineAffinity wineboot --init"

Rumming /opt/wines/affinity-photo3-wine9.13-part3 (wine-7.9-15231-ga7c9b19e1a2) in: /home/scythro/.wineAffinity
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
015c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00006FFFF9E725B7, 28) stub
015c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00006FFFF9AECDE4, 28) stub
0170:err:environ:init_peb starting L"C:\\windows\\syswow64\\rundll32.exe" in experimental wow64 mode
0170:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0170:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 77323241, 28) stub
0178:err:environ:init_peb starting L"C:\\windows\\syswow64\\winebrowser.exe" in experimental wow64 mode
0180:err:environ:init_peb starting L"C:\\windows\\syswow64\\winebrowser.exe" in experimental wow64 mode
0188:err:environ:init_peb starting L"C:\\windows\\syswow64\\iexplore.exe" in experimental wow64 mode
0198:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
[scythro@WowfPC winewow64-build]$ 01b4:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"Eventlog" failed to start: 1053
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 1115

Host Distro is EndeavourOS

Link to comment
Share on other sites

19 hours ago, Scythro said:

Hello I've followed the steps in the Affinity Wine Documentation through distrobox with a fedora 40 container, but I received this error upon entering "rum affinity-photo3-wine9.13-part3 $HOME/.wineAffinity wineboot --init"

Host Distro is EndeavourOS

try to proceed with the rest, wine will spit out a lot of logs, not all of them mean something broke (the fixmes for exemple should not cause issue)

up to date guide for the Affinity Suite on Linux : https://affinity.liz.pet, source on codeberg and a gitlab mirror

Link to comment
Share on other sites

20 hours ago, Scythro said:

Hello I've followed the steps in the Affinity Wine Documentation through distrobox with a fedora 40 container, but I received this error upon entering "rum affinity-photo3-wine9.13-part3 $HOME/.wineAffinity wineboot --init"

Rumming /opt/wines/affinity-photo3-wine9.13-part3 (wine-7.9-15231-ga7c9b19e1a2) in: /home/scythro/.wineAffinity
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
0090:fixme:wineusb:query_id Unhandled ID query type 0x5.
015c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00006FFFF9E725B7, 28) stub
015c:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 00006FFFF9AECDE4, 28) stub
0170:err:environ:init_peb starting L"C:\\windows\\syswow64\\rundll32.exe" in experimental wow64 mode
0170:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0170:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 77323241, 28) stub
0178:err:environ:init_peb starting L"C:\\windows\\syswow64\\winebrowser.exe" in experimental wow64 mode
0180:err:environ:init_peb starting L"C:\\windows\\syswow64\\winebrowser.exe" in experimental wow64 mode
0188:err:environ:init_peb starting L"C:\\windows\\syswow64\\iexplore.exe" in experimental wow64 mode
0198:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
[scythro@WowfPC winewow64-build]$ 01b4:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"Eventlog" failed to start: 1053
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 1115
01a8:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 1115

Host Distro is EndeavourOS

I also tried first with a Fedora 40 container and ran into a lot of issues.   I then tried in an Arch container instead, ran into the exact issues that Astonish did in the Arch container, and was able to get around all of them easily and get it running. 

Link to comment
Share on other sites

I've tried this multiple times. A few months ago I've got it to work no problem on Kubuntu 22.04 but now on Fedora 41 I've not been so lucky. It's missing packages for compiling the 32bit version of Wine as mentioned in this guide.

When using the podman way of building wine, it compiles. But I've found a guide for it to run it inside Bottles and then it complains about missing a certain DLL file relating to .NET framework. Even after installing all of them.

So right now I don't know what to do.

Link to comment
Share on other sites

46 minutes ago, Winduss said:

I've tried this multiple times. A few months ago I've got it to work no problem on Kubuntu 22.04 but now on Fedora 41 I've not been so lucky. It's missing packages for compiling the 32bit version of Wine as mentioned in this guide.

When using the podman way of building wine, it compiles. But I've found a guide for it to run it inside Bottles and then it complains about missing a certain DLL file relating to .NET framework. Even after installing all of them.

So right now I don't know what to do.

You shouldn't need to compile 32bit stuff. Of you use the WoW64 configuration it's all 64bit

Link to comment
Share on other sites

3 hours ago, Daegalus said:

it's all 64bit

some stuff about the installers are still 32bits, the guide wouldn't tell you to compile it using wow64 if it wasn't the case

3 hours ago, Winduss said:

But I've found a guide for it to run it inside Bottles and then it complains about missing a certain DLL file relating to .NET framework. Even after installing all of them.

bottles easily temper too much with it's wineprefixes, this is part of the reason why i went with rum

up to date guide for the Affinity Suite on Linux : https://affinity.liz.pet, source on codeberg and a gitlab mirror

Link to comment
Share on other sites

Just managed to successfully install and use Designer and Photo following @Wanesty's guide! Thanks so much, it works great! I'm using Fedora 40.

Some things I had to mess with to get everything installed correctly (in case this is useful to anyone else)

1) I had some weird dependency stuff going on with librsvg2, so I had to remove librsvg2 and librsvg2-devel from the big dnf install for dependencies listed in the guide, and install librsvg2-devel by itself (without librsvg2), separately, after everything else. That seemed to sort the dependency issue. Feels like this might well have been a quirk specific to my machine.

2) I had the andale32.exe error reported in this thread while installing corefonts. Some googling suggested that the package downloaded by winetricks is broken. I resolved this by downloading the font installers directly from a github repo and placing them into the winetricks cache, as suggested in this github issue.

3) I had to use various combinations of --force and --unattended to get dotnet48 to install. I think I essentially ended up doing the install / repair / remove cycle with --force, then install again with --unattended, as described by @Peter Werner and others in this thread.

The software engineer in me really wants to figure out what's going with the install / repair / remove / install cycle for dotnet48 installation and cut this process down, since it takes ages and feels inefficient. My hunch is that there's some files that don't get cleaned up completely somewhere during this cycle, and they happen to be the ones that are actually needed to make the installation work. I'm pretty sure I saw some lines scroll by in the console which did an rm on mscoree.dll, and the errors I was getting when trying to run the installers said this dll was missing, so I'd probably start by looking through the winetricks scripts and seeing what happens with that specific dll file during installation. Also figure out what w_override_dlls native mscoree means. I feel like there's sufficient clues there, but I don't understand enough about Wine / Winetricks to get to the bottom of it. Yet. 🤪

4) I have a HiDPI screen so to make the UI for Affinity apps usable I had to use winecfg to change the font DPI to 192 e.g
 

Quote

 $ rum affinity-photo3-wine9.13-part3 $HOME/.wineAffinity winecfg
 


Thanks again! I'm surprised by how well this works, once it's working! I'm going to try the performance patches for rendering mentioned a couple of pages ago in this thread soon, once I have the energy / inclination to fiddle around with fiddly stuff again :D

Link to comment
Share on other sites

Hi everybody!

I tried to follow the guide but there were some problems at the end.

Now at every startup of my Ubuntu Budgies I have a crash :

ls -l /var/crash
total 28760
-rw-r----- 1 root whoopsie 29011804 oct.   1 21:14 _opt_wines_affinity-photo3-wine9.13-part3_bin_wine-preloader.0.crash
-rw-r----- 1 root whoopsie   435893 oct.   2 16:08 _usr_lib_xorg_Xorg.0.crash

And when I try to launch Affinity Designer an other crash :
 

rum affinity-photo3-wine9.13-part3 $HOME/.wineAffinity wine "$HOME/.wineAffinity/drive_c/Program Files/Affinity/Publisher 2/Publisher.exe"
Rumming /opt/wines/affinity-photo3-wine9.13-part3 (wine-7.9-15231-ga7c9b19e1a2) in: /home/mael/.wineAffinity
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
007c:fixme:wineusb:query_id Unhandled ID query type 0x5.
007c:fixme:wineusb:query_id Unhandled ID query type 0x5.
007c:fixme:wineusb:query_id Unhandled ID query type 0x5.
0024:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.8" not implemented
0024:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.8" not implemented
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0024:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
* Assertion at /var/hostdir/mono/mono/metadata/object.c:4677, condition `is_ok (error)' not met, function:prepare_run_main, Could not set up parent class, due to: Could not load type of field 'Serif.Affinity.Application:<CurrentMicrosoftStorePrices>k__BackingField' (19) due to: Could not load file or assembly 'Windows.Services.Store.StoreContract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. assembly:C:\Program Files\Affinity\Publisher 2\Serif.Affinity.dll type:Application member:(null) assembly:C:\Program Files\Affinity\Publisher 2\Publisher.exe type:Application member:(null)

0024:err:mscoree:expect_no_runtimes Process exited with a Mono runtime loaded

 

Edited by bmael
Link to comment
Share on other sites

21 hours ago, prehensile said:

1) I had some weird dependency stuff going on with librsvg2, so I had to remove librsvg2 and librsvg2-devel from the big dnf install for dependencies listed in the guide, and install librsvg2-devel by itself (without librsvg2), separately, after everything else. That seemed to sort the dependency issue. Feels like this might well have been a quirk specific to my machine.

are you on openSUSE or Fedora?
i'd also need to try distrobox since i've mostly been relying on you guys in this topic for feedback on other distros

22 hours ago, prehensile said:

3) I had to use various combinations of --force and --unattended to get dotnet48 to install. I think I essentially ended up doing the install / repair / remove cycle with --force, then install again with --unattended, as described by @Peter Werner and others in this thread.

i'd guess it to be wine-mono related but i've never encountered this issue on Arch

22 hours ago, prehensile said:

Also figure out what w_override_dlls native mscoree means.

wine has two way of getting the dlls: from your wineprefix/exec directory(it calls it native) and the ones installed in your wine build/by your package manager(builtin)
you should read the DLL override explanation in wine's user guide

10 hours ago, bmael said:
0024:err:mscoree:expect_no_runtimes Process exited with a Mono runtime loaded

i'd assume dotnet48 did not install correctly (once installed properly, dotnet will completely replace mono)

up to date guide for the Affinity Suite on Linux : https://affinity.liz.pet, source on codeberg and a gitlab mirror

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.