Difference between revisions of "CrossOver"
(Created page with "{{Store link|CrossOver}}") |
m (Added reference to the Game Porting Toolkit) |
||
(51 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Store link|CrossOver}} | + | {{Store link|CrossOver}} is a proprietary Windows compatibility layer for macOS based on {{W|Wine}} made by developers CodeWeavers. CrossOver modifies Wine, adding compatibility patches, a user-friendly interface and technical support. |
+ | |||
+ | ==Availability== | ||
+ | {{Store link|CrossOver}} is initially available with a 14-day trial. Remember to use the coupon code <code>APPLEGAMINGWIKINEW</code> for 20% off the cost of the purchase. | ||
+ | |||
+ | Then CrossOver can be purchased in two editions: | ||
+ | *CrossOver + - which gives 12 months of upgrades and phone support with a discounted renewal price. | ||
+ | *CrossOver Life - which gives lifetime access to all future versions and unlimited email and phone support. | ||
+ | |||
+ | Nightly builds are available for [https://www.codeweavers.com/bettertester BetterTesters], CodeWeaver's beta testing program. | ||
+ | |||
+ | It is also possible to compile [[Wine]] games using other methods for free, for example [[PortingKit]] or [[Wineskin]]. | ||
+ | |||
+ | ==Game launchers== | ||
+ | CrossOver is capable of running many Windows games installed via exe files (for example DRM-free installers downloaded from GOG.com). However the support for actual game library platforms is currently limited. These platforms are supported: | ||
+ | |||
+ | *Steam | ||
+ | *Ubisoft Connect | ||
+ | |||
+ | ===Epic Games Launcher=== | ||
+ | ====Legendary==== | ||
+ | *Epic Games Launcher '''via Legendary''' : Epic games Launcher can be Installed via a command line tool called Legendary. This can be downloaded as a file from their [https://github.com/derrod/legendary GitHub Repository] and can be added to path to invoke the CLI tool. Login to your Epic Games Account via <code>legendary</code> auth and use <code>legendary list-games</code> to view your library. After you install a game, add it to crossover via the "Run Command..." Option and navigating to <code>/Users/<username>/legendary/<game folder></code> and locating the .exe file. The location may vary based on the game. | ||
+ | ====Heroic==== | ||
+ | {{ii}} Heroic is a GUI front-end for Legendary. | ||
+ | #Install Heroic Games Launcher macOS build | ||
+ | #Install CrossOver 21, created new Heroic Windows 7 x64 Bottle called Heroic | ||
+ | #Install dependencies into Heroic bottle: | ||
+ | ##Microsoft Visual C++ 2010 (10.0) Redistributable (64 bit) | ||
+ | ##Microsoft XML Parser (MSXML) 3.0 | ||
+ | ##DirectX for Modern Games | ||
+ | ##Core Fonts | ||
+ | ##Enable DXVK tick ({{Key|Ctrl|click}} on Heroic bottle, go to Settings) | ||
+ | #Link the wine file within /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/CrossOver-Hosted Application/wine | ||
+ | #In Heroic, 'Custom Wine/Proton Paths' and set Wine version to custom | ||
+ | #Blank out WinePrefix folder in Settings and within game settings | ||
+ | #Essential: {{Key|Ctrl|click}} on Heroic bottle, rename to 'default' (this is due to hardcoded paths) | ||
+ | |||
+ | ===Origin=== | ||
+ | Download the [https://community.pcgamingwiki.com/files/file/2245-origin-install-script-for-crossover/ CrossOver Origin install script]. | ||
+ | |||
+ | # Create a new Windows 7 x64 bit bottle in CrossOver called 'Origin' | ||
+ | # Click Install a Windows Application and install Origin | ||
+ | # In the Origin installer set the path to the C:\Origin\ folder (do not press install yet) | ||
+ | # Download the script into the /Application Support/CrossOver/ folder | ||
+ | # Run the script by opening Terminal and navigating to /Application Support/CrossOver/ and starting the CrossOver_Origin.sh script | ||
+ | # Whilst the script is running, complete the Origin install | ||
+ | # This script must be re-run whenever Origin requires an update | ||
+ | |||
+ | ==Recommended settings== | ||
+ | ===DirectX for Modern Games=== | ||
+ | This should be installed within the bottle for any DirectX 9 game. | ||
+ | |||
+ | ===DirectX 11=== | ||
+ | DirectX 11 support can be enabled by toggling DXVK. | ||
+ | {{Fixbox|description=Enable DXVK|ref=|fix= | ||
+ | #Click Bottles icon | ||
+ | #{{Key|Ctrl}} + click Bottle | ||
+ | #Enable Settings - Enable DXVK Backend D3D11 | ||
+ | }} | ||
+ | |||
+ | ===Esync=== | ||
+ | {{Fixbox|description=Enable Esync|ref=|fix= | ||
+ | #Click Bottles icon | ||
+ | #{{Key|Ctrl}} + click Bottle | ||
+ | #Enable Settings - Enable Performance Enhanced Synchronization (ESync) | ||
+ | }} | ||
+ | |||
+ | ===Upgrading DXVK and MoltenVK=== | ||
+ | Stutters and performance can often be fixed by using a more up to date version of DXVK and MoltenVK than the one included in default CrossOver. This has a dramatic effect on many games including [[God of War (2018)]], [[The Witcher 3]], [[Star Wars: Battlefront II]]. However, it can also cause instability in games like [[Battlefield 1]]. See this tutorial: | ||
+ | |||
+ | {{#widget:YouTube|id=5NQQCR74FQE}} | ||
+ | |||
+ | {{Fixbox|description=Upgrade MoltenVK|ref=<ref>https://www.reddit.com/r/macgaming/comments/qt4e1b/you_can_run_the_latest_dxvk_with_crossover_on_mac/</ref>|fix= | ||
+ | {{ii}}'''Disclaimer: ADVANCED USRS ONLY''' - manually updating CrossOver comes at your own risk and may make it harder to get support from CodeWeavers** please see [https://www.codeweavers.com/support/forums/general/?t=27;msg=257865 this thread on the CodeWeavers Forum]. | ||
+ | {{ii}}''IMPORTANT: As of 11th of April 2022, Gcenx has removed DXVK patches from his MoltenVK builds, a newly modified [https://community.pcgamingwiki.com/files/file/2417-moltenvk-119-modified-with-dxvk-patches-for-macos/ file for 1.1.9 is now hosted on PCGamingWiki].'' | ||
+ | |||
+ | #Visit the [https://community.pcgamingwiki.com/files/file/2417-moltenvk-119-modified-with-dxvk-patches-for-macos/ PCGamingWiki Files entry for MoltenVK 1.1.9 modified with DXVK patches for macOS 1.1.9]. | ||
+ | #Download the latest macos_dxvk_patched-1.1.9.tar.xz (or later). | ||
+ | #In Finder, extract the folder. | ||
+ | #Copy libMoltenVK.dylib. | ||
+ | #In Finder, {{Key|Ctrl|click}} on CrossOver and Show Package Contents. | ||
+ | #Navigate to /COntents/SharedSupport/CrossOver/lib64/. | ||
+ | #Rename your libMoltenVK.dylib and then paste your new libMolteVN.dylib | ||
+ | #Make sure to upgrade DXVK as well otherwise MoltenVK won't work. | ||
+ | }} | ||
+ | |||
+ | {{Fixbox|description=Upgrade DXVK|ref=|fix= | ||
+ | #In CrossOver, ensure your bottle has enabled DXVK ({{Key|Ctrl|click}} on bottle and enable DXVK Backend for D3D11) - if you do not do this then the upgraded files will be overwritten. | ||
+ | #Visit [https://github.com/Gcenx/DXVK-macOS/releases Gcenx's DXVK-macOS Github] - this is a modified, up-to-date version of DXVK built for macOS. | ||
+ | #Download the latest dxvk-1.10-mac-async.tar.xz (or later). | ||
+ | #In Finder, extract the folder. | ||
+ | #Navigate to /dxvk-1.10-mac-async/x64/ and copy the contents. | ||
+ | #In Finder hold {{Key|alt}} and click Go, Library. | ||
+ | #Go into /Application Support/CrossOver/Bottles/Steam (or bottle name)/windows/system32/ | ||
+ | #Paste and overwrite all files in this folder. | ||
+ | #Toggling DXVK Backend for D3D11 will re-overwrite the modified files with the original files. | ||
+ | }} | ||
+ | |||
+ | {{Fixbox|description=Semaphore fix|ref=<ref>{{Refcheck|user=Andytizer|date=2022-03-23|comment=From 'nas': Using MTLFence for VkSemaphore has issues of its own: https://github.com/KhronosGroup/MoltenVK/issues/796 | ||
+ | VkSemaphore is still emulated, but it uses software by default to try to "guess" the state of the semaphore, instead of the Metal API, when running under Rosetta or on NVIDIA. This is intentional. (it's for GPU synchronization) | ||
+ | Basically, MTLFence doesn't map perfectly to VkSemaphore like MTLEvent. | ||
+ | But it works most of the time, at least on macOS (I haven't had any issues with it yet), and the performance boost is significant. | ||
+ | Here's why it is now disabled by default: https://github.com/KhronosGroup/MoltenVK/issues/1482#issuecomment-983853680 | ||
+ | "On those platforms, we will fallback to CPU callbacks, under the premise that accuracy and consistency is important." | ||
+ | "Platforms that have demonstrated issues with MTLEvent now include Rosetta2 on M1, and NVIDIA. | ||
+ | On these platforms, apps that prefer to prioritize performance and screen tearing over accuracy and consistency, will be able to opt to use MTLFence by using the MVK_ALLOW_METAL_FENCES=1 environment variable or build setting."}}</ref>|fix= | ||
+ | {{ii}} MoltenVK 1.1.7+ has disabled Semaphore, it should be re-enabled to dramatically improve performance in games. | ||
+ | #Navigate to: ~/Library/Application Support/CrossOver/Bottles/bottle/cxbottle.conf | ||
+ | #Open cxbottle.conf using TextEdit. | ||
+ | |||
+ | Add: | ||
+ | <code>[EnvironmentVariables] | ||
+ | "MVK_ALLOW_METAL_FENCES" = "1"</code> | ||
+ | }} | ||
+ | |||
+ | ==Framerate tracking== | ||
+ | ===Steam overlay=== | ||
+ | Steam overlay is part of Steam preferences and some games launches through Steam can display the game's framerate. However many games run through Steam do not necessarily correctly launch the Steam overlay. | ||
+ | |||
+ | ===DXVK HUD=== | ||
+ | *Only works when DXVK is enabled and a DirectX 10 or 11 game is running. | ||
+ | *Can cause graphical issues in some games, e.g. [[Dishonored 2]]. | ||
+ | #Navigate to <code>~/Library/Application Support/CrossOver/Bottles/<bottle name></code> | ||
+ | #Ctrl+click <code>cxbottle.conf</code> and open with TextEdit or another text editor | ||
+ | #At the bottom of the file add <code>"DXVK_HUD"="devinfo,gpuload,memory,fps,frametimes"</code> and save | ||
+ | |||
+ | ===[https://github.com/cirquit/trdrop Trdrop]=== | ||
+ | It is possible to take raw footage and analyse using the application. Download It from [https://github.com/cirquit/trdrop/releases here] | ||
+ | |||
+ | ==Recommendations== | ||
+ | Vsync is forced on macOS, so is best to disable vsync and framecap in-game. Practically every game benefits from disabling frame-limiting, making them much more fluid, but without tearing. | ||
+ | |||
+ | Codeweavers usually recommends to install different programs on different bottles, in order to avoid interference between such programs. This is because multiple pieces of software installed within a bottle can cause instabilty and unexpected crashes. | ||
+ | |||
+ | On the other hand, almost all games use the same dependencies, so your bottle becomes more compatible every time a game installs another dependencies. | ||
+ | |||
+ | ===32-bit Games=== | ||
+ | 32-bit games run slowly, and will probably function better on [[Parallels]]. Crossover 22.1 has however introduced compatibility for 32-bit DirectX 10 and 11 games. <ref>{{Refurl|url=https://www.codeweavers.com/blog/jschmid/2023/2/14/presenting-crossover-221-the-hallmark-of-this-holiday|title=Crossover 22.1 release news|date=2023-02-14|snippet=}}</ref> | ||
+ | |||
+ | ===Unreal Engine 4=== | ||
+ | Unreal Engine 4 games often displays a black background, this is due to lack of geometry shader support.<ref>{{Refurl|url=https://www.codeweavers.com/support/forums/general/?t=27;msg=240816#c3|title=Unreal Engine 4 Games on Macbook pro m1… | Community Forums | CrossOver Support | CodeWeavers|date=2022-03-23}}</ref> | ||
+ | |||
+ | ===DirectX 12=== | ||
+ | DirectX 12 support may be available On CrossOver 23 For Mac. | ||
+ | |||
+ | Currently, the best way to play DirectX 12 games on a Mac is with Apple's [[Game_Porting_Toolkit|Game Porting Toolkit]]. | ||
+ | |||
+ | ===Anti-cheat support=== | ||
+ | Anti-cheat support is not available using CrossOver, despite the fact that some exceptions have been made for Proton, a similar compatibility layer that functions on Linux operating systems. | ||
+ | |||
+ | {{References}} | ||
+ | |||
+ | [[Category:Methods]] |
Latest revision as of 18:29, 8 June 2023
CrossOver is a proprietary Windows compatibility layer for macOS based on Wine made by developers CodeWeavers. CrossOver modifies Wine, adding compatibility patches, a user-friendly interface and technical support.
Availability
CrossOver is initially available with a 14-day trial. Remember to use the coupon code APPLEGAMINGWIKINEW
for 20% off the cost of the purchase.
Then CrossOver can be purchased in two editions:
- CrossOver + - which gives 12 months of upgrades and phone support with a discounted renewal price.
- CrossOver Life - which gives lifetime access to all future versions and unlimited email and phone support.
Nightly builds are available for BetterTesters, CodeWeaver's beta testing program.
It is also possible to compile Wine games using other methods for free, for example PortingKit or Wineskin.
Game launchers
CrossOver is capable of running many Windows games installed via exe files (for example DRM-free installers downloaded from GOG.com). However the support for actual game library platforms is currently limited. These platforms are supported:
- Steam
- Ubisoft Connect
Epic Games Launcher
Legendary
- Epic Games Launcher via Legendary : Epic games Launcher can be Installed via a command line tool called Legendary. This can be downloaded as a file from their GitHub Repository and can be added to path to invoke the CLI tool. Login to your Epic Games Account via
legendary
auth and uselegendary list-games
to view your library. After you install a game, add it to crossover via the "Run Command..." Option and navigating to/Users/<username>/legendary/<game folder>
and locating the .exe file. The location may vary based on the game.
Heroic
- Heroic is a GUI front-end for Legendary.
- Install Heroic Games Launcher macOS build
- Install CrossOver 21, created new Heroic Windows 7 x64 Bottle called Heroic
- Install dependencies into Heroic bottle:
- Microsoft Visual C++ 2010 (10.0) Redistributable (64 bit)
- Microsoft XML Parser (MSXML) 3.0
- DirectX for Modern Games
- Core Fonts
- Enable DXVK tick (Ctrl+click on Heroic bottle, go to Settings)
- Link the wine file within /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/CrossOver-Hosted Application/wine
- In Heroic, 'Custom Wine/Proton Paths' and set Wine version to custom
- Blank out WinePrefix folder in Settings and within game settings
- Essential: Ctrl+click on Heroic bottle, rename to 'default' (this is due to hardcoded paths)
Origin
Download the CrossOver Origin install script.
- Create a new Windows 7 x64 bit bottle in CrossOver called 'Origin'
- Click Install a Windows Application and install Origin
- In the Origin installer set the path to the C:\Origin\ folder (do not press install yet)
- Download the script into the /Application Support/CrossOver/ folder
- Run the script by opening Terminal and navigating to /Application Support/CrossOver/ and starting the CrossOver_Origin.sh script
- Whilst the script is running, complete the Origin install
- This script must be re-run whenever Origin requires an update
Recommended settings
DirectX for Modern Games
This should be installed within the bottle for any DirectX 9 game.
DirectX 11
DirectX 11 support can be enabled by toggling DXVK.
Enable DXVK |
---|
|
Esync
Enable Esync |
---|
|
Upgrading DXVK and MoltenVK
Stutters and performance can often be fixed by using a more up to date version of DXVK and MoltenVK than the one included in default CrossOver. This has a dramatic effect on many games including God of War (2018), The Witcher 3, Star Wars: Battlefront II. However, it can also cause instability in games like Battlefield 1. See this tutorial:
Upgrade MoltenVK[1] |
---|
|
Upgrade DXVK |
---|
|
Semaphore fix[2] |
---|
Add:
|
Framerate tracking
Steam overlay
Steam overlay is part of Steam preferences and some games launches through Steam can display the game's framerate. However many games run through Steam do not necessarily correctly launch the Steam overlay.
DXVK HUD
- Only works when DXVK is enabled and a DirectX 10 or 11 game is running.
- Can cause graphical issues in some games, e.g. Dishonored 2.
- Navigate to
~/Library/Application Support/CrossOver/Bottles/<bottle name>
- Ctrl+click
cxbottle.conf
and open with TextEdit or another text editor - At the bottom of the file add
"DXVK_HUD"="devinfo,gpuload,memory,fps,frametimes"
and save
Trdrop
It is possible to take raw footage and analyse using the application. Download It from here
Recommendations
Vsync is forced on macOS, so is best to disable vsync and framecap in-game. Practically every game benefits from disabling frame-limiting, making them much more fluid, but without tearing.
Codeweavers usually recommends to install different programs on different bottles, in order to avoid interference between such programs. This is because multiple pieces of software installed within a bottle can cause instabilty and unexpected crashes.
On the other hand, almost all games use the same dependencies, so your bottle becomes more compatible every time a game installs another dependencies.
32-bit Games
32-bit games run slowly, and will probably function better on Parallels. Crossover 22.1 has however introduced compatibility for 32-bit DirectX 10 and 11 games. [3]
Unreal Engine 4
Unreal Engine 4 games often displays a black background, this is due to lack of geometry shader support.[4]
DirectX 12
DirectX 12 support may be available On CrossOver 23 For Mac.
Currently, the best way to play DirectX 12 games on a Mac is with Apple's Game Porting Toolkit.
Anti-cheat support
Anti-cheat support is not available using CrossOver, despite the fact that some exceptions have been made for Proton, a similar compatibility layer that functions on Linux operating systems.
References
- ↑ https://www.reddit.com/r/macgaming/comments/qt4e1b/you_can_run_the_latest_dxvk_with_crossover_on_mac/
- ↑ Verified by User:Andytizer on 2022-03-23
- From 'nas': Using MTLFence for VkSemaphore has issues of its own: https://github.com/KhronosGroup/MoltenVK/issues/796
- ↑ Crossover 22.1 release news - last accessed on 2023-02-14
- ↑ Unreal Engine 4 Games on Macbook pro m1… - last accessed on 2022-03-23