Emulation News: WINE 4.0 with Vulkan/DirectX 12 and game controller support released, yuzu gets shader caching support for better performance and DeSmuME gets more graphics rendering speed-ups!
Development on software letting us emulate various computers/consoles never quite stops and sometimes, the big boys receive a major update of their own. This time, the big boy with an update is WINE, a compatibility layer that allows you to run Windows applications on Linux/macOS along with updates to yuzu and DeSmuME on the console emulation side of things.
WINE 4.0 released – Now supports DirectX 12 and Vulkan!
For years, Linux and macOS have been criticised for the lack of native games available for them. While this is largely true, the folks working on WINE have been expanding the game library on these platforms for years through better compatibility with Windows applications. Through these efforts, various games like The Sims, SimCity 4, Assassin’s Creed, various Call Of Duty games and many more can be played on non-Windows operating systems.
Now, WINE has been updated to version 4.0 which brings about many updates important to Linux/Mac gamers among other relevant updates. These updates include:
- Vulkan rendering support
- This allows for supporting Vulkan rendering in more modern games like DOOM (2016)
- Support for running Direct3D 12 applications
- This technology is being used in some more recent games like Battlefield V although Vulkan is seeing more widespread adoption.
- That being said, it’s still a relevant technology in the PC gaming scene.
- Support for HID game controllers through XInput and the raw input API
- High DPI support for Android devices
- Obviously, you need an x86 Android tablet/smartphone to use this since WINE doesn’t emulate x86 code.
- Support for running DOS binaries has been dropped and now, they’re opened in a DosBox instance
- However, Win16 (Windows 3.1) applications still function
- Many other features such as support for A0, A1 and A2 printing sizes, the implementation of Windows Media Player interfaces and more
To get WINE 4.0, you have to grab it from your respective binary repository on the Linux distribution you’re using.
Yuzu gets support for shader caching to disk
Through some form of miracle and hard work, Nintendo Switch emulation on the PC has been able to get very far even though the console itself hasn’t been out for 2 years!
One of the main Switch emulators is yuzu and it can already emulate some retail games like Pokémon Let’s Go albeit with some issues while requiring a high-specced PC if you want some type of playable speed.
Now, yuzu has received yet another important feature to improve its performance which is support for disk-based shader caching. Shader caching, which should reduce in-game stuttering, allows the emulator to save compiled shaders while it’s running games for later use. Caching shaders is a feature available in many other emulators, like RPCS3, and it’s usually done when you first run a game. These shaders are small programs written in languages such as GLSL that compute visual elements like shadows and lighting and thanks to caching them, the emulator doesn’t have to translate the shaders into machine code tailored for the host every time the game is run.
As a result, both performance and load times are improved which means that more games might become playable especially after shaders get generated. This feature is included in the latest yuzu canary builds which you may get from this link.
More DeSmuME performance updates
For quite some time, development on DeSmuME has been pretty active and this has been bringing about various improvements to the emulation code which in turn, result in performance improvements.
- Functionality to determine the list of clipped polygons and then rendering only them
- This should apparently boost all games that have 3D elements in them and high polygon count scenes will see the most improvement.
- Polygon clipping occurs before polygon sorting thus allowing for shorter lists.
- This update also brings performance improvements to scenes with high polygon counts
- Other improvements to the OpenGL renderer including a fix for bug that crashes the emulator
To grab these improved DeSmuME builds with updated code, check out this link, select the architecture you want (32/64-bit Windows) and download the EXE file from the Artifacts tab.
If you own a lower-end Atom tablet/computer, then it may be a good idea to check out the DeSmuME builds linked above as they may push some games in the playable territory. On the other hand, you should check out recent yuzu updates if you have a high-end PC even if it’s just for the WOW factor of having Switch games running on your PC 😉
As always, report any bugs you encounter on the Issues Tab of the in-line GitHub link or the WINE bug tracker for WINE-related issues.