Announcement

Collapse
No announcement yet.

Experimental Work Allows DXVK To Be Natively Used For Direct3D 11 On Linux

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Experimental Work Allows DXVK To Be Natively Used For Direct3D 11 On Linux

    Phoronix: Experimental Work Allows DXVK To Be Natively Used For Direct3D 11 On Linux

    The DXVK Direct3D 10/11 over Vulkan implementation to date has been built as a Windows library run under Wine along with the game/software being rendered for converting the calls to Vulkan for execution by the host drivers. There is now experimental work for building DXVK as a native Linux library for converting D3D10/D3D11 calls to Vulkan outside of Wine...

    http://www.phoronix.com/scan.php?pag...al-D3D11-Linux

  • arQon
    replied
    Originally posted by CochainComplex View Post
    Most likely some cutting corners executive will not grant them the extra time/money to implement it well
    There are a few places where the teams simply don't have the skill, after all the years of hand-holding DX (and to be fair, GL too, though a lesser extent) provide.
    But yeah, more often it'll be execs botching the schedule, and devs just not caring any more. (Engine work is usually finished YEARS before a game is actually released: the long pole is always the asset teams. But the devs will likely be off that project and onto the next one as soon as their piece is done, but again with no time budgeted for any nontrivial overhauls).

    There's at least one "DX12" engine that is literally just the DX11 code with a wrapper around most of it, so while it technically offers both DX11 and DX12 it actually performs worse in DX12. Unsurprisingly, it doesn't have a Vulkan option. :P

    Not every company can be id, sadly. It's really frustrating to see engines that are hugely inferior to Tech6 in visual quality but still only manage half the framerate despite that; and/or that leave 3/4 of your cores idle while the other 1/4 are pegged. The tide is turning on that, and in a few more years the "heavy" API days will be almost completely over.
    But DX12 vs Vulkan is still important regardless of workarounds like DXVK, because every hurdle you don't have to deal with when porting increases the chances of Linux-native games, by however tiny an amount; and (DRM BS aside) that in turn increases the potential for more gamers to have switching to Linux be a genuinely viable option, and thus the ROI *of* Linux-native releases, giving us a virtuous cycle.

    I don't see it happening though, TBH. There's a once-in-a-lifetime opportunity coming up when W7 EOLs in a couple of months, but despite the superb progress of the past year Proton isn't quite good enough (because WINE isn't good enough) to actually pull it off. Still, every little helps, and if Linux manages to get as far as 2% by the end of 2020 we should consider that a huge victory. Here's hoping.

    Leave a comment:


  • CochainComplex
    replied
    Originally posted by betam4x View Post

    DX11 may outpace Vulkan, however every title I've used that supports DX12 also supports Vulkan.
    Well as mentioned before I think the responsibility of performance is more or less shifted from Driver to Engine but this comes with additonal work for the game studios. Most likely some cutting corners executive will not grant them the extra time/money to implement it well optimized, especiallyif it can be done by DX11 with some optimizing work on AMD/Nvidia side as done the last couple of years. So transition from DX11 to DX12 or Vulkan is slower as expected.

    Leave a comment:


  • betam4x
    replied
    Originally posted by DoMiNeLa10 View Post

    Even WineD3D can do vastly better in good cases than native Windows, and at least double perf on the same machine if you're lucky. Osu! back in the day was like that, but if it detected wine, it would block the irrelevant DirectX renderer unless Wine version was hidden from it. Too bad it required actual Microsoft .net to run.
    I consider myself to be a heavy PC gamer, and pretty much all the games I play run either native or via Proton. Because I have a high core count system, DXVK runs far better than Windows for these games. None of the games I play don't work under proton, but I shy away from games with heavy handed DRM or anticheat. Both DRM and anticheat products don't work as advertised, and instead they introduce low level hooks into your system that lead to instability (BSODs), create potential security issues, and more. Better to let the dead stay dead.

    Leave a comment:


  • betam4x
    replied
    Originally posted by arQon View Post

    umm, how is it a LOSING battle, when DX12 use outpaces Vulkan by at least 10 to 1?

    It's not "entertaining" at all: it's a @#$%ing pain in the ass, and a huge factor in keeping native games off Linux because nobody wants to write for multiple APIs and the overwhelming majority of devs have stuck with the DX "line" rather than transition to VK, even though the two are virtually identical at this point.

    As others have already pointed out, DX is a *massive* part of the "appeal" of Windows. And DX12 is "winning" just the same as 5-11 did against OGL.
    DX11 may outpace Vulkan, however every title I've used that supports DX12 also supports Vulkan.

    Leave a comment:


  • betam4x
    replied
    By middleware you actually mean developers.

    I swear, back when I actually wrote gaming stuff in C/C++, I always had a way to abstract the rendering interface from the API, allowing for easy ports from time to time. Pretty much everything was abstracted as well. Either hidden behind functions or classes. Then again I knew both DX7/DX8/DX9 and OpenGL, so I knew how to do that. If an engine is written properly, it should just be a matter of creating the proper tooling to port it.

    Although as another user mentions, OpenGL performance under Linux is often a disappointment.

    Leave a comment:


  • dragon321
    replied
    Originally posted by arQon View Post
    As others have already pointed out, DX is a *massive* part of the "appeal" of Windows. And DX12 is "winning" just the same as 5-11 did against OGL.
    According do pcgamingwiki.com DX12 and Vulkan have similar game count. Even if we count only Windows games (there are some games with Vulkan support only on Linux) it's definitely not the same difference like DX <= 11 vs OpenGL. It's hard to tell "DX12 is winning".

    There is also another difference - comparing to older DX, DX12 is already pretty good supported in Wine. How long we had to wait for working and fast DX11 implementation? Basically DXVK brought us fast and working DX11 on Linux and first version of DXVK was released in 2018 and DX11 was released in 2009 with Windows 7. Even if we count Wine DX11 implementation it still years ahead first DX11 release. Even if DX12 will win, it should be already working pretty good on Wine.

    Leave a comment:


  • CochainComplex
    replied
    Originally posted by arQon View Post

    umm, how is it a LOSING battle, when DX12 use outpaces Vulkan by at least 10 to 1?

    It's not "entertaining" at all: it's a @#$%ing pain in the ass, and a huge factor in keeping native games off Linux because nobody wants to write for multiple APIs and the overwhelming majority of devs have stuck with the DX "line" rather than transition to VK, even though the two are virtually identical at this point.

    As others have already pointed out, DX is a *massive* part of the "appeal" of Windows. And DX12 is "winning" just the same as 5-11 did against OGL.

    dont forget the ms taskforce helping devs to get their project done. i think the khronos groupe simply does not have this kind of payed helping taskforce. mostlikely with vulkan you will be more or less on your own...this is what i would assume but i have no proof. just an educated guess...

    Leave a comment:


  • CochainComplex
    replied
    Originally posted by DoMiNeLa10 View Post
    Even WineD3D can do vastly better in good cases than native Windows, and at least double perf on the same machine if you're lucky. Osu! back in the day was like that, but if it detected wine, it would block the irrelevant DirectX renderer unless Wine version was hidden from it. Too bad it required actual Microsoft .net to run.

    i totally agree. but you know the most of them just want to doubleclick on the latest AAA game icon and expext this to work flawless out of the box. since dxvk and proton it can be the case for surprisingly alot of games...but not enough to convince them. especially when it comes to drm mechanisms seen on a lot of uplay games.

    Leave a comment:


  • DoMiNeLa10
    replied
    Originally posted by CochainComplex View Post

    Well this would be suicidal. DirectX is for a lot of users the only thing which keeps them on windows. I have heard a lot of people saying: yeah I would give a shot but gaming on linux is still worse, they dont have native directx.
    Even WineD3D can do vastly better in good cases than native Windows, and at least double perf on the same machine if you're lucky. Osu! back in the day was like that, but if it detected wine, it would block the irrelevant DirectX renderer unless Wine version was hidden from it. Too bad it required actual Microsoft .net to run.

    Leave a comment:

Working...
X