[HOW TO] How to get Windows Apps / Games working in Zorin OS 16

dxvk-nvapi 0.6 got released. For manual installation follow this post.

  • Update NVAPI headers to R525.
  • Update NVML headers to R525.
  • Report Ada architecture for NVIDIA 4000 series.
  • Spoof Ampere instead of Ada or later for certain DLSS versions to prevent failing DLSS initialization.
  • Spoof Pascal instead of Turing or later when detecting Monster Hunter World to prevent startup crashes.
  • Add several new entry points for querying GPU attributes using NVML (GPU core count, PCIe link width, IRQ). Most of those require wine-nvml v0.2.
  • Re-implement several entry points for querying GPU system information using newer NVML methods (thermal states, dynamic performance states, BUS type). Those newer NVML methods better match their NVAPI counterparts and result in a more complete implementation of those entry points. This requires wine-nvml v0.2.
  • Fix build error when building with GCC 12.
  • Add internal optimizations (smaller compile units, code formatting with clang-format).
  • Bump required meson version to 0.58.

I need to install WeChat messenger for Windows. I've installed Wine as per your instructions, but not sure what next (as it's not a game). Should I:

  1. just use plain Wine?
  2. Install Lutris and use that to install or run WeChat?
  3. install PlayonLinux and use that to install or run WeChat?
  4. Other? (E.g. Bottles?)

I would try Lutris first or bottles, bottles and lutris are great tools.

Lutris v0.5.12 got released:
Add support for Xbox games with the xemu runner
Fix authentication issue with Origin
Fix authentication issue with EGS
Fix authentication issue with Ubisoft Connect when 2FA is enabled
Fix integration issue with GOG
Add Discord Rich Presence integration
Add ability to extract icons from Windows executables
Allow setting custom cover art
Re-style configuration dialogs

If your store keeps wanting to downgrade (like mine does), write sudo apt-mark hold lutris

GE-Proton7-42 Released

Pull in upstream build changes from proton experimental
update dxvk-nvapi
update dxvk
update vkd3d
update media converter
update wine to latest proton experimental bleeding edge
rebase wine staging
dxvk: add launcher fix for secret world:legends
protonfixes: add d3d9_43 and 11_43 winetricks for secret world: legends (thanks zerodogg)
protonfixes: remove no longer needed fps cap for king of fighters (applied in dxvk directly instead, thanks Bitwolfies)
protonfixes: remove no longer needed EAC workaround for SQUAD (thanks mikk150)
protonfixes: add protonfix for Skeleton Boomerang (thanks xperia64)
protonfixes: add protonfix for Re-Volt (thanks mthsk)

VKD3D v2.8 got released:

This release rolls up some significant new developments before the holidays.

VK_EXT_descriptor_buffer support

This extension is significant in that it removes a ton of CPU overhead.
We already had most of this in place on RADV and Steam Deck,
but this will allow NVIDIA, Intel, Turnip, and other AMD driver implementations to hit the same optimal code paths.
GPU bound performance increases slightly since we can also remove some shader code that was required to workaround lack of descriptor buffers.

New extension requirements

To support descriptor buffers in the code base, these features are now required instead of optional.
Note that these features are widely supported already and is not expected to cause any problems.
If an implementation could support v2.7, it will support v2.8.

  • VK_KHR_buffer_device_address
  • VK_KHR_push_descriptor

Rewritten support for host accessible images

The entire API feature was rewritten from scratch to support more implementations and edge cases without
a lot of per-application hacks and workarounds.
As the most extreme example of weird API usage, Guardians of the Galaxy should (finally) run well on NVIDIA.

Rewritten swap chain

To most users, this change should be transparent.

  • Allow more precise control on latency and frame pacing with VK_KHR_present_wait.
    • mesa-git supports this along with NVIDIA.
    • VKD3D_SWAPCHAIN_LATENCY_FRAMES=n allows user to force a specific amount of latency.
    • Implementation of DXGI latency fences is now correct.
  • Reduce CPU overhead on the main thread that presents to swap chain.
  • Fixes a spurious hang in Hitman III where game relies on asynchronous present in order to not lock up.
  • Win32 specific DXGI code is handled by DXVK. A DXVK build from Experimental or later is required for this to work.
    This allows a native Linux implementation of vkd3d-proton, including swap chain.
  • When VK_KHR_present_wait is not supported, behavior should be 1:1 with old implementation.

NOTE: The old swapchain implementation is still in the repository, and is expected to be removed in the next release.
For now, VKD3D_CONFIG=swapchain_legacy can be used to triage any potential issues with the new one.

NOTE: A driver crash was observed on NVIDIA 525.x drivers when running in some PRIME configurations.
For now, we disable use of present_wait on these drivers.

Fixes and workarounds

  • Workaround GPU hangs in Spiderman Remastered: Miles Morales (same issue as the original).
  • Fix rendering bug with gun damage in Borderlands 3 on RADV.
  • Refactor how resizable BAR is used. GPUs with 4 GiB and lower will no longer attempt to use resizable BAR,
    which can avoid some out-of-memory situations.
  • Fix GPU hang in Age of Empires IV.
  • Fix some minor issues in mesh shader implementation.
  • Fix some issues preventing RE: Village from booting on Arc.
  • Some last minute frenzied fixes for Witcher 3 next-gen update.
    • All features except RT appears to work on RADV.
    • Hairworks is known to crash GPU on NVIDIA. More investigation is needed to root cause.
    • Some RT effects work on NVIDIA, others don't:
      • GI is reported to work.
      • AO crashes GPU. More investigation is needed to root cause.

Implement minor missing D3D12 features

An obscure feature was stubbed out and forgotten until now.
ID3D12Device1::SetEventOnMultipleFenceCompletion() is now implemented.

Also, implement SetEventOn(Multiple)FenceCompletion for shared D3D12 fences.
Fixes a regression in Gears 5 causing lockup on boot.

1 Like

I was about to ask on the board until I read your post ..... thanks ... :+1:

Hi can you show me how to install directx I can't install it I've been trying for a while

@swarfendor437, another great tool for lutris to support older games d8vk

This build is currently based off of the latest master of dxvk v2.0. Dozens of games already work to differing extents, including a few highlights:

  • The Elder Scrolls III: Morrowind
  • Grand Theft Auto III
  • Grand Theft Auto: Vice City
  • Postal 2
  • Silent Hill 2
  • Silent Hill 3
  • Deus Ex: Invisible War
  • Splinter Cell
  • Hotline Miami
  • Scrapland Remastered
  • The Simpsons: Hit & Run
  • Indiana Jones and the Emperor's Tomb
  • And many, many, more...

These games are very likely (not 100% guaranteed) to work without major issues on Linux. Proton is recommended but not required. Games not listed as supported may still work, but you'll have to test them. Do note, this is a pre-release.

If you encounter any issues (minor or major) on any games at all, please open an issue!

Features

Notes

  • For now, it is required to install both d3d8.dll and d3d9.dll in the same place for d8vk to work. You must use the d3d9.dll that comes with the d8vk release, not one from upstream dxvk.
    • This is similar to how d3d10 and 11 work already, but building a single d3d8 dll (#19) is planned as a possible feature in the future.
  • This is a Linux build only. Windows builds are not currently functional (#72). DXVK-Native builds (#15) are also not yet available.
    • Windows builds will be included in a future release.

Edit (12/6): The binaries have been rebuilt with debug symbols stripped from d3d9.dll. Although not expected, if you have any performance issues try redownloading from here.

2 Likes

I'm curious .... does this mean that these games will run if I transfer them from a USB HD to Zorn ????? ..... or do I still have to play them on Steam or other website ?????? ..... these games I have were all downloaded while using Windows .....

If you downloaded the games with steam then you can use proton.

1 Like

What about games owned like Simpson's Hit and Run? By that I mean original discs.

1 Like

No idea, used to have that game too…but the disc is dead :sweat_smile:.

Did you try running it with the latest wine-ge-proton version in lutris ?

I don't tend to game Windows games on GNU/Linux - my main gaming platform if I am honest is PS4 Pro. On Linux it is Mahjongg and Battle for Wesnoth. :wink:

Many were copied from their original CD's and put on an external HD and some came from other sources .... none came from Steam ..... I guess I should have said the games were written for M$

Other sources haha :pirate_flag:

Games that dont come from steam i would advise and use lutris for it.

1 Like

I am curious about one thing, if you buy a game in the ps store. Do you need to buy it again when you switch to ps5 ?

I think it depends on the game. If you move to PS5 you need to have the disc for it to work from memory. What makes me laugh is that the PS4 Pro now has an app called "Find my PS5" - I am happy with the PS4 Pro that I bought off my eldest's Fiance and even happier now that my youngest and her Fiance got me a new standard PS4 controller for Christmas. I can run faster and shoot more accurately!

1 Like

I was trying to be diplomatic ..... :+1: :rofl:

Most titles of ps4 work in the ps5. There were over 2000 titles that were compatible (cd or digital) when i was attempting to get my ps5. There is a list on Sony's website with all of the titles.

1 Like