Catalina and the future of Wine on Mac

Questions about Wine on macOS.
Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Mon Nov 18, 2019 12:36 pm

nagybal wrote:
Mon Nov 18, 2019 11:19 am
They act like this move from Apple was a surprise. They are letting a whole community down for years? What is happening???
macOS Mojave wasn’t originally going to run 32Bit code but Apple changed there mind and extended support it’s possible they could have done so again for macOS Catalina, hell its possible to enable 32Bit code execution on Catalina but the system missing 32Bit dylibs/drivers etc is an issue.

If you really want to help speed up the process then you know what to do right?
Go download Xcode and build a development environment and get coding. Help get more components of wine to compile as PE instead of ELF, don’t forget to write/update the tests.

Can’t code? still setup the above but compile wine from head as often as possible and report compilation issues. Do regression reports showing the commit that caused the breakage it gets much faster if you take the time to do this and verify the patch the developer makes in response resolves the issue.

To make things simple use my Port file overlay found here https://github.com/Gcenx/macports-wine-devel not had change to upgrade those to Wine-4.20 yet but I haven’t heard any issue with Wine-4.20 from my contact.


If those don’t work for you then the last option is become an CrossOver ADVOCATE for CodeWeavers and test each CrossOver Beta release submitting bug reports on as many applications/games as possible.

The_SamminAter
Level 2
Level 2
Posts: 45
Joined: Sun Sep 09, 2018 6:16 pm
Location: Earth

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter » Tue Nov 19, 2019 12:49 pm

It seems that CrossOver 19 beta has been released for macOS. Does anyone know if they have figured out a workaround yet, and if that workaround can be effectively implemented in Wine?

Thanks for working on this!

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Tue Nov 19, 2019 1:15 pm

The_SamminAter wrote:
Tue Nov 19, 2019 12:49 pm
It seems that CrossOver 19 beta has been released for macOS. Does anyone know if they have figured out a workaround yet, and if that workaround can be effectively implemented in Wine?

Thanks for working on this!
What do you mean “workaround”? CrossOver19 runs 32Bit binaries on Catalina.

As for getting it into Winehq wine that won’t happen until maybe Wine-6.0, Wine-5.0 is too close plus CrossOvers solution is considered a hack since it requires custom version of llvm/clang and possibly also mingw-clang built using the custom clang.

This information was already posted by dimesio

The_SamminAter
Level 2
Level 2
Posts: 45
Joined: Sun Sep 09, 2018 6:16 pm
Location: Earth

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter » Tue Nov 19, 2019 1:26 pm

Sorry, my bad.

I think by workaround I meant being able to run 32Bit binaries on Catalina.
Also, I wasn't sure whether CrossOver 19 was able to do that, as I'm not running Catalina on any device, which is why I was asking whether it could.
I'm not sure what I'm saying is making much sense, I'm a bit confused right now.
Also, I unfortunately missed that pages two and three existed, as my web browser has had this page open for a couple of months. I apologize, that's my fault.

User avatar
DarkShadow44
Level 7
Level 7
Posts: 943
Joined: Tue Nov 22, 2016 5:39 pm

Re: Catalina and the future of Wine on Mac

Post by DarkShadow44 » Tue Nov 19, 2019 1:30 pm

Gcenx wrote:
Mon Nov 18, 2019 12:36 pm
macOS Mojave wasn’t originally going to run 32Bit code but Apple changed there mind and extended support it’s possible they could have done so again for macOS Catalina, hell its possible to enable 32Bit code execution on Catalina but the system missing 32Bit dylibs/drivers etc is an issue.
Wait, you can enable 32Bit code execution on Catalina? Is that how CrossOver does it? Or are they using Hypervisor.framework?

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Tue Nov 19, 2019 1:55 pm

DarkShadow44 wrote:
Tue Nov 19, 2019 1:30 pm
Wait, you can enable 32Bit code execution on Catalina? Is that how CrossOver does it? Or are they using Hypervisor.framework?
Yeah the 32Bit code execution is just set as disabled by default rebooting into recovery mode it’s possible to enable it again.

No CrossOver19 doesn’t use the 32Bit code execution. It would require them to provide all 32Bit dylibs that are patched making it illegal to redistribute.

CrossOver19 provides an additional wine32on64 that was built using the custom llvm/clang that cdavis was working on (maybe also mingw-clang built using said clang) the one with built in trunking from 32>64.
It also has two “winewrapper.exe” files within wow64 and system32 lightly also part of this.

And no I don’t believe it’s using hypervisor.framework but I can check the processes later to be sure it’s not using that in the background.

The_SamminAter
Level 2
Level 2
Posts: 45
Joined: Sun Sep 09, 2018 6:16 pm
Location: Earth

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter » Tue Nov 19, 2019 2:06 pm

Gcenx wrote:
Tue Nov 19, 2019 1:55 pm
Yeah the 32Bit code execution is just set as disabled by default rebooting into recovery mode it’s possible to enable it again.
This means that it can just be enabled, and then Wine can run 32Bit programs again, right? How can I do this?

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Tue Nov 19, 2019 2:39 pm

The_SamminAter wrote:
Tue Nov 19, 2019 2:06 pm
This means that it can just be enabled, and then Wine can run 32Bit programs again, right? How can I do this?
Please read my entire response, that’s not how it would work. Enabling 32Bit code execution won’t do anything without also providing all required 32Bit dylibs that would need to also be patched using otool as well as other “fun” things to make it even work.

User avatar
DarkShadow44
Level 7
Level 7
Posts: 943
Joined: Tue Nov 22, 2016 5:39 pm

Re: Catalina and the future of Wine on Mac

Post by DarkShadow44 » Tue Nov 19, 2019 2:41 pm

Gcenx wrote:
Tue Nov 19, 2019 1:55 pm
No CrossOver19 doesn’t use the 32Bit code execution. It would require them to provide all 32Bit dylibs that are patched making it illegal to redistribute.
No... That's not how it works. To run 32bit windows binaries, one needs to be able to execute 32Bit code. And then one needs either the 32bit dependencies or thunking to the 64bit dependencies. So either they use 32Bit native Code, or Emulation, or hypervisor.framework.
Gcenx wrote:
Tue Nov 19, 2019 1:55 pm
And no I don’t believe it’s using hypervisor.framework but I can check the processes later to be sure it’s not using that in the background.
Not sure if it would be a separate process though, never worked with it.

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Tue Nov 19, 2019 3:20 pm

DarkShadow44 wrote:
Tue Nov 19, 2019 2:41 pm
No... That's not how it works. To run 32bit windows binaries, one needs to be able to execute 32Bit code. And then one needs either the 32bit dependencies or thunking to the 64bit dependencies. So either they use 32Bit native Code, or Emulation, or hypervisor.framework.
CrossOver19 is running 32Bit binaries within a 64Bit process using wine32on64.

It’s trunking 32Bit to 64Bit as I’d said before

When I said it’s not using 32Bit code execution I mean exactly that, no requirement to reboot your Mac and enable 32Bit code execution as that would be a required to step to make CrossOver19 on macOS Catalina if that were the case and Catalina is also missing 32Bit system dylibs/binaries/drivers.
DarkShadow44 wrote:
Tue Nov 19, 2019 2:41 pm
Not sure if it would be a separate process though, never worked with it.
I don’t think it’s touching hypervisor.framework or it would also function on macOS Mojave not Catalina only.

The_SamminAter
Level 2
Level 2
Posts: 45
Joined: Sun Sep 09, 2018 6:16 pm
Location: Earth

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter » Tue Nov 19, 2019 3:28 pm

Gcenx wrote:
Tue Nov 19, 2019 2:39 pm
The_SamminAter wrote:
Tue Nov 19, 2019 2:06 pm
This means that it can just be enabled, and then Wine can run 32Bit programs again, right? How can I do this?
Please read my entire response, that’s not how it would work. Enabling 32Bit code execution won’t do anything without also providing all required 32Bit dylibs that would need to also be patched using otool as well as other “fun” things to make it even work.
I understand that, but I like to mess with that type of thing occasionally, and would like to know how to enable 32Bit code execution on Catalina so that I can make a custom macOS Catalina build sometime.
Last edited by The_SamminAter on Tue Nov 19, 2019 3:37 pm, edited 1 time in total.

rjhancock
Level 1
Level 1
Posts: 9
Joined: Tue Sep 10, 2019 11:26 am

Re: Catalina and the future of Wine on Mac

Post by rjhancock » Tue Nov 19, 2019 3:31 pm

MacOS Catalina has 0 support for 32bit apps. There is no way to enable and run 32bit apps.

Apple removed all support.

What CodeWeavers is doing is basically translating all 32bit calls to 64bit and back again. If I’m understanding correctly.

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Tue Nov 19, 2019 3:37 pm

rjhancock wrote:
Tue Nov 19, 2019 3:31 pm
MacOS Catalina has 0 support for 32bit apps. There is no way to enable and run 32bit apps.

Apple removed all support.
That’s not true reboot your Mac holding CMD+R

Launch terminal and enter

Code: Select all

nvram boot-args=”no32exec=0″
Now you can launch 32Bit terminal applications, but you will lightly run into issues due to macOS Catalina lack of universal dylibs
rjhancock wrote:
Tue Nov 19, 2019 3:31 pm
What CodeWeavers is doing is basically translating all 32bit calls to 64bit and back again. If I’m understanding correctly.
They are trunking 32Bit to 64Bit and back again

User avatar
DarkShadow44
Level 7
Level 7
Posts: 943
Joined: Tue Nov 22, 2016 5:39 pm

Re: Catalina and the future of Wine on Mac

Post by DarkShadow44 » Wed Nov 20, 2019 1:53 pm

Gcenx wrote:
Tue Nov 19, 2019 3:20 pm
DarkShadow44 wrote:
Tue Nov 19, 2019 2:41 pm
No... That's not how it works. To run 32bit windows binaries, one needs to be able to execute 32Bit code. And then one needs either the 32bit dependencies or thunking to the 64bit dependencies. So either they use 32Bit native Code, or Emulation, or hypervisor.framework.
CrossOver19 is running 32Bit binaries within a 64Bit process using wine32on64.

It’s trunking 32Bit to 64Bit as I’d said before

When I said it’s not using 32Bit code execution I mean exactly that, no requirement to reboot your Mac and enable 32Bit code execution as that would be a required to step to make CrossOver19 on macOS Catalina if that were the case and Catalina is also missing 32Bit system dylibs/binaries/drivers.
But that can't work. Even with thunking, you either need kernel support for 32bit code or virtualization.. For running 32Bit code on the CPU, you need kernel support. It won't work without, a 32bit code segment, you could only execute 64bit code. How would it?

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Wed Nov 20, 2019 3:13 pm

DarkShadow44 wrote:
Wed Nov 20, 2019 1:53 pm
But that can't work. Even with thunking, you either need kernel support for 32bit code or virtualization.. For running 32Bit code on the CPU, you need kernel support. It won't work without, a 32bit code segment, you could only execute 64bit code. How would it?
I think we should me this to a private discussion I’m on Reddit using the same name same for discord

pkirll
Newbie
Newbie
Posts: 2
Joined: Mon Nov 25, 2019 12:21 pm

Re: Catalina and the future of Wine on Mac

Post by pkirll » Mon Nov 25, 2019 12:25 pm

rjhancock wrote:
Thu Nov 07, 2019 9:26 am
If a pure 64-bit app, it should run "fine" (I have 2 games I play now that run through Wine, but it still took several months after release before they did).
Fine, where can I download the latest Wine (64only) and how to run Far.exe ?

pkirll
Newbie
Newbie
Posts: 2
Joined: Mon Nov 25, 2019 12:21 pm

Re: Catalina and the future of Wine on Mac

Post by pkirll » Mon Nov 25, 2019 12:27 pm

What if I need only 64 apps ? Will Wine work fine on Catalina in this case ?
I really need Far File Manager (simple console app) on my Mac

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Tue Nov 26, 2019 9:24 am

If the application is really 64Bit then it’s possible to run it using wine64 on macOS Catalina but you will still need to provide 64Bit versions of libfreetype.6.dylib and libpng15.15.dylib for wine64 to function.

rmkk
Newbie
Newbie
Posts: 2
Joined: Tue Dec 03, 2019 5:24 am

Re: Catalina and the future of Wine on Mac

Post by rmkk » Tue Dec 03, 2019 5:41 am

Codewavers's approach seems to me more fair to users. Seems to fair to implement quick (and maybe dirty) workaround and then implement the final clean solution. Who can wait years for "nice code" when both do the same ?

Gcenx
Level 5
Level 5
Posts: 333
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx » Sat Dec 07, 2019 11:36 am

rmkk wrote:
Tue Dec 03, 2019 5:41 am
Codewavers's approach seems to me more fair to users. Seems to fair to implement quick (and maybe dirty) workaround and then implement the final clean solution. Who can wait years for "nice code" when both do the same ?
So your saying CodeWeavers (the company behind the wine project) should introduce macOS specific patches that could break wine on Linux/Unix/*nix just to get wine working on currently a single version of macOS?......
It will also require a custom version of llvm/clang (maybe compiled as a toolchain for Xcode) a 32Bit compatible development environment and at least two different macOS SDK’s.

That’s not a good idea considering not many macOS users even produce any bug reports or at least accurate ones.

The amount of macOS users who actually compile wine on macOS for macOS is relatively small.

Post Reply