Announcement

Collapse
No announcement yet.

VKD3D-Proton 2.8 Brings Many Improvements For Direct3D 12 On Vulkan

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

  • VKD3D-Proton 2.8 Brings Many Improvements For Direct3D 12 On Vulkan

    Phoronix: VKD3D-Proton 2.8 Brings Many Improvements For Direct3D 12 On Vulkan

    VKD3D-Proton 2.8 has been released as a nice Christmas gift to Linux gamers for advancing this Direct3D 12 on Vulkan implementation that is part of Valve's Steam Play (Proton) for enjoying Windows games on Linux...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I helped to isolate several bugs affecting vkd3d/mesa/kernel preventing cyberpunk and a few other games to launch. Also reported vkbasalt not being compatible with the new chain-swap implementation, and created an AUR repository for vkbasalt-git, so it's easier to troubleshoot future issues.

    I use so much open source software every day. It made me happy to be able to give back a bit.

    Comment


    • #3
      Originally posted by atomsymbol
      Just a note: The "Witcher 3 hotfix" crashes the whole X session on my machine. ---- The sooner those unsafe programming languages like C/C++ are replaced with something more advanced when implementing crucial operating system services like the X server and GPU drivers, the better.
      Historically, whenever people tried that, the end result was slow. They tried it with Java in Android. Not only was it slow from garbage collection and JIT, it still had crashes from NULL pointer dereferences despite being a “memory safe language”. Java simply did not call them that. Instead, it called them “java.lang.NullPointerException”. A developer could very easily make them go away by adding a handler for them, but the programs would not necessarily continue operating correctly afterward since if the developer knew how to handle them correctly in advance, the developer would not have needed to catch the exception in the first place.

      Interestingly, the same trick can be implemented in C/C++ by restarting execution from main() using a signal handler to catch the NULL pointer dereference, possibly by using execve() to clean up memory if you care about that sort of thing. Suddenly, C/C++ have one of the properties of a “memory safe” language. :/

      I have heard the phrase that when you have a hammer, every problem looks like a nail. Unfortunately, using the hammer by treating every single issue as a nail is not always the answer to every problem. The thing you hit with it could be made out of glass for example.

      There are a number of reasons why “crucial operating system services like the X server and GPU drivers” are not written in “memory safe” languages, so the suggestion of doing a rewrite always sounds good to the ear, but it is a non-solution that will not happen. The suggestion does not help, although the person wanting to make the suggestion actually attempting the rewrite might help. Either that, or it would be a learning experience in why nobody has already done it despite well meaning people giving this advice for decades. In the latter case, it helps by getting the person to stop making an unhelpful suggestion.

      That said, I think we have different definitions of “crucial operating system services”. Your filesystem is a crucial operating system service. Your display server is not. If your display server kills itself, you can restart it. If your filesystem kills itself, you need to restore from backup. In fact, one of the major selling points of X11 is that you could simply restart the process if there was a crash, which is a luxury that it’s competitors in the early days did not have.

      Lastly, vkd3d-proton probably could benefit from the developers running coverity scans. The last I checked, they did not run any. Addressing issues found by coverity scans can go a long way toward preventing runtime issues. Unlike a rewrite, doing coverity scans is a realistic suggestion. It is so realistic that Linux, FreeBSD, LLVM, GCC, OpenZFS, LibreOffice, Nvidia and the development process for the Mars Rover, to name a few, all do/did coverity scans. Some of them handle the results of the scan more rigorously than others. In particular, Coverity often advertises libreoffice’s use of it on their website, since the libreoffice developers lowered their coverity defect density from 1.1 to 0.08 per thousand lines of code. Consequently, you do not often hear about libreoffice crashing. Coverity scans also have their limitations, but they are better than nothing.
      Last edited by ryao; 16 December 2022, 02:32 PM.

      Comment


      • #4
        Originally posted by atomsymbol
        Just a note: The "Witcher 3 hotfix" crashes the whole X session on my machine. ---- The sooner those unsafe programming languages like C/C++ are replaced with something more advanced when implementing crucial operating system services like the X server and GPU drivers, the better.
        The sooner you stop using broken beyond repair X the better. Except Rust (in some way) there's nothing that can replace C.

        Comment


        • #5
          Originally posted by Zeioth View Post
          I helped to isolate several bugs affecting vkd3d/mesa/kernel preventing cyberpunk and a few other games to launch. Also reported vkbasalt not being compatible with the new chain-swap implementation, and created an AUR repository for vkbasalt-git, so it's easier to troubleshoot future issues.

          I use so much open source software every day. It made me happy to be able to give back a bit.
          I was playing AC Valhalla on lutris-wine-GE-7-34, latest git mesa, vkbasalt from popos repo on NAVI10 with vkd3d proton v2.8. No issue sofar. Everything way smoother. Also vkbasalt runs as expected

          Comment


          • #6
            Originally posted by atomsymbol
            Just a note: The "Witcher 3 hotfix" crashes the whole X session on my machine. ---- The sooner those unsafe programming languages like C/C++ are replaced with something more advanced when implementing crucial operating system services like the X server and GPU drivers, the better.
            I guess you are familiar with the hisotry of X. It started roughly 50 years ago. Till today there has been a ton of changes concerning the gfx representation landscape. X Is still usable because its a patchwork rug of workarounds. But this implies that the basic design is not suited for modern systems. Thats why we should transition to Wayland as fast as possible.
            Bottom line IMHO you should blame X for beeing so structural outdated that one faulty application can kill the whole server*.

            *(of course could also be the driver but this is not related to wine nor vkd3d nor vulkan)
            Last edited by CochainComplex; 16 December 2022, 05:00 AM.

            Comment


            • #7
              Originally posted by atomsymbol
              Just a note: The "Witcher 3 hotfix" crashes the whole X session on my machine. ---- The sooner those unsafe programming languages like C/C++ are replaced with something more advanced when implementing crucial operating system services like the X server and GPU drivers, the better.
              That won't help if the firmware or silicon in your GPU crashed and took at least any chance of display output with it.

              Comment


              • #8
                Originally posted by ryao View Post

                Historically, whenever people tried that, the end result was slow. They tried it with Java in Android. Not only was it slow from garbage collection and JIT, it still had crashes from NULL pointers dereferences despite being a “memory safe language”. Java simply did not call them that. Instead, it called them “java.lang.NullPointerException”. A developer could very easily make them go away by adding a handler for them, but the programs would not necessarily continue operating correctly afterward since if the developer knew how to handle them correctly in advance, the developer would not have needed to catch the exception in the first place.
                Bro... He was talking about Rust. Nobody advocating memory safety is talking about Java or C# these days.

                Comment


                • #9
                  Originally posted by atomsymbol
                  Just a note: The "Witcher 3 hotfix" crashes the whole X session on my machine. ---- The sooner those unsafe programming languages like C/C++ are replaced with something more advanced when implementing crucial operating system services like the X server and GPU drivers, the better.
                  Memory safe CPU programming won't save you from a GPU hang, which is what you got.

                  Comment


                  • #10
                    Originally posted by Zeioth View Post
                    I helped to isolate several bugs affecting vkd3d/mesa/kernel preventing cyberpunk and a few other games to launch. Also reported vkbasalt not being compatible with the new chain-swap implementation, and created an AUR repository for vkbasalt-git, so it's easier to troubleshoot future issues.

                    I use so much open source software every day. It made me happy to be able to give back a bit.
                    Great effort! If only Battlefield 1 could also be fixed before the holidays, that would be great. EA broke the game by forcing their crappy Web app to every user on Steam. But it seems that not all are affected or the outcry would have been much louder?! I wonder why my setup is affected though.

                    Comment

                    Working...
                    X