Celebrating the difficult; the release of CrossOver 19

My family likes to make fun of me because I enjoy hard problems. One of my favorite games of all time is Don't Starve. The way I played it - with no googling allowed - meant that I died all the time. While each death would make me pull out more and more of my hair, when I was finally able to master winter and find the portal, I felt a genuine sense of accomplishment.

That's true for CodeWeavers, as well. My first guiding principle is that I want to do challenging and meaningful work.

And, it turns out, working on Wine is the most challenging thing I've ever been part of. We are re-implementing the Windows operating system; our 43 employees work every day to keep up with the work of the 144,000 people at Microsoft.

Of course, then it was Apple that threw us the nasty curve ball. You see, we don't do all this work ourselves - we rely on the underlying operating system.  We don't draw windows on the screen - we use the operating system libraries to perform the actual drawing.  And a fundamental truth of Windows software is that pretty much all Windows programs are 32 bit programs. Even 64 bit programs will use a 32 bit installer, so you have to have 32 bit support in order to run them. So in order to run 32 bit Windows programs, we need to call a lot of 32 bit libraries.

So when Apple announced that they were removing all 32 bit support from macOS, I knew we had been presented with our most difficult challenge to date.

Fortunately, our Mac development expert Ken Thomases and our team here were up to the challenge. After some false starts and a lot of difficult technical discussions, and then with some help from Apple, we settled on a design strategy that allows us to run 32 bit code within a 64 bit process so we can make calls to the 64 bit system libraries. As you can imagine, there were a lot of details to get right; we had to not only modify Wine, but we had to invent a compiler feature set to support this new mode. However, we feel that it has come out well. Further, one of our fears - that performance would be terrible - has not come to pass. We think the performance is quite nice, all things considered.

I am excited that we have released CrossOver 19 and we are providing support for 32 bit Windows applications on an operating system with no 32 bit libraries - our own Christmas Miracle.

In the New Year, we are looking forward to Wine 5.0 and building new a version of CrossOver that leverages the incredible range of work that is going into Wine 5.0 as we speak.

I remain grateful to the many members of our community, from developers, to beta testers, to customers, that continue to support us in our work. I like to imagine that there are about 143,957 of you.

Join us in celebration by taking 40% off CrossOver with dealcode MIRACLE!*
*Offer not valid on LifeTime License. Offer expires on December 17, 2019 at 11:59 PM.

Cheers,

Jeremy

>>> Announcing a First Alpha Build for CrossOver 19 for macOS Catalina

>>> Quick Catalina Update — October 25, 2019

>>> CrossOver for Catalina Progress — October 3, 2019

>>> So We Don't Have a Solution for Catalina...Yet

About CodeWeavers
Founded in 1996 as a general software consultancy, CodeWeavers focuses on the development of Wine – the core technology found in all of its CrossOver products. The company's goal is to bring expanded market opportunities for Windows software developers by making it easier, faster and more painless to port Windows software to Mac and Linux. CodeWeavers is recognized as a leader in open-source Windows porting technology, and maintains development offices in Minnesota, the United Kingdom and elsewhere around the world. The company is privately held.

The following comments are owned by whoever posted them. We are not responsible for them in any way.


New Comment

Francisco Madeira
Francisco Madeira
Posted 2019-12-10 11:14
Great Work !  😀
Li Zhu
Li Zhu
Posted 2019-12-10 11:22
Thanks so much for your great efforts.
M.A.
M.A.
Posted 2019-12-10 12:10
🎉
Raúl Haro
Raúl Haro
Posted 2019-12-10 12:42
Great Job!
Joel Bowers
Joel Bowers
Posted 2019-12-10 13:21
Total Kudos to you! Wow! What an accomplishment. I am a developer and can imagine what you guys went through to pull this off. Amazing!
Mark Bergland
Mark Bergland
Posted 2019-12-10 13:38
Amazing accomplishment - congratulations!!!!
Ángel del Pozo
Ángel del Pozo
Posted 2019-12-10 15:15
you guys are as amazing as always
Fuyao Zhao
Fuyao Zhao
Posted 2019-12-10 15:55
Yes, CrossOver 19 had been officially released!!

I am part of the beta testing community. I had seen all the beta reports that helped developers improving version 19, great work everyone.

Now we continue onto the next Crossover version, and WINE 5.0. I tested Origin and Starcraft 2 for ver 19. Surprisingly, I found a couple game breaking and crashing bugs within SC2. But I managed to get the latest version of Origin running in a Windows 10 bottle, and Command & Conquer 3 running from Origin. Origin itself is a DRM nightmare so getting anything to run is a breakthrough from the WINE developing point.
Angelo Hulshout
Angelo Hulshout
Posted 2019-12-10 16:44
Congratulations! A job well done, I'd say.
Pedro Chamorro
Pedro Chamorro
Posted 2019-12-10 17:05
Impressive.  It looks like sooner or later you will need to do the same on Linux as Linux distributions drop support for running 32-bit processes too.  Looking forward to Metal support.  Regards, Pedro
Dean
Dean
Posted 2019-12-10 22:09
Pedro Chamorro Posted:
Impressive.  It looks like sooner or later you will need to do the same on Linux as Linux distributions drop support for running 32-bit processes too.  Looking forward to Metal support.  Regards, Pedro


The custom version of llvm/clang that was used to compile “wine32on64” already includes Linux sections so they were already thinking ahead.
Shawn Joseph
Shawn Joseph
Posted 2019-12-10 22:22
I don't think most Linux distros will outright break the ability to run 32-bit code, they'll probably still allow it through some legacy mode or something.
Dean
Dean
Posted 2019-12-10 22:58
Shawn Joseph Posted:
I don't think most Linux distros will outright break the ability to run 32-bit code, they'll probably still allow it through some legacy mode or something.


Allowing 32Bit code execution and providing 32Bit libs are two different things.


Ubuntu won’t be updating 32Bit libs instead will lock them at an ancient version until they eventually drop them entirely.

So the solution used on macOS will be useful for Linux down the line.
herry nosapratama
herry nosapratama
Posted 2019-12-11 01:53
Cool...!!! It is work with Metatrader 5?
Aernout Nijbacker
Aernout Nijbacker
Posted 2019-12-11 03:29
Hallo CodeWeavers,

First of all many thanks for the warning not to upgrade to Catalina (wish that all companies has this service). It was worth waiting for.
As a “simple” user to this program I can’t imagine the efforts you all had to make the make it happen. Many thanks.
This is indeed a great Christmas gift.

Have a throughly deserved holiday season.

Greetings from NL,
Aernout
Aratuk
Aratuk
Posted 2019-12-11 07:13
So glad I decided to buy Crossover when I heard you were working on this. I hope you’ve got a ton of new customers, because you earned it. Faster than I expected, too!
Christian Uceda
Christian Uceda
Posted 2019-12-11 08:53
Dean Posted:
Shawn Joseph Posted:
I don't think most Linux distros will outright break the ability to run 32-bit code, they'll probably still allow it through some legacy mode or something.


Allowing 32Bit code execution and providing 32Bit libs are two different things.


Ubuntu won’t be updating 32Bit libs instead will lock them at an ancient version until they eventually drop them entirely.

So the solution used on macOS will be useful for Linux down the line.


Ubuntu are being stupid stubborn here IMHO, they're being lemmings to Apple, no wonder they're falling behind and have to stick to try to re-inventing their own wheels continuously just to abandon them after a couple of years due to the lack of support from the community and themselves.

There was no need to abandon 32Bit libraries in Linux, no need whatsoever.
Christian Uceda
Christian Uceda
Posted 2019-12-11 08:58
Congratulations to the team!

The 32bit issue is a real challenge.
Arlene Horowitz
Arlene Horowitz
Posted 2019-12-11 09:45
Congratulations!  This version works even better than the last one -- at least for the Windows software I need.  I am delighted!  One wrinkle, though.  My anti-malware software thinks Crossover 19 is malware.  I spent all day yesterday trying AVG, Malwarebytes, and Avast.  Each of them quarantined the guts out of Crossover.  I tried endless permutations, installed and removed each several times to no avail.  I've decided to forego anti-malware in the meantime.  Is anyone working on this?
Lori Krafft
Lori Krafft
Posted 2019-12-11 10:20
I just updated Crossover and reinstalled Medlin Payroll Pro Software. I am so happy that I have all my programs on one computer. I love having a Windows program run on my Catalina OS Mac!!  

Thank you for all the hard work!

Lori - Cottonwood, AZ
Seth
Seth
Posted 2019-12-11 11:05
Congratulations! Thanks for working with Apple to make this happen :).
Dean
Dean
Posted 2019-12-11 11:34
Arlene Horowitz Posted:
Congratulations!  This version works even better than the last one -- at least for the Windows software I need.  I am delighted!  One wrinkle, though.  My anti-malware software thinks Crossover 19 is malware.  I spent all day yesterday trying AVG, Malwarebytes, and Avast.  Each of them quarantined the guts out of Crossover.  I tried endless permutations, installed and removed each several times to no avail.  I've decided to forego anti-malware in the meantime.  Is anyone working on this?


Antivirus warning on wine files are a false positive.

From Wine-4.8 the transition from ELF to PE format (the native format of Windows binaries) was started this also occurs when using recent winehq releases, even my own wine compiles.

The reason is the antivirus sees the replacement windows files and goes crazy, a lot of hack tools/malware would try replacing a legit windows file with a fake file, so your antivirus thinks that’s the cause and flags it.
The most people who flag the results as a fake positive will help resolve the issue with the current release.

The only way to potentially avoid these issues might be patching mingw-w64 (the cross-compiler used to build wine’s PE binaries) to provide a different windows header.

Proton’s builder does something like this already possibly that could work once this case too.
Personally haven’t tried this yet that would mean needing to build mingw-w64 from source and I don’t know if I’m up for maintain yet another custom Port for macports

Vladimir Nemecek
Vladimir Nemecek
Posted 2019-12-11 12:12
I have the same problem. I use Bitdefender Endpoint Security for Mac. I am not able to install CrossOver 19 for MAC by default.
Dean
Dean
Posted 2019-12-11 13:40
Vladimir Nemecek Posted:
I have the same problem. I use Bitdefender Endpoint Security for Mac. I am not able to install CrossOver 19 for MAC by default.

As I’d posted above it’s a false positive, you need to whitelist CrossOver19 and the bottle location and mark as a false positive.

If enough people do so the Antivirus will no longer flag the files, that or contact your Administrator to add an exception to the organizations list.
Tim Irvin
Tim Irvin
Posted 2019-12-12 08:58
This is wonderful.  Love the work you are doing, and happy to support it.  However, I am still on Mojave (getting ready to upgrade) but even after upgrading to Crossover 19, I still get a message that there is some 32 bit code in it (the popup warning in Mojave).  The code that is showing as 32-bit (also confirmed by the 'Go64' app) is libFAudio.0.19.10.dylib.

I just want to make sure this won't pose a problem when I move to Catalina.
xgman
xgman
Posted 2019-12-12 11:52
I got the 32 bit warning in Mojave as well for the release version of 19. So this works without issue in Catalina regardless of this warning?
John Waller
John Waller
Posted 2019-12-12 17:01
Really, I admire your generous work.  So much today is designed for a purely mercantile purpose in order to become the latest "dot.com" that will make a trillion dollars and tell everybody else what they should do and be (cf. Google, Uber, and cie).  Having installed Catalina on my systems, I look forward to purchasing CrossOver and putting it to work for my needs.  Cheers.
Daniel Endres
Daniel Endres
Posted 2019-12-12 19:27
Thank you for all the hard work you put into this challenging effort.
Ian Sliwinski
Ian Sliwinski
Posted 2019-12-13 15:17
Thank you very much for all of your hard-work and many hours spent towards this.

Hopefully you will not enable wine32on64 in the WG Game Center Mac Wrapper.  Not being able to run 32-bit will fundamentally change those games and most likely spur a move to 64-bit both by Wargaming and mod developers and accelerate the move away from 32-bit.

Also personally I like having 64-bit only versus any kludging to accommodate 32-bit code in a 64-bit OS.
Dean
Dean
Posted 2019-12-14 08:44
xgman Posted:
I got the 32 bit warning in Mojave as well for the release version of 19. So this works without issue in Catalina regardless of this warning?


Tim Irvin Posted:
This is wonderful.  Love the work you are doing, and happy to support it.  However, I am still on Mojave (getting ready to upgrade) but even after upgrading to Crossover 19, I still get a message that there is some 32 bit code in it (the popup warning in Mojave).  The code that is showing as 32-bit (also confirmed by the 'Go64' app) is libFAudio.0.19.10.dylib.

I just want to make sure this won't pose a problem when I move to Catalina.


The 32Bit warning on macOS Mojave/High Sierra can be ignored safely.

The new solution is only used on macOS Catalina, below still uses a real 32Bit version of wine not wine32on64.


Ian Sliwinski Posted:
Thank you very much for all of your hard-work and many hours spent towards this.

Hopefully you will not enable wine32on64 in the WG Game Center Mac Wrapper.  Not being able to run 32-bit will fundamentally change those games and most likely spur a move to 64-bit both by Wargaming and mod developers and accelerate the move away from 32-bit.

Also personally I like having 64-bit only versus any kludging to accommodate 32-bit code in a 64-bit OS.

It’s not exactly up to CodeWeavers if the developer doesn’t provide a compatible 64Bit version then they will be forced to use wine32on64 to get it functioning.

The issue is does a 64Bit client support DirectX9 rendering or does it not require some DirectX10/11/12 API calls so the hacked up version of MoltenVK can be used along with DXVK/VKD3D

I mostly see wine32on64 as comparability for older applications/games, but some 64Bit applications/games still use 32Bit API calls or use a 32Bit installer.
Oscar van Vliet
Oscar van Vliet
Posted 2019-12-15 16:09
Dean Posted:

The issue is does a 64Bit client support DirectX9 rendering or does it not require some DirectX10/11/12 API calls so the hacked up version of MoltenVK can be used along with DXVK/VKD3D


Is this really a feature in the Mac version? The changelog at https://www.codeweavers.com/products/more-information/changelog suggest only that the Linux version is DXVK compatible. The description of the Mac version is rather silent on it. Can we try DX11 games in Crossover 19 on Mac? And does it use (hacked, not entirely functional) version of DXVK and MoltenVK?

Getting MoltenVK and potentially DXVK working would be a second miracle, after the first miracle of 32bit apps in 64bit Mac OS. You need only three for sainthood 😇.
Dean
Dean
Posted 2019-12-15 20:30
Oscar van Vliet Posted:
[Is this really a feature in the Mac version? The changelog at https://www.codeweavers.com/products/more-information/changelog suggest only that the Linux version is DXVK compatible. The description of the Mac version is rather silent on it. Can we try DX11 games in Crossover 19 on Mac? And does it use (hacked, not entirely functional) version of DXVK and MoltenVK?

Getting MoltenVK and potentially DXVK working would be a second miracle, after the first miracle of 32bit apps in 64bit Mac OS. You need only three for sainthood 😇.


It's possible, CodeWeavers did it for there FINAL FANTASY XIV Port https://www.codeweavers.com/about/news/press/20190628 (it uses a custom version of MoltenVK and DXVK)

As not all Vulkan extensions needed for DXVK are available via MoltenVK, calling an unimplemented function would cause a crash. (some Vulkan features are just faked to get DXVK to somewhat function)


I really don't see much happening on the MoltenVK front until wine32on64 patches all get into upstream wine then maybe we might see some more work on that front.
Chris Nelson
Chris Nelson
Posted 2019-12-16 00:04
Congrats!!

Thank you for this.
Arlene Horowitz
Arlene Horowitz
Posted 2019-12-17 12:54
Once you open AVG, it immediately quarantines the bottle software in Crossover 19.  If you restore the quarantined files and mark them as false positives, Crossover no longer works properly.   Uninstall the AVG and everything goes back to normal and the bottles work flawlessly.  
Tim Irvin
Tim Irvin
Posted 2020-01-03 21:50
Tim Irvin Posted:
This is wonderful.  Love the work you are doing, and happy to support it.  However, I am still on Mojave (getting ready to upgrade) but even after upgrading to Crossover 19, I still get a message that there is some 32 bit code in it (the popup warning in Mojave).  The code that is showing as 32-bit (also confirmed by the 'Go64' app) is libFAudio.0.19.10.dylib.

I just want to make sure this won't pose a problem when I move to Catalina.

Yes, I'm quoting myself!  

I just wanted to confirm that I cloned my Mojave drive, updated the clone to Catalina and confirmed it is no problem.  Crossover 19 works fine.  The 32-bit code that "Go64" and Apple's own profiler reports is not used under Catalina, so it does not cause an exception.  I just wanted to set the record straight in case anyone was concerned about my earlier remarks.  
Dean
Dean
Posted 2020-01-04 09:33
Tim Irvin Posted:
I just wanted to confirm that I cloned my Mojave drive, updated the clone to Catalina and confirmed it is no problem.  Crossover 19 works fine.  The 32-bit code that "Go64" and Apple's own profiler reports is not used under Catalina, so it does not cause an exception.  I just wanted to set the record straight in case anyone was concerned about my earlier remarks.  


Well yeah CrossOver19 contains dual support.

CrossOver19 contains wine/wine64 and wine32on64, also the required universal dylibs, on macOS Catalina wine32on64 is used but below wine is used instead.

I’d honestly have preferred wine32on64 also being used below macOS Catalina but as it was a rush job I’m thinking it was preferable to keep wine around for macOS Mojave and below for the moment.
bughunt
bughunt
Posted 2020-01-15 05:51
Very nice!
  • 1 to 37 of 37
Please Wait...
eyJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNTc4NTg3MzkzfQ==