CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

General Discussion
Open forum for all topics about CrossOver, Community, Open Source, whatever.

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

Back to Threads Reply to Thread

Setting DXVK instead of vulkan in build of WINE based on Crossover 22.0.1

I am a Crossover subscriber. However, the main game I play – Lord of the Rings Online/LOTRO – has many Mac players for whom the cost of a Crossover license is a major impediment to their adoption of the application. I recently tried gcenx's public build of WINE which is based on Crossover 22.0.1's WINE code and it runs LOTRO under MacOS 13 Ventura just as well as Crossover itself with one exception:

Some players, if they are using DirectX 10 or DirectX 11 with Antialiasing enabled, get a "blank red screen" although they can hear the game sounds and can issue keyboard commands even though they can't see anything (useful for not having to force-quit when this happens). Disabling Antialiasing, or leaving Antialiasing enabled and switching to DirectX 9, resolves this issue for them. This issue is not universal, some specific Mac hardware experiences this issue while others do not.

I am fairly certain that this issue is a result of the vulkan backend, as I have noted the exact same symptom and resolutions for LOTRO in Crossover itself. The best solution in commercial Crossover is to enable DXVK rather than using the default vulkan backend. In commercial Crossover, LOTRO runs great on all hardware with DXVK, DirectX 11, and Antialiasing enabled.

My question:
Is it possible to issue some command in the Terminal, "wine -XXX" or whatever, or some setting in winecfg, or some similar easy method; to force the use of DXVK rather than vulkan using this public build of WINE from gcenx?

(Assuming your talking about using crossover on Apple)

Im not sure I entirely understand the question, but afaik Vulkan is always used as an intermediary when using dxvk (source: my own personal experience + https://www.reddit.com/r/macgaming/comments/107vo0f/wineskin_winery_whats_the_difference_between), because dxvk is a translation of directX(9-11) to something the host operating system can understand, e.g. Vulkan, hence the need for the Vulkan dylink library, so macOS can understand what your trying to ask the graphics API (metal to do).

Im not 100% sure what would happen if you removed the vulkanVK.dylink library, but I suspect dxvk would struggle to run as theres no direct translation between that and the apple graphics api (metal?).

The only way you could get around this is to use WineD3D, which can also translate DirectX(1-11), but does so into OpenGL, which I think would be very slow as openGL support on Mac is garbage. As an aside, I think it IS possible to tell wine to instead translate the instruction set into Vulkan using the winetricks command renderer=vulkan (source: https://forum.winehq.org/viewtopic.php?f=8&t=36263), the reverse is also true (aka, switch back to openGL rendering).

There is actually a third option for DirectX12 support, which is VKD3D, which is another build in translation layer for DirectX => Vulcan, but I understand this only supports DX12 games (source: https://www.reddit.com/r/linux_gaming/comments/zqi01k/what_are_the_differences_between_proton_wine_dxvk/).

I "think" the way to switch between them is simply to have the dill's and overrides there when the program starts (apart from the afore mentioned renderer option when using WineD3D). All that crossover does when you turn on the checkbox to enable dvxk, is include the dill's in the relevant system folders and include the overrides in the wine configuration (and the reverse when you switch it off).

This gets slightly more complicated when you consider Proton, which is essentially Valves own version of wine, and associated forks of VKD3D etc, which have their own tweaks and perks.

(Mods feel free to correct me on anything Ive missed, this has been a confusing journey to understanding for me too!)

CrossOver defaults to using the Vulkan backend (as opposed to the OpenGL backend) for wined3d on macOS, precisely because OpenGL support on Macs is not great.

But to answer the original question, no there is no easy way to enable DXVK instead of wined3d with Wine builds; our nice toggle is one of the features we hope convinces people to purchase CrossOver 😉

Best,
Meredith

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzMzNzU5ODAxLCJjc3JmX3Rva2VuIjoiVnBDZXVOYXlHQlBaTjZ6biIsImdkcHIiOjB9