Wine Reviews has release information and reviews of Windows applications and games running on Linux macOS and ChromeOS using Wine from Winehq.org Proton Lutris Q4Wine PlayOnLinux PlayOnMac WineBottler WineSkin WineTricks and Wine-Staging.
Valve has just published Proton 7.0-6 as the newest version of this
Wine-based software that powers Steam Play for running Windows games on
Linux. Proton 7.0-6 had been available in testing and release candidate
form since the end of last year while now has been promoted to stable.
With Proton 7.0-6 comes more Windows games that are playable under
Linux. The newly-supported titles include Gotham Knights, UNCHARTED:
Legacy of Thieves Collection, Heroes of the Dark, Super Arcade Racing,
Crazy Machines 3, King under the Mountain, NinNinDays2, and Mahjong
Ladies.
Proton 7.0-6 also fixes an Ubisoft Connect launcher failure, fixing a
texture issue on the menu areas on Quake III Arena, several Microsoft
Flight Simulator fixes, and a range of other game fixes. Proton 7.0-6
also ships with Wine Mono 7.4 and DXVK-NVAPI 0.6.
Now playable:
Gotham Knights
UNCHARTED: Legacy of Thieves Collection
Heroes of the Dark
Super Arcade Racing
Crazy Machines 3
King under the Mountain
NinNinDays2
雀姬 (Mahjong ladies)
Fix Ubisoft Connect launcher failure caused by launcher update.
Fix Septerra Core hanging on redistributables installation.
Fix Persona 5 Royal crashing when creating game save data.
Fix Vampire Survivors intermittent error message.
Fix Super House of Dead Ninjas, Enemy Mind, and Out There Somewhere frame hitching every few seconds.
Fix Zeepkist freezing when using controller.
Fix Overcooked! All You Can Eat being unable to add a second controller-using player.
Fix Quake III: Arena and Quake III: Team Arena displaying weird texture over the menu.
Fix the new EA launcher displaying a blank window.
Fix Marvel Snap not being able connect to online services.
Fix Microsoft Flight Simulator crashing during longer flights.
Fix Microsoft Flight Simulator not displaying live traffic.
Fix Microsoft Flight Simulator not starting after a recent game update.
Fix Microsoft Flight Simulator crashing when starting next to big cities.
Fix Sackboy: A Big Adventure failing to start the first time it's launched.
Fix Spyro Reignited Trilogy playing intro video in a wrong language.
Fix Jurassic World Evolution 2 bad performance with recent Proton versions.
Fix multiple monitor support in Project Cars 2 and Project Cars 3.
Fix Korean not being rendered correctly in Romance of the Three Kingdoms XIII launcher.
Fix multiple languages not rendering correctly in Sins of a Solar Empire: Rebellion.
Fix Lost Lands: Dark Overlord, Lost Lands: Dark Lord, Lost Lands:
Redemption, and Haunted Hotel: Silent Waters Collector's Edition
crashing when trying to set a wallpaper.
Fix video playback regression with Chronos: Before the Ashes.
Improve video playback with OUTRIDERS and ToGather: Island.
There will always be apps — mostly games — whose publishers won’t
port them to the Mac for financial or contractual reasons. Codeweavers’
CrossOver offers a simple, convenient way to run many of those apps. The
result isn’t as reliable or universal as other solutions, but it’s a
lot cheaper and easier, and with CrossOver’s helpful database of app
functionality and generous try-before-you-buy period, you can see
whether it’ll run the apps you want to use before you commit your
hard-earned cash.
CrossOver
translates Windows commands into Mac ones on the fly — like hiring an
interpreter to help you in a foreign country, rather than learning the
language yourself. It’s based on the open-source WINE project, but its
improvements to standard WINE make it a lot easier for everyday users to
successfully run.
CrossOver 22 is only available from Codeweavers' web site.
$74 gets you a full copy and a year’s worth of updates to the app. Once
that period elapses, you can still use the copy you already have as
long as you want to, but you won’t be able to download fresh updates.
You'll have a limited window of time after your subscription expires to
renew it for roughly $30.
You can also pay $494 for CrossOver Life, which removes the need for
annual renewals. The company tends to offer once-a-year discounts around
Black Friday, sometimes slashing the cost of a year's updates to as
little as $15.
After a quick installation, CrossOver does most of the hard work for
you. It sets up a “bottle” — a contained virtual environment — in which
you can install basic Windows or Linux underpinnings, plus any apps
you’d care to run. CrossOver builds in shortcuts to install popular apps
like Steam,
and it can seamlessly install apps from the Internet, from downloaded
ISO files, or from a physical disc, should you have an external drive.
You
can have multiple separate bottles for different apps, or put all the
apps you use in a single vessel. As with containerized software setups
like Docker,
this makes CrossOver easier and less stressful to use. In the unlikely
event that something goes horribly wrong inside a bottle, it won’t
affect your larger system. You can just delete the bottle and start
fresh.
Each
new version of CrossOver offers under-the-hood improvements to help all
apps in general and specific titles in particular run better. But
CrossOver 22’s biggest leap forward lies in its overhauled interface.
Previous
versions hid important toggles and features behind poorly designed
contextual menus. CrossOver 22 takes its design cues instead from the
Mac App Store, putting crucial options in full view. It’s easier than
ever to run apps you’ve already installed, or add new ones.
Codeweavers’
database of popular apps and their compatibility, maintained by
volunteer testers, is now more directly integrated into the app itself,
rather than requiring a separate visit to Codeweavers's web site. That
database isn’t comprehensive — some titles I’ve personally used under
CrossOver aren’t included — but it’s a good place to start when you’re
curious about whether a particular app will run there.
The path between original Windows code and successful Mac execution
isn’t always straight. For instance, Windows games use a set of tools
known as DirectX to enable 3D graphics. CrossOver has to pass those
commands through an open-source translator called DXVK, which maps them
to the open-source Vulkan 3D standard. These Vulkan commands must then
go through another interpreter, MoltenVK, to run under Apple’s own 3D toolkit, Metal.
Each of these handoffs eats up processing power and makes the
resulting games run slower and less reliably than they would if coded
for the Mac from the get-go.
The beefier your processing power,
the better performance you’ll get from CrossOver. Even though it’s an
Intel native app, it runs best on Apple silicon under Rosetta 2 emulation,
thanks to the sheer horsepower of the M1 and higher. (CrossOver plans
to eventually support Apple silicon, but Codeweavers says that
transition is likely years away.) Popular launcher apps like Steam, and
simpler 2D games like Guacamelee, ran without a hitch in my tests, but more sophisticated titles had various degrees of tradeoffs.
When I ran 2017’s Star Wars: Battlefront II on my stock M1 Mac Mini,
the game looked great. But depending on the game mode and the size and
type of the environments I found myself in, performance ranged from fast
and fluid to an unplayable crawl. I’ve seen YouTube videos of other
CrossOver users playing the game much more smoothly, even on levels that
choked my computer. If you want to game with CrossOver, having more
than 8GB RAM or something more powerful than a basic M1 will likely
serve you well.
Furthermore, Metal has different aims and
priorities than DirectX, trading some measure of tech sophistication for
the ability to run across MacOS, iOS, and tvOS. Even under Apple’s
recently announced Metal 3, there are just some things DirectX does for
which Metal lacks an easily translated equivalent.
I saw this firsthand playing Jedi: Fallen Order.
Though the game mostly ran smoothly barring some pauses for loading,
the world around my protagonist didn’t render right, presenting a mass
of flickering black triangles instead of realistic surroundings. I was
able to adapt and still enjoy the game, but if you’re looking for
absolute fidelity, consider this fair warning.
And even if
everything else goes swimmingly, there are some facets of Windows
software that just won’t work outside that platform, no matter what.
Barring some miracle in a future version, I’ll never know how well Star Wars: Squadrons
runs on CrossOver, because the anti-cheating software for its
multiplayer mode won’t cooperate, shutting down every attempt to install
the game.
ntel Macs can directly install Windows through Boot Camp, but this option isn't available on newer Apple Silicon-powered Macs.
Virtual machines like VMWare Fusion and Parallels Desktop
let Mac users run Windows and its apps. By emulating the entire Windows
operating system, they offer better compatibility with more kinds of
PC apps, especially games.
Both apps are Apple Silicon native and
can, with various degrees of workarounds, run Apple Silicon-friendly
ARM-based versions of Windows 11 (and their apps) natively. CrossOver
tops out at apps for Windows 10, and because of the engineering
complexities involved, Codeweavers says it won't offer a native Apple
Silicon version for several more years.
But Parallels and VMWare
each cost more than a year of CrossOver updates, and neither will work
without a copy of Windows itself. Even an older version of that can run
you as much as $140.
CrossOver 22 is impressive in its simplicity — at least in terms of how
easy it is to get select Windows applications up and running on macOS.
It's by no means perfect, and your mileage will vary dramatically
depending on the complexity of the applications you're looking to run,
not to mention the power of your Mac computer itself. But with prudent
use of the free trial to test your must-work apps, it's a great
opportunity to bridge the gap between Apple and Microsoft's computing
worlds.
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off CodeWeavers CrossOver+ today.
On systems supporting HDR10 color spaces, HDR can now be enabled by setting the environment variable DXVK_HDR=1, or by setting the option dxgi.enableHDR = True in the configuration file. When using vkd3d-proton 2.8 or newer, this will allow D3D12 games to detect and use the HDR10 color space if they support it.
No major Linux desktop environment currently supports HDR. In order to use this on Linux, a Gamescope session with --hdr-enabled is required. This is currently only supported under AMDGPU and requires kernel patches from the josh-hdr-colorimetry branch.
Note: D3D11 support is implemented, but not expected
to work in most games as they typically require AMDAGS or NVAPI to set
up HDR output, rather than using the corresponding DXGI APIs.
Additionally, only Nvidia drivers are expected to work on Windows.
Shader compilation improvements
Use of pipeline libraries was extended to pipelines with tessellation
or geometry shaders in order to further reduce stutter. Additionally,
more features of the VK_EXT_extended_dynamic_state3 extension are leveraged to reduce stutter in some situations when MSAA is used, provided that the Vulkan driver supports them.
Note: Current development builds of RADV will expose VK_EXT_graphics_pipeline_library with the features that DXVK needs if the RADV_PERFTEST=gpl
environment variable is set. Note that the implementation is not yet
complete and does not support shader caching at this time, but it should
generally work with DXVK.
Sample rate shading
For older games that support MSAA, the d3d9.forceSampleRateShading and d3d11.forceSampleRateShading options were added to let users enable sample rate shading for all shaders. This will have a very
high impact on GPU-bound performance, but may increase overall image
quality in certain games that suffer from specular aliasing or
shimmering alpha-tested geometry.
Note: Games that resolve the rendered images
inadequately (e.g. performing a linear resolve on HDR render targets)
will likely not benefit from this option.
GLFW backend
For native Linux builds of DXVK, a GLFW backend was added as a compile-time alternative to the existing SDL2 backend. See PR #3111 for details.
Bug fixes and Improvements
Improved D3D11 command submission logic in order to make overall
performance more consistent, and to bring DXVK's behaviour more in line
with native D3D11 drivers.
Fixed D3D11 reference counting issues around 2D textures. (#3169)
Fixed Vulkan validation errors when creating DXGI_FORMAT_A8_UNORM UAVs. Note that UAVs of this format may not work as expected.
Fixed Vulkan validation errors that would occur when allocating dedicated image memory on Nvidia GPUs in some situations.
Fixed Vulkan validation errors caused by broken timeline semaphores on 32-bit Proton.
Worked around an issue with the Uplay overlay being stuck on screen. (#3146)
Note that this fix does not apply to Windows as it was achieved by loading winevulkan.dll directly instead of the actual Vulkan loader. Note that this change will break Red Dead Redemption 2 with dxvk-nvapi prior to this commit: jp7677/dxvk-nvapi@ac00a42
Worked around a bug in AMD's Windows driver as well as AMDVLK that would cause numerous games to crash since DXVK 2.0. (#3172)
Fewer threads will be used to perform background optimization of
graphics pipeines. This may result in a smoother gameplay experience on
some systems. Note that this change does not affect initial shader
compiling, as finishing that quickly is crucial to avoid stutter.
The state cache file will now only be created when the first pipeline is written to it, in order to avoid empty cache files.
This change mostly affects D3D9 games on systems with EXT_graphics_pipeline_library support.
Ashes of the Singularity: Fixed performance regression caused by suboptimal descriptor set allocation.
Battlefield: Bad Company 2: Fixed flickering (#3078, PR #3079)
Gujian 3: Fixed rendering issues on some GPUs. (#1784)
Resident Evil 4 HD: Fixed invalid Vulkan usage causing a GPU hang on RADV. (PR #3089)
Saints Row: The Third: Fixed a severe performance issue with rain when using the D3D9 renderer. (#2473, PR #3158)
Sekiro: Shadows Die Twice: Fixed stuttering issues on Nvidia GPUs. (#3179)
Sonic Frontiers: Worked around a game bug that would cause shadows to flicker when GPU-bound.
Supreme Commander: Forged Alliance: Fixed a crash after loading (#3058, PR #3060)
Note: The setup script setup_dxvk.sh
was no longer deemed useful and got removed. This change will only
affect users who manually install DXVK into a wine prefix, rather than
using it through Proton or Lutris.
Note: Due to changes to our DXGI implementation, older versions of vkd3d-proton (prior to 2.8) will no longer work with this version of DXVK.
The Wine team is proud to announce that the stable release Wine 8.0 is now available.
This release represents a year of development effort and over 8,600
individual changes. It contains a large number of improvements that are
listed in the release notes below. The main achievement is the completion of the conversion to PE format.
The source is available now.
Binary packages are in the process of being built, and will appear soon at their respective download locations.
What's new in Wine 8.0
======================
*** PE modules
- After 4 years of work, the PE conversion is finally complete: all modules can
be built in PE format. This is an important milestone on the road to supporting
various features such as copy protection, 32-bit applications on 64-bit hosts,
Windows debuggers, x86 applications on ARM, etc.
However, some modules still perform direct calls between the PE and the Unix
part, instead of going through the NT system call interface. The remaining
direct calls will be removed during the Wine 8.x development phase.
- A special syscall dispatcher is used for PE -> Unix transitions, to avoid the
overhead of a full NT system call. This minimizes the performance impact of the
new architecture, in particular for the OpenGL and Vulkan libraries.
- Building mixed Windows/Unix libraries in ELF format (.dll.so libraries) is
still supported for use in Winelib applications. However, such applications
won't support features enabled by the NT syscall interface, such as WoW64
without 32-bit libraries.
*** WoW64
- WoW64 thunks are implemented for essentially all Unix libraries, enabling a
32-bit PE module to call a 64-bit Unix library. Once the remaining direct
PE/Unix calls have been removed, this will make it fully possible to run
32-bit Windows applications without any 32-bit Unix library.
- When the 32-bit Wine loader isn't found, 32-bit applications are started in
the new experimental "Windows-like" WoW64 mode (where 32-bit code runs inside
a 64-bit host process). This mode can be enabled by building with the
'--enable-archs' configure option. This is still under development and not yet
recommended for general use. Since in case of configuration errors it is
possible for it to be triggered inadvertently, applications started in this
mode print the warning "starting in experimental wow64 mode".
*** Graphics
- The "Light" theme is enabled in the default configuration, for a more modern
look. Other themes can still be configured through WineCfg.
- The graphics drivers (winex11.drv, winemac.drv, wineandroid.drv) are converted
to run on the Unix side of the syscall boundary, and interface with the Unix
side of the Win32u library.
- The Print Processor architecture is implemented. This will be used to avoid
direct PE<->Unix calls in the printer driver.
- Effects are supported in Direct2D, including description parsing and a number
of core objects.
- Command lists recording and playback are implemented in Direct2D.
- The Vulkan driver supports up to version 1.3.237 of the Vulkan spec.
*** Direct3D
- Many optimizations related to streaming map acceleration are implemented, in
common code as well as in the GL renderer. Depending on the application, this
may result in major performance improvements.
- Adapter video memory budget change notifications are implemented.
- The Vulkan renderer supports setting multiple viewports and scissor rectangles.
- Several Direct3D 10 and 11 features, which were already implemented, are
accurately reported through capability flags:
- Per-format support for vertex and index buffers.
- Per-format support for all capabilities via D3D11_FEATURE_FORMAT_SUPPORT.
- No-overwrite maps on shader resources and constant buffers.
- Partial range binding of constant buffers.
- For convenience, a new WINE_D3D_CONFIG environment variable may be used instead
of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The
value is a comma- or semicolon-separated list of key-value pairs, e.g.:
WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de"
If an individual setting is specified in both the environment variable and the
registry, the former takes precedence.
- The Direct3D graphics card database recognizes more graphics cards.
- The Vulkan renderer limits the maximum Direct3D feature level based on
available Vulkan features.
*** Direct3D helper libraries
- A new HLSL compiler is implemented using the vkd3d-shader library.
- A new HLSL disassembler is implemented using the vkd3d-shader library.
- The HLSL preprocessor is reimplemented using the vkd3d-shader HLSL
preprocessor.
- The D3DX 10 Thread Pump is implemented.
- Many more expressions are supported in Direct3D 10 effects.
- Cubemap projection is implemented in the D3DX 9 helper library.
*** Audio / Video
- The MPEG-1 audio decoder filter for layers 1 and 2, and the separate filter for
layer 3, are both implemented on top of GStreamer.
- The ASF reader filter is implemented.
- The OpenAL32.dll wrapper library is removed, in favor of the native
OpenAL32.dll library shipped by Windows applications.
*** Media Foundation
- Content type resolution is improved in the Media Foundation Player.
- Rate control is implemented.
- The Enhanced Video Renderer default mixer and presenter are better supported.
- The DirectShow filter is implemented in the Enhanced Video Renderer.
- An initial framework is implemented for the Writer encoding API.
- The topology loader is better supported.
*** Input devices
- Controller hotplug support is greatly improved, and controller removal and
insertion are correctly dispatched to applications.
- Driving wheel device detection and reporting is better implemented, using the
SDL library and HID usages as hints for the device types.
- Force feedback effect support is improved, specifically with driving wheel
controllers.
- The HID Haptics specification is used for left / right motor rumble and trigger
rumble. It makes it possible for device drivers to expose haptics support over
HidRaw, and overcome EvDev limitations.
- The Joystick Control Panel is redesigned, with new graphics and a dedicated
view for XInput gamepads.
- Sony DualShock and DualSense controllers are supported when the hidraw backend
is used, and exposed to applications in the same way as they are on Windows.
- The Windows.Gaming.Input module is introduced, one of the first WinRT modules
in Wine, implementing a new programming interface to access gamepads, joysticks
and driving wheel devices. For this new input API, hotplug notifications are
also implemented, as well as force feedback effects and haptics. This API is
the first one to support trigger rumble.
*** Internationalization
- A proper locale database, in Windows locale.nls format, is generated from the
Unicode CLDR database. The list of supported locales is essentially identical
to that of the latest Windows version.
- Unicode string comparison is based on the Windows Sortkey database and
algorithms instead of the Unicode Collation Algorithm, yielding more compatible
results.
- Characters from high Unicode planes (in UTF-16 encoding) are supported in most
functions, in particular for case mappings, BiDi formatting, and character
shaping.
- The UTF-8 encoding is supported as Ansi codepage. It is enabled when requested
by the application's manifest.
- Unicode character tables are based on version 15.0.0 of the Unicode Standard.
- The timezone data is generated from the IANA timezone database version 2022g.
*** Text and fonts
- Font linking is enabled for most system fonts, which should fix missing glyphs
in CJK locales.
- Font fallback in DirectWrite is reworked, with additional support for an large
number of scripts.
*** Kernel
- The ApiSetSchema database is implemented, replacing all the api-ms-* forwarding
modules. This reduces both disk space and address space usage.
- DOS file attributes are persistent, and stored on disk using the filesystem's
extended attributes, in a format compatible with Samba.
*** Internet and networking
- The Online Certificate Status Protocol (OCSP) is implemented.
- More EcmaScript features are supported in JScript standard-compliant mode.
- The JScript garbage collector is implemented.
- Accessibility support is enabled in Wine Gecko package.
- Web Storage, Performance object and more event objects are implemented in
MSHTML.
*** Mono / .NET
- The Mono engine is updated to version 7.4.0. The list of changes can be viewed
at https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-7.4.0
*** Builtin applications
- All the builtin applications use Common Controls version 6, which enables
theming and high-DPI rendering by default.
- The Wine Debugger (winedbg) prints thread names in the 'info thread' listing,
for applications that set the names of their threads. All internal Wine threads
also set their own name.
- The QWORD type is supported in the REGEDIT and REG registry tools.
- Notepad has a status bar displaying the current cursor position. The Goto Line
functionality is also implemented.
- The builtin console programs print data in the OEM codepage, for better
compatibility with applications reading their output.
- The Service Control tool (sc.exe) supports the 'query' command.
*** Development tools
- The PE conversion has made it necessary to implement a new mechanism to run
static C++ constructors in Winelib ELF applications. Unfortunately, this
requires the corresponding modules to be rebuilt with Wine 8.0. The rebuilt
modules will still run correctly on older Wine versions, but older modules will
no longer execute static constructors when run on Wine 8.0.
- In regression tests, individual checks can be marked as "flaky". This is useful
for checks that depend on external factors such as network timings. The errors
are still reported but not counted as failures.
- Test failure messages can be printed in color by setting the WINETEST_COLOR
environment variable, to make them easier to spot in the test log.
- The Resource Compiler (WRC) and Message Compiler (WMC) use the locale.nls
database to detect languages and codepages, and thus support all the Windows
locales.
- The WineDump tool supports printing the contents of Enhanced Metafile spool
files, as well as more contents from PDB files.
*** Build infrastructure
- PE binaries can be built for multiple architectures from the same build tree,
using the '--enable-archs' option to configure, for example
'--enable-archs=i386,x86_64'. This can be used to enable the experimental
WoW64 mode, where 32-bit applications can run without any 32-bit host
libraries. Note that this mode is still under development and not yet
recommended for general use.
- Data types that are defined as 'long' on Windows are defined as 'long' instead
of 'int' on all platforms with a 32-bit long type. This is more compatible, but
it can cause printf format warnings with Unix compilers. In Winelib code, it
can be disabled by defining WINE_NO_LONG_TYPES.
- Import libraries can be generated without using dlltool, by passing the
'--without-dlltool' option to winebuild. This is used to avoid dlltool bugs
with delay import libraries.
- Libraries that contain only resources and no code can be built with the
'--data-only' option to winegcc, which makes them smaller and more efficient to
load.
*** Bundled libraries
- Faudio is updated to the upstream release 22.11.
- LCMS2 is updated to the upstream release 2.14.
- LibJPEG is updated to the upstream release 9e.
- LibMPG123 is updated to the upstream release 1.31.1.
- LibPng is updated to the upstream release 1.6.39.
- LibTiff is updated to the upstream release 4.4.0.
- LibXml2 is updated to the upstream release 2.10.3.
- LibXslt is updated to the upstream release 1.1.37.
- Zlib is updated to the upstream release 1.2.13.
*** Platform-specific features
- The experimental WoW64 architecture is supported on macOS versions from 10.15.
- 64-bit time_t is supported on 32-bit Linux with recent Glibc versions.
- Exception unwinding on ARM platforms is extended with EHABI support on ARM32
and Dwarf support on ARM64.
*** Miscellaneous
- RSA encryption and the RSA-PSS signing algorithm are implemented.
- An initial version of the UI Automation API is implemented.
- Function name demangling supports various C++11 features.
*** External dependencies
- The vkd3d and LDAP libraries are bundled in the source tree and built as
PE. The corresponding Unix libraries are no longer needed.
- The OpenAL library is no longer used.
Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off CodeWeavers CrossOver+ today.