Tuesday, December 27, 2022

vkd3d-proton version 2.8 has been released

VKD3D-Proton is a fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan. The project serves as the development effort for Direct3D 12 support in Proton.



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.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Friday, December 23, 2022

Manage Your Linux Game Library With Lutris

Lutris is an open-source Linux game manager, but it’s more than that. It aims to provide a single unified way to handle gaming on Linux.

It brings together all aspects of Linux gaming into one place. Steam, Wine, HumbleBundle, GOG, and even a whole range of emulators are all brought together for a relatively seamless experience.

Lutris also provides methods for installing games. It integrates with Steam, and it provides installer scripts for even the trickiest Wine games.

Running Lutris

Start Lutris for the first time

You can start Lutris from any other graphical application. The basic screen that you get when you don’t have any games installed is fairly plain. It just prompts you to create an account and add your games.

Create a Lutris account

It’s best for you to create a Lutris account now. Your account is the way that the client can keep your game library synchronized. It also opens up the option to browse and install games from the platform’s website. You can register easily on the Lutris website.

Once you’ve set up your account, take a look at the client again. The middle button on the main screen will allow you to link your new account to the client. Click on it and enter in your username and password.

Adding Games and Runners

Lutris has a couple of ways of adding games. It uses other programs called runners to actually run games. This is more of a management platform than anything else. It organizes things but doesn’t do any heavy lifting.

Lutris Runners

To see the list of available runners, click on the icon at the top of your Lutris window. A window will open up with a list of runners. Many are emulators, but you’ll see Steam and Wine there, too. With the exception of Steam, you can install the runners through this window. You can even manage and install multiple versions of Wine. Lutris will keep track of them. It actually has custom scripts for Wine games that specify the best version of Wine to use.

Lutris Wine Install

Steam has to be installed separately through your distribution’s package manager, but Lutris will pick it up immediately once you have. In order to actually get your Steam games, you need to sign into your Lutris account in your web browser. Go to your profile and click on the “Sign in through Steam” button. This will link your Steam account so the client can display your games and other Steam features.

Lutris Games

For many other games you can browse the selection on the Lutris website. There are tons on there, and more are constantly being added. Like with Steam, you can download games from the site, and the client will set them up for you.

If you have any other games that aren’t covered through Steam or the Lutris website, you can add them manually. The plus sign at the top of the client lets you create your own custom game launcher for games that are already installed on your computer.  The development team plans on adding support for GOG and HumbleBundle in the near future, but for now you can still add games that you purchase through either of these services manually.

Once you’ve added a library of games, you’ll see a nice tiled image layout of all of your games on the main screen of the Lutris client. You can now run all of your games through Lutris!

Full Article

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.



Wine development release 8.0-rc2 is now available for Linux FreeBSD and macOS

The Wine development release 8.0-rc2 is now available.

What's new in this release:

  • Bug fixes only, we are in code freeze.

The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations. 

Bugs fixed in 8.0-rc2 (total 50):

 - #31927  ws2_32:sock fails intermittently - 'Test succeeded inside todo block: GetQueuedCompletionStatus returned 0'
 - #42797  ICU64 for VICE: No highlighted read/write-colors in Memory-window.
 - #46500  Cogpack - Exercises can't be run - Error 380 - Invalid property value
 - #46538  Unreal Tournament (UT99): mouse clicks in main menu work only once
 - #49394  CED1401 USB function driver needs ntoskrnl.exe.KeInsertQueueDpc()
 - #49517  Warframe crashes during loading before menu with wined3d, gives popup
 - #50013  MyPhoneExplorer 1.8.15 crashes
 - #50043  Kholat from GOG does not launch anymore
 - #50315  Silent Hill 2 failed to install -installshield extraction error
 - #50468  winedbg fails to load symbols for non PE builtin dlls
 - #52334  Performance has degraded in multiple games (WoW 1.12.1, Kane & Lynch: Dead Men Demo)
 - #52394  "Control panel" -> "Add/Remove Programs" in builtin wine explorer is not working
 - #52564  dxgi:dxgi times out in test_find_closest_matching_mode() on cw-gtx560
 - #52708  libs/xslt/libxslt/attributes.c:136:9: error: variadic functions must use the base AAPCS variant
 - #52779  Construction Set Extender crash with an Assertion Error in wine 7.5
 - #52873  oleaut32:typelib fails in Wine in Hindi
 - #52964  kernel32:locale - test_CompareStringA() fails on Wine in Hindi
 - #52997  Integration of D3D12 support with a PE build of vkd3d causes a crash in Steam Overlay.
 - #53028  gamepad buttons stopped working correctly
 - #53099  wineserver (gcc -O0) crash when exiting LiLi USB Creator
 - #53300  Controller response delayed
 - #53384  Hogia Hemekonomi Unexpected error on first start
 - #53406  Had been running 7.10 Fedora version no problem, but today updated to 7.12 broke??
 - #53485  Cursor is missing in Visio 2003 when editing text
 - #53503  QuickBooks Pro 99 page faults with print preview or attempting to print
 - #53525  dinput:hid - test_hid_multiple_tlc() sometimes fails with testsigning turned on
 - #53550  Some Catalan locales not properly handled
 - #53595  Iran Timezone is not detected correctly
 - #53623  Resident Evil 7 has broken rendering in DX11 mode
 - #53625  In function ‘get_gnutls_cipher’ ... error: ‘GNUTLS_CIPHER_AES_128_CFB8’ undeclared
 - #53744  WM_SETTEXT between ANSI programs treating LPARAM as Unicode causing name corruption
 - #53756  configure fails in 32-bit gcc checking pthread_create using -Wl,--disable-stdcall-fixup
 - #53884  Project Ignis: EDOPro corrupted textures on resizing
 - #53894  user32:sysparams - test_WM_DISPLAYCHANGE() times out on Windows 7+
 - #53911  DC++ can't retrieve file list from another user
 - #53912  Static initialization in Winelibs may hang the loader as of Wine 7.21
 - #53918  Building with external PE libraries fails when static libraries are also installed
 - #53941  Chicken Tournament crashes on start
 - #53976  ntoskrnl.exe:ntoskrnl - test_pnp_devices() fails on Windows 7
 - #53977  amstream:amstream qedit:mediadet mf:transform mfmediaengine:mfmediaengine quartz:filtergraph winmm:mci wmp:media wmvcore:wmvcore mf:mf mfplay:mfplay qasf:asfreader broken on Debian Testing
 - #53980  httpapi:httpapi sometimes crashes testing overlapped I/O with the v2 server in Wine
 - #53990  Serious Sam 2 crashes with OpenGL renderer
 - #54000  user32:win - test_mouse_input() gets an unexpected 0x60 message on Windows 11
 - #54060  Compilation fails with gcc 4.8.4 (Error: junk at end of line, first unrecognized character is `"')
 - #54085  windows.devices.enumeration:devices - test_DeviceAccessInformation() sometimes crashes on Windows 10
 - #54094  kernel32:process - test_services_exe() sometimes fails due to an invalid buffer size in Windows
 - #54096  Non-PE builds broken since "ntdll: Move the .so module initialization to winecrt0."
 - #54101  unimplemented function MSVCP70.dll.?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ
 - #54105  taskschd:scheduler fails on Windows 10 1607+
 - #54121  8.0-rc1 build fails with errors in bcrypt in Ubuntu 18.04

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.


Wednesday, December 21, 2022

BundleHunt BlackFriday macOS software Bundle ending soon

The BlackFriday macOS Bundle featuring 56 macOS Software & Design Tools will be ending soon, dont miss your chance to get this software bundle before its to late.


Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.


Sunday, December 11, 2022

Wine development release 8.0-rc1 is now available for Linux FreeBSD and macOS

The Wine development release 8.0-rc1 is now available.

This is the first release candidate for the upcoming Wine 8.0. It marks the beginning of the yearly code freeze period. Please give this release a good testing and report any issue that you find, to help us make the final 8.0 as good as possible.

What's new in this release:

  • Bundled vkd3d upgraded to version 1.6.
  • Vulkan and OpenGL thunking optimizations.
  • More support for print processors.
  • Improved joystick control panel.
  • Long types printf format conversion finished.
  • Various bug fixes.

The source is available now. Binary packages are in the process of being built, and will appear soon at their respective download locations. 


 Bugs fixed in 8.0-rc1 (total 52):

 - #28290  shell32:shelllink - test_load_save() crashes randomly in Wine
 - #36681  ws2_32/tests/sock.c fails on gentoo without IPX support
 - #46649  Multiple applications need D3DXDisassembleShader() implementation (Tom Clancy's Rainbow Six: Vegas 2, The Void)
 - #48105  kernel32:console fails on Japanese and Chinese Windows
 - #51234  user32:clipboard test_ClipboardOwner() has a race condition with clipboard managers
 - #51456  oleaut32:typelib: test_CreateTypeLib(SYS_WIN32) fails in 64-bit Wine
 - #51457  The 32-bit version:install fails in 64-bit wineprefixes (now todo)
 - #51780  The user32:msg output is too big in Wine
 - #52507  user32:win has some spurious GetScrollInfo failures
 - #52875  riched20:editor fails with the UTF-8 code page
 - #52877  user32:msg - test_dbcs_wm_char() fails in Wine in the Japanese and Chinese locales
 - #52909  rpcrt4:ndr_marshall crashes on the latest Windows 8.1, 21H1 and 21H2
 - #52910  mshtml:htmldoc fails on Windows with the UTF-8 codepage
 - #52965  kernel32:locale - test_GetLocaleInfoW() and test_invariant() fail on Windows in Hindi
 - #52980  conhost.exe:tty - test_tty_input() fails in most locales on Windows
 - #53183  shell32:shelllink - test_load_save() randomly fails to delete test.lnk in Wine
 - #53199  dinput:force_feedback - test_windows_gaming_input() sometimes has unexpected reference counts in Wine
 - #53207  user32:msg - test_button_messages() fails randomly in Windows and Wine
 - #53208  user32:msg - The SW_SHOWMINIMIZED test in test_messages() succeeds in Wine with fvwm
 - #53211  ddraw:ddraw1 has over 255 failures on the debian11 TestBot VMs
 - #53233  ddraw:ddraw1 - test_clear() has rare failures in Wine on the debian11 VM
 - #53240  dinput:device8 - test_sys_mouse() has some rare failures on the TestBot VMs
 - #53254  urlmon:url - test_URLDownloadToFile_abort() sometimes fails on Windows 7+
 - #53327  Ragnarok Online bad performance
 - #53342  quartz:mpegaudio - The 64-bit test_streaming_events() times out on fg-deb64
 - #53530  mshtml:htmldoc - test_editing_mode(TRUE, TRUE) sometimes fails
 - #53568  16bit applications refuse to start wine 7.15+
 - #53646  Multiple installers crash in user32 (Drakan, Star Wars, Colin McRae, X-COM, etc.)
 - #53678  vbscript can not compile CaseClausules that do not use a colon
 - #53684  ntdll:info is broken on Windows 8 to 10 1709 in the GitLab WineTest builds
 - #53686  The 64-bit kernel32:console is broken on Windows in the GitLab WineTest builds
 - #53783  vbscript can not compile private const expressions
 - #53814  TMUnlimiter requires ini files with whitespace in the section to be parsed properly
 - #53895  ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 - test_cursor_clipping() fails on dual screen setups in Wine
 - #53927  script56.chm help file pages not functioning properly due to wine missing beforeprint and afterprint html events
 - #53950  dup2 error returns ENFILE instead of EBADF
 - #53964  Redim should fail on fixed arrays
 - #53966  NCryptExportKey is not implemented
 - #53968  NCryptSignHash is not implemented
 - #53971  postgresql installer 9.3 needs support for Username in WScript.Network
 - #53972  BCryptSignHash does not support BCRYPT_PAD_PSS
 - #53987  Regression in print handling in Framemaker 8
 - #53996  MDB Viewer Plus: can not open database
 - #53999  JGlossator crashes
 - #54009  Wine segfaults on startup on macOS 12 and 13
 - #54012  kernel32:heap - The 64-bit test_GlobalAlloc() fails on Windows 7
 - #54043  Studio One Professional 5 crash on launch with an unimplemented function USER32.dll.RegisterSuspendResumeNotification
 - #54057  prints do not work in any application
 - #54075  wldap32:parse - test_ldap_paged_search() sometimes gets LDAP_SERVER_DOWN in Wine, crashes
 - #54087  mshtml:events sometimes gets a failure in Protocol_Continue() on Windows
 - #54098  winhttp:notification fails and times out systematically in Wine
 - #54111  Unable to run "make install" after "makedep: Add a helper function to skip spaces in strings."

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.

Friday, December 9, 2022

Proton 7.0-5 released

 Released as Proton Next:

  • The following games are now playable:
    • Rift
    • Unravel 2
    • Airborne Kingdom
    • Nancy Drew: Legend of the Crystal Skull
    • Re-Volt
    • Aspire: Ina's Tale
    • Battle Realms: Zen Edition
    • Deathsmiles II
    • Primal Carnage: Extinction
    • Pico Park Classic Edition
    • Six Ages: Ride Like the Wind
    • Darkstar One
    • Indiana Jones and the Emperor Tomb
    • Bulletstorm: Full Clip Edition
  • Fix Batman: Arkham City GOTY launching in the background on Steam Deck when set to fullscreen.
  • Fix Marvel's Spider-Man Remastered displaying dialog about outdated drivers on AMD systems.
  • Fix Final Fantasy IV (3D Remake) having no audio.
  • Fix Return to Monkey Island not reacting to mouse clicks after a recent game update.
  • Fix upsidedown videos in VRChat and many other games.
  • Fix Call of Duty Black Ops II Zombies and Multiplayer hanging on exit.
  • Fix Bail or Jail crashing when opening the Terms of Serivce.
  • Improve GTA V situation with not loading textures.
  • Fix Red Dead Redemption 2 crashing after a recent game update.
  • Fix Final Fantasy XIV Online launcher functionality after game update.
  • Fix cutscene stutter in Disgaea 5.
  • Fix Thrustmaster HOTAS having non-functional dial in Elite Dangerous.
  • Fix Planet Zoo randomly crashing.
  • Fix SCP: Secret Labratory not being playable after a recent game update (again).
  • Fix Tekken 7 crashing at launch.
  • Fix Armello hanging on exit.
  • Fix Sword Art Online: Hollow Realization freezing after the tutorial.
  • Fix Space Engineers intro video not playing correctly.
  • Fix Dragon's Dogma: Dark Arisen videos not playing correctly.
  • Implement network video support for VRChat.
  • Update dxvk to v1.10.3-28-ge3daa699.

Link to source code

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.


Monday, December 5, 2022

Lutris 0.5.12 has been released

Lutris helps you install and play video games from all eras and from most gaming systems. By leveraging and combining existing emulators, engine re-implementations and compatibility layers, it gives you a central interface to launch all your games.

The client can connect with existing services like Humble Bundle, GOG and Steam to make your game libraries easily available. Game downloads and installations are automated and can be modified through user made scripts.

Download this version of Lutris from here.

Changelog :

  • 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

Run Microsoft Windows Applications and Games on Mac, Linux or ChromeOS save up to 20% off  CodeWeavers CrossOver+ today.