[HN Gopher] NVK reaches Vulkan 1.0 conformance
       ___________________________________________________________________
        
       NVK reaches Vulkan 1.0 conformance
        
       Author : mfilion
       Score  : 59 points
       Date   : 2023-11-20 17:34 UTC (5 hours ago)
        
 (HTM) web link (www.collabora.com)
 (TXT) w3m dump (www.collabora.com)
        
       | cassianoleal wrote:
       | Can anyone ELI5 this for me?
       | 
       | Does this mean NVidia GPUs don't need the proprietary driver
       | anymore? Does this put NVidia on par with Radeon via amdgpu/RADV
       | regarding OSS Linux support?
        
         | babypuncher wrote:
         | I'm not a GPU driver or graphics programmer, so I'll do my
         | best. Hopefully someone more knowledgeable can chime in if I
         | mess something up.
         | 
         | * Last May, Nvidia open-sourced their proprietary kernel
         | module, after moving their proprietary bits into a firmware
         | blob that runs on the GPU itself. As is, this module is not
         | suitable for being mainlined into the Linux kernel, but acts as
         | a starting point for a proper FOSS module.
         | 
         | * Nouveau developers have been able to use code and knowledge
         | from the open-sourced Nvidia module to improve their mainlined
         | kernel module (more low level hardware access, the ability to
         | load said firmware blob, and the ability to control clock
         | speeds/power states).
         | 
         | * The improved, actually useful Nouveau has allowed for the
         | development of a performant user-space Vulkan driver for Nvidia
         | called NVK, which was mainlined into Mesa a few months ago.
         | 
         | * Today's news is that NVK is now Vulkan 1.0 conformant, which
         | means properly written apps that use the Vulkan 1.0 featureset
         | should work and be performant using Nouveau and NVK/Mesa
        
           | samus wrote:
           | > Last May, Nvidia open-sourced their proprietary kernel
           | module, after moving their proprietary bits into a firmware
           | blob that runs on the GPU itself. As is, this module is not
           | suitable for being mainlined into the Linux kernel, but acts
           | as a starting point for a proper FOSS module.
           | 
           | There will probably be no new kernel driver. Nouveau can get
           | the job done now via the proprietary GSP.
           | 
           | > The improved, actually useful Nouveau has allowed for the
           | development of a performant user-space Vulkan driver for
           | Nvidia called NVK, which was mainlined into Mesa a few months
           | ago.
           | 
           | It's faster now, but still slow as a brick. A lot of
           | optimization work is required, but I guess the developers
           | will focus on reaching conformance with more Vulkan versions.
           | By implementing some additional extensions, modern OpenGL
           | versions and OpenCL can then run via Zink and RustiCL. This
           | will make the driver actually useful, hopefully attract
           | users, and help to find bugs and optimization opportunities.
           | Eventually, a native OpenGL driver [edit: actually a Mesa
           | State Tracker] might be required since Zink has a lot of
           | overhead.
        
             | fbdab103 wrote:
             | What is slow in this case? 1% of the NVidia driver
             | performance or 70%? I could stomach some hit to performance
             | to drop the binary blob.
        
           | cwillu wrote:
           | Can they reclock the memory and processing cores to the rated
           | speeds, voltages to the rated voltages, and fans to the
           | speeds that prevent things from melting? That's been _the_
           | stumbling block for a long time, although maybe that's
           | changed in the last year or two.
        
         | fayalalebrun wrote:
         | Yes, this is indeed a replacement for the proprietary driver.
         | However, Vulkan 1.0 is the most basic version of Vulkan. Right
         | now we are at 1.3, plus there are many Vulkan extensions which
         | need to be implemented aside from the core version.
         | 
         | In other words, this is a good start, but with only Vulkan 1.0
         | you won't be able to use something like DXVK, for running
         | DirectX games with Proton/Wine.
        
           | fbdab103 wrote:
           | For what it is worth, the blog post claims that 1.3
           | compatibility is not too far away, "We're not very far off
           | from being able to advertise Vulkan 1.3 but it's all compiler
           | work between here and there."
        
       ___________________________________________________________________
       (page generated 2023-11-20 23:00 UTC)