Catalina and the future of Wine on Mac

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

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 3
Level 3
Posts: 52
Joined: Sun Sep 09, 2018 6:16 pm

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 3
Level 3
Posts: 52
Joined: Sun Sep 09, 2018 6:16 pm

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter »

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 8
Level 8
Posts: 1207
Joined: Tue Nov 22, 2016 5:39 pm

Re: Catalina and the future of Wine on Mac

Post by DarkShadow44 »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 3
Level 3
Posts: 52
Joined: Sun Sep 09, 2018 6:16 pm

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 8
Level 8
Posts: 1207
Joined: Tue Nov 22, 2016 5:39 pm

Re: Catalina and the future of Wine on Mac

Post by DarkShadow44 »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 3
Level 3
Posts: 52
Joined: Sun Sep 09, 2018 6:16 pm

Re: Catalina and the future of Wine on Mac

Post by The_SamminAter »

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 »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 8
Level 8
Posts: 1207
Joined: Tue Nov 22, 2016 5:39 pm

Re: Catalina and the future of Wine on Mac

Post by DarkShadow44 »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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 »

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 »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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
Level 2
Level 2
Posts: 12
Joined: Tue Dec 03, 2019 5:24 am

Re: Catalina and the future of Wine on Mac

Post by rmkk »

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 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

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.
nascarjake
Newbie
Newbie
Posts: 1
Joined: Mon Dec 09, 2019 10:53 pm

Re: Catalina and the future of Wine on Mac

Post by nascarjake »

Just to chime in here - I develop desktop applications using Electron using macOS.
Many of us developers who develop mobile apps (i do that as well) are forced to use macOS because XCode (which is required to build iOS apps) is not available for windows or linux.
Theres quite a few people in the Electron community who are stuck like I am. Luckily I currently have an old macbook I havent updated yet. So i can limp along for a while, but its quite a pain and preventing much forward movement in the development process.

Currently the only solution is to create a VM specifically to build the windows version of any electron project on macOS Catalina.
Electron-packager used to run wine as part of the build process and required no extra installation or an entire OS install.

Electron is a great little platform. It had such a hard time in its early years. People picked on it for its performance and its size - I started using it in 2015 and through the years things have gotten better, to the point where now doing a google search on Electron brings up plenty of positive development stories and praise.
One of the great things about Electron is its accessibility and cross platform capability. Its hard to think that any Electron developer on macOS will need to install a VM and setup a mirrored project to be able to build it for windows.

Hope to see some solution.
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

Well today CrossOver19 released, so anyone who had to upgrade to macOS Catalina for some reason can purchase a license.

I’d experienced good results from all the items I’d tested during the beta.
David Bergland
Newbie
Newbie
Posts: 1
Joined: Thu Dec 12, 2019 11:13 am

Re: Catalina and the future of Wine on Mac

Post by David Bergland »

Hopefully Codeweavers will release their Catalina-compatible version of WINE to the WineHQ web site. I used the beta version of Crossover 19 and it worked great running my 32-bit Windows application on Catalina. Congratulations to them on an amazing accomplishment!
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Catalina and the future of Wine on Mac

Post by Gcenx »

David Bergland wrote: Thu Dec 12, 2019 12:46 pm Hopefully Codeweavers will release their Catalina-compatible version of WINE to the WineHQ web site. I used the beta version of Crossover 19 and it worked great running my 32-bit Windows application on Catalina. Congratulations to them on an amazing accomplishment!
CodeWeavers won’t release WineCX/wine-crossover on winehq the solutions current state in CrossOver19 was considered a hack.

The wine32on64 related patches will be added into upstream wine after the transition from elf to PE is complete.


For now anyone on macOS Catalina who wants a functional version of wine can purchase CrossOver19. This release even includes MoltenVK support.


CodeWeavers always uploads the source for each release.
Maximara
Level 2
Level 2
Posts: 14
Joined: Wed Jun 26, 2019 8:01 am

Re: Catalina and the future of Wine on Mac

Post by Maximara »

Gcenx wrote: 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.

(load of side stepping nagybal's point snipped)
Nagybal is correct. The abandonment of 32-bit hardware back in 2012 was the proverbial canary in the coal mine just like the first Intel Mac was for the PowerPC builds of the OS (and the programs they supported) - support for the software on that particular hardware configuration supported would end.

"Apple made a push for 64-bit software with Snow Leopard (sort of) " - Snow Leopard came out August 28, 2009 or 10 flipping years ago.

" However, I expect, any day now, that Apple will obsolete all 32-bit apps. They already require all new submissions to be 64-bit." - Jeff Vogel; 27 Apr 2015 (ie 4 freaking years ago); "'Apple doesn't care': Why one longtime indie role-playing game maker has left iOS"

"Apple To Phase Out 32-Bit Mac Apps Starting In January 2018" - June 07, 2017 ie 2 years ago.

One could even make a really bad joke about this lack of foresight:
32-bit Programmer: hey there is light at the end of the 64-bit tunnel.
Savvy Programmer: uh what is that rumbling sound? And why is the light getting brighter?
32-bit Programmer: Don't worry about it.
Savvy Programmer: Uh that sounds like a horn.
32-bit Programmer: I said don't worry ... oh crap it's the freaking 64-bit only train.

Yeh that is about it.
Locked