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

Affinity Suite v2.0.4 on linux [ Wine ]


Wanesty

Recommended Posts

On 3/1/2024 at 1:52 AM, PancakeWizard said:

Has anyone bit the bullet and tried to upgrade to 2.4 yet to see if this still works without a reinstall? I haven't dared, yet.

I have just gone through this guide for the first time, and used 2.4.0 as the installer.

From a 2 second glance, it looks like it's working.

I was able to launch 2.4, sign in and saved a blank file without issue.

As for anything further - I haven't had a chance to look into it. So if there were specific functions that may or may not have worked from earlier versions those may still be the case. So take this with grain of salt.

Link to comment
Share on other sites

I've installed Photo 2.4.0 on PopOS 22.04 successfully following the guide.
I've had to force install dotnet and fonts
 

rum ElementalWarrior-8.14 $HOME/.wineAffinity winetricks --force dotnet48 corefonts 

and switch to gl for renderer to avoid glitches.

Only issue I'm having now is that any preferences I set are not being saved,  the next time I start Photo again, It's back to defaults. Anyone has that working ?

Link to comment
Share on other sites

So thank you, @Wanesty and @ElementalWarrior, I was able to get Photo 2.3 running on Manjaro Linux (in a VM).  I figured Manjaro would be a good a choice since it's Arch-based and up-to-date.  Some screenshots here: https://imgur.com/gallery/G6gtzlJ

A little "trip report": is it usable? I'd say no, not really.  I tried Vulkan and OpenGL, and they both had (different) UI issues.  Some issues with focus (had to tab to change the Gaussian blur values).  It's too bad that I can run games like Elden Ring really well through Steam, but not Affinity Photo.  I wish that Serif would do a little work to make their products just a *teensy* bit more compatible with Linux.  They don't even have to mention it in the patch notes or tell anyone!  Wouldn't it be great if v2.5 (or 3.0?!) just magically worked on Linux.

Link to comment
Share on other sites

6 hours ago, bendangelo said:

For anyone wondering Affinity Designer / Photo v1 works fine in linux. The only issue is the canvas flashes due to a refresh bug, but it's totally usable.

When you say it flashes, like what constantly or every time you move the cursor over it or just once in a blue moon?

Link to comment
Share on other sites

13 hours ago, bendangelo said:

For anyone wondering Affinity Designer / Photo v1 works fine in linux. The only issue is the canvas flashes due to a refresh bug, but it's totally usable.

That reminds me, if anyone who bought version 1 and needs to get it again, e.g. because of a change in computer, then details of how to get the Affinity 1 products are shown below:

I have no idea if the Affinity 2 range works this way and if there are even more problems with it.

Link to comment
Share on other sites

On 6/26/2023 at 3:12 PM, Grunt said:

Guys, seriously? What the hell? I can't watch this anymore. Here are extracted repo patches:

Wine-git_patches.tar.xz 9.15 kB · 48 downloads

Clone standard Wine mainline repository, apply patches (git am or git apply), build wine and proceed as usual. I myself have here wine 8.10 from Git working just fine. There is no need for:

  • Containers
  • rum, bottles,idkwhatsandbox
  • technically not even winetricks if you know how to install dotNET4.8

Keep it as simple and vanilla as possible. There is no trick. And preferably use you distribution method for creating binary packages (patches can be applied almost to anything) or simply follow Building Wine guide. Don't use containers.

My previous intention was to create binary packages for Ubuntu (and clones) but i just grew aggravated (by Ubuntu) more and more. I can't bear Ubuntu. Not anymore.

So, I decided to switch this task on Debian (I guess it's your lucky day). Right know I'm facing some issues and I don't have enough time, but my intention is to create packages for Debian and run Affinity and Wine on Debian. Wish me luck.

Hi guys, could someone please give me a hand? I've been trying to use patches on Wine 9.4, but unfortunately, they don't seem to be compatible or I didn't use them correctly. I couldn't compile a working Wine 9.

Using the guide you provided @Wanesty at https://codeberg.org/wanesty/affinity-wine-docs, with render=vulkan it works really well for me, however, DXVK loads under d3d9x for me, it detects my GPU 4070 but doesn't allow me to use OpenCL.

I've tried several things like spoofing with dxvk.conf, but I don't quite understand how it behaves, it's very different from games.

I want to ask you guys, does anyone know if it's already possible to use OpenCL? Either by using a new version of Wine with patches or something else?

Could someone help me out? I use Arch Linux and my video card uses proprietary drivers, it's a 4070.

I've tried reading almost all the threads in this forum. My English isn't that good, and I'm not very sure about things. I would appreciate it if you could guide me a little. I'd like to make the most of my GPU with DXVK properly configured.

I have a small project, and despite having a 14th gen i5 processor, I'm starting to feel the workflow slowing down

Link to comment
Share on other sites

9 hours ago, junklont said:

Hi guys, could someone please give me a hand? I've been trying to use patches on Wine 9.4, but unfortunately, they don't seem to be compatible or I didn't use them correctly. I couldn't compile a working Wine 9.

Using the guide you provided @Wanesty at https://codeberg.org/wanesty/affinity-wine-docs, with render=vulkan it works really well for me, however, DXVK loads under d3d9x for me, it detects my GPU 4070 but doesn't allow me to use OpenCL.

I've tried several things like spoofing with dxvk.conf, but I don't quite understand how it behaves, it's very different from games.

I want to ask you guys, does anyone know if it's already possible to use OpenCL? Either by using a new version of Wine with patches or something else?

Could someone help me out? I use Arch Linux and my video card uses proprietary drivers, it's a 4070.

I've tried reading almost all the threads in this forum. My English isn't that good, and I'm not very sure about things. I would appreciate it if you could guide me a little. I'd like to make the most of my GPU with DXVK properly configured.

I have a small project, and despite having a 14th gen i5 processor, I'm starting to feel the workflow slowing down

Hello, did you experienced any low performance issue under wine8 with Vulkan? Such as slow moving pen or slow at dragging any items.

I have tried complie with wine9.4, it doesn't work since the branch of ElementalWarrior-wine is not merge to 9.x yet. I dont know too much with wine, sorry i cant help.

Link to comment
Share on other sites

15 hours ago, junklont said:

Using the guide you provided @Wanesty at https://codeberg.org/wanesty/affinity-wine-docs, with render=vulkan it works really well for me, however, DXVK loads under d3d9x for me, it detects my GPU 4070 but doesn't allow me to use OpenCL.

if it's not allowing you to enable it from the settings then it's likely what i theorized before:

Wine does not come with windows-like GPU drivers, it only translates the application calls to the corresponding Linux drivers.
So, the check affinity does to enable OpenCL is likely a GPU driver call, and since those are missing, it simply fallback to not allowing you to enable it

 

also so you get a better idea, the UI is likely using some flavor of Windows Presentation Foundation libraries, and those are using DX9

so we can guess that the UI is using DX9 while the canvas and filters might be using a latter version of DirectX

up to date guide for the Affinity Suite on Linux :  codeberg.org/affinity-wine-docs

Link to comment
Share on other sites

13 hours ago, LilJ said:

Hello, did you experienced any low performance issue under wine8 with Vulkan? Such as slow moving pen or slow at dragging any items.

I have tried complie with wine9.4, it doesn't work since the branch of ElementalWarrior-wine is not merge to 9.x yet. I dont know too much with wine, sorry i cant help.

Yes I have been having trouble with affinity, visual gliches on deform layers, or slow, laggy in proyects with many layers.

7 hours ago, Wanesty said:

if it's not allowing you to enable it from the settings then it's likely what i theorized before:

Wine does not come with windows-like GPU drivers, it only translates the application calls to the corresponding Linux drivers.
So, the check affinity does to enable OpenCL is likely a GPU driver call, and since those are missing, it simply fallback to not allowing you to enable it

 

also so you get a better idea, the UI is likely using some flavor of Windows Presentation Foundation libraries, and those are using DX9

so we can guess that the UI is using DX9 while the canvas and filters might be using a latter version of DirectX

Ohh understand, I have question bro, Normally in wine buils for games, like proton GE or proton buiilds the DXVK is saved in Proton-wine-example/wine-install/lib/wine/dxvk
but in the ElementalWarrior-wine/wine-install/lib/wine/ it dont exits, where it have the binaries of DXVK?

The other question is related to dxvk cache file that usually is in the same folder that .exe file, it should stay in Designer.exe in my case with affinity designer but it never appear and neither loads my dxvk.conf, still when try set as env variable not work, only can see the hud information if I use it as ENV variable, but if set dxvk.hud = 'full' in the dxvk.conf it never loads.

Could the affinity runs in a virtual machine using the openCL ? without use single passtrought gpu?

thank you very much for all your work !!!

Link to comment
Share on other sites

I'm having a weird issue, I've gone to the Repo and followed the steps and, earlier, it was working fine albeit Affinity Photo was crashing when trying to open some menus and such so I tried to make sure everything had installed correctly, even wiping the prefix, as I'd followed a previous post here before realising it was outdated.

Now, on a fresh prefix, I'm getting this error. I'm not sure if anyone's come across it. I've successfully installed v2.4.0 but, on launch, it crashes with this error.

 

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Windows.Services.Store.StoreContract, Version=4.0.0.0, Culture=neut
ral, PublicKeyToken=null, ContentType=WindowsRuntime' or one of its dependencies. Path not found.
   at Serif.Affinity.Application.OnServicesInitialised(IServiceProvider serviceProvider)
   at Serif.Interop.Persona.Application.OnStartup(StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at Photo.Application.Main(String[] args)

 

Link to comment
Share on other sites

On 3/6/2024 at 8:28 PM, psylenced said:

I have just gone through this guide for the first time, and used 2.4.0 as the installer.

From a 2 second glance, it looks like it's working.

I was able to launch 2.4, sign in and saved a blank file without issue.

As for anything further - I haven't had a chance to look into it. So if there were specific functions that may or may not have worked from earlier versions those may still be the case. So take this with grain of salt.

For anyone interest, the current ElementalWarrior-wine 8.x works with both 2.4 and 1.10.

But 1.10 is better. Less flicking(only when open the menu or any popup panels), no issue when saving files, running stable at openGL.

2.4 in openGL is flicking a lot, random crached in 5-10 minutes, crashed when save files(file will be save successfully thought).

Both 1.10 and 2.4 seems fine at vulkan but the performance is terrible.

Hope the wine 9.x will save it.

Link to comment
Share on other sites

  • 4 weeks later...
On 3/6/2024 at 12:16 PM, Kubo said:

Only issue I'm having now is that any preferences I set are not being saved,  the next time I start Photo again, It's back to defaults. Anyone has that working ?

Yup, I have reproduced this as well. I have filed a bug here: https://codeberg.org/wanesty/affinity-wine-docs/issues/11

On my AMD graphics machine I have found vulkan more reliable but laggier, and on my Intel integrated graphics machine I have found OpenGL to be more reliable.

I am using Affinity Designer 2.3.0 and the setup is currently using ElementalWarrior wine 8.14, but I see from above that it may be worth rebasing the patch set on newer Wine, which I might do and dump into a Git repo somewhere. I might do that and move the setup to use it if I have energy to invest in this later.

Also, for those who find Nix things pleasing to use, there is a practically one-line, reproducible, setup I've written for @Wanesty's guide here, that will build Wine for you as appropriate and do the wineprefix stuff for you pleasantly: https://github.com/lf-/affinity-crimes

Link to comment
Share on other sites

Hello all,

Thanks to this thread I've been able to get 2.x running on Linux Mint, but the flickering is driving me insane. Unfortunately when I attempt to run 1.x I get the following error:
 

Has anyone figured this one? Do I need a new wine environment?

Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This 
is often an indication that other memory is corrupt.
   at Raster.Hardware<Raster::DefaultImplementation>.GetHardwarePossible()
   at Serif.Interop.Persona.Settings.PerformanceSettings.get_CanUseHardwareAcceleration()
   at Serif.Interop.Persona.Settings.PerformanceSettings.get_UseHardwareAcceleration()
   at Serif.Interop.Persona.Services.InteropService.Initialise()
   at Serif.Interop.Persona.Application.OnServicesInitialised(IServiceProvider serviceProvider)
   at Serif.Affinity.Application.OnServicesInitialised(IServiceProvider serviceProvider)
   at Serif.Interop.Persona.Application.OnStartup(StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 n
umArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object ar
gs, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback c
allback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback,
 Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback,
 Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionConte
xt, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lPar
am, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handle
d)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 n
umArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object ar
gs, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout
, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at Photo.Application.Main(String[] args)

 

Link to comment
Share on other sites

  • 3 weeks later...
On 9/15/2023 at 5:52 PM, Wanesty said:

ahah no,

exporting to anything but vector format crashes all three affinity software, save, export, and if it stays stuck on a frozen state, kill wine with the command listed on the tips and fixes page

it's kind of a pain ngl but as i said a few times, i sadly can not recommend using affinity on linux if you're using the affinity suite intensely, for professal work purposes.
it is usable for most of it's usecases, but far from flawless..

I was able to fix "Export" bug by installing "vcrun2015" package with winetricks.
Now saving files as jpg, png and all other formats works flawlessly.

My local example:
`rum ElementalWarrior-8.14 $HOME/.wineAffinity winetricks vcrun2015`

Link to comment
Share on other sites

I tried this and while it does mean there's no crash while exporting to png now, a whole bunch of errors of missing dlls were reported when running this command, and now every time Affinity boots up there's a wine debugger program error window, so living with the crash export (which still does export the file), might be the lesser of two evils atm.

Link to comment
Share on other sites

7 hours ago, Volodymyr said:

I was able to fix "Export" bug by installing "vcrun2015" package with winetricks.
Now saving files as jpg, png and all other formats works flawlessly.

successfully reproduced this and i was able to export to every different format without freeze/crash

 

21 minutes ago, PancakeWizard said:

now every time Affinity boots up there's a wine debugger program error window, so living with the crash export (which still does export the file), might be the lesser of two evils atm.

does not happened during my quick tests, so i made a modification to the winetricks line of the guide, if more people have this issue i will add a warning next to it

up to date guide for the Affinity Suite on Linux :  codeberg.org/affinity-wine-docs

Link to comment
Share on other sites

Have you installed exactly "vcrun2015" version? Never versions of this package like "vcrun2019, vcrun2022" doesn't work for me as well
If "vcrun2015" doesn't work for you could you try to use any of the following packages:
"vcrun2012, vcrun2013".
And what the windows version set in "wincfg"?
If none of them works it's better to create new wine prefix or search and debug problems with vcrun2015 specifically.
 

Link to comment
Share on other sites

Ok, I got it working without the crash report window. Looks like my winecfg was on XP for some reason (so I've been using Affinity 2 this whole time in an XP environment). the crash report window has gone now that i set it to win11. However, there's still very much a bunch of missing dlls reported when installing vcrun2015.

I suspect this might have to do with microsoft no longer hosting the dlls where winetricks is expecting to find them, but I could be wrong. Thankfully it doesn't seem to be effecting Affinity.

screenshot.png

Link to comment
Share on other sites

I've been using Linux full time for the past two weeks, so I've been keeping up with this thread.  With these latest updates (not crashing on save, etc), how is the overall experience?  Right now I have a Windows 10 VM running on VMWare Workstation JUST so that I can use affinity photo (it works surprisingly well).

Does running on Wine still have graphical glitches?

Edited by AffinityFan420
Link to comment
Share on other sites

This is amazing work! I was using Affinity V1 on my MacBook and iPad, but switched to a PC a few years back running Linux only. Was checking the forum once every year or so and after seeing this I decided to finally buy V2 and it's working well enough for my needs. I do hope that it will come to a point when Linux release will be downloadable (even bundled with Wine, as some other companies do).
@Wanesty you should be paid for your great work :)

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.