I want to make software compatible with Wine. Any good tips?

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Post Reply
mark501
Newbie
Newbie
Posts: 2
Joined: Sat Jan 18, 2025 4:26 am

I want to make software compatible with Wine. Any good tips?

Post by mark501 »

Hello,

I have Windows software and I want to make it Wine compatible. I am googling for some good manual/tips but usually find answers like do you want to check if your software running under Wine? Don't do this, Wine if fully compatible. If not, report the problem and fix Wine bugs.
I do not agree. Even Windows is not 100% compatible with Windows :-)

For example our 32bit Windows software works Ok with Wine 3.6 but cannot even start on Wine 9. Errors, exceptions, and crash right on start.
64bit version of the same software works on Wine 9 but some code works very slowly. E.g. all forms with many controls opens very slowly.
So I assume there is some manuals with tip like - if some form with many controls should be used frequently, create it once and do not destroy so it can be opened again quickly. Then if we keep many windows with many controls, question about resource usage can arise. How many handles, user objects can handle Wine? Is there problem like too small Windows desktop heap buffer? It was a problem on old versions of Windows.

Looks like getaddrinfo() call with empty hostname takes 5 sec on Wine, but I have to confirm this.
and so on.

Regards
madewokherd
Level 4
Level 4
Posts: 147
Joined: Mon Jun 02, 2008 5:03 pm

Re: I want to make software compatible with Wine. Any good tips?

Post by madewokherd »

The resources for debugging Wine bugs are more geared towards Wine Developers than Application Developers. https://gitlab.winehq.org/wine/wine/-/wikis/Developers might be a good starting point
mark501
Newbie
Newbie
Posts: 2
Joined: Sat Jan 18, 2025 4:26 am

Re: I want to make software compatible with Wine. Any good tips?

Post by mark501 »

Thank you. I found this and much more tips and FAQs but it does not really helps in my case.
dacha
Level 1
Level 1
Posts: 9
Joined: Sun May 24, 2020 3:22 am

Re: I want to make software compatible with Wine. Any good tips?

Post by dacha »

Please report those errors, exceptions, slowness and crashes on Bugzilla.

You'll have to be more specific about those forms and controls. What kind of controls?

Resource limits: run the "ulimit -a" command to check. I really doubt that's the issue.

My own experience with getting some in-house CRM software to work on Wine was generally positive. It was a pretty large .NET Framework VB.NET application using DevExpress for controls, Active Directory, Sharepoint, MSSQL server, etc. There was no hope of using Mono. On early versions of Wine, I thought it would never work, there was so many errors and unimplemented functions, and some third party code was using undocumented NTDLL functions. But 5 years later, the only fixes it needed were a small patch to fix MSSQL access, and a few bug fixes for the MSSQL client library. It was fully functional on Wine, and only a little slower on some screens.
aschloegl
Level 2
Level 2
Posts: 13
Joined: Tue Mar 15, 2022 7:45 am

Re: I want to make software compatible with Wine. Any good tips?

Post by aschloegl »

mark501 wrote: Sat Jan 18, 2025 4:46 am
...
For example our 32bit Windows software works Ok with Wine 3.6 but cannot even start on Wine 9. Errors, exceptions, and crash right on start.
64bit version of the same software works on Wine 9 but some code works very slowly. E.g. all forms with many controls opens very slowly.
...

Could it be that you have only wine64 bit and not wine 32bt installed ? This comes down to the question how you installed wine. You should be aware of [1] saying

"64-bit Wine built without 32-bit support will not be able to run ANY 32-bit applications, which most Windows binaries are. Even many 64-bit programs still include 32-bit components!"

So I suggest to check first whether you have "Shared WoW64" supported on your platform. Using wine packages from some distros might not support this. Even on Debian-based systems, you need to enable multiarch [2,3].

[1] https://gitlab.winehq.org/wine/wine/-/w ... ared-wow64
[2] https://gitlab.winehq.org/wine/wine/-/w ... ian-Ubuntu
[3] https://wiki.debian.org/Wine
Post Reply