6 ms·
> 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, th
by samus 3y ago
> 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 3y agoWhat 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.
- samus 3y ago~5% is what Nouveau managed without GSP. According to a Phoronix forum post I can't find right now, with GSP it's something like 10% to 20% percent of the proprietary driver. Michael Larabel will surely publish numbers soon that are a bit more reliable.
- fbdab103 3y agoOuch. That's a bit more than I am willing to handle.
- samus 3y agoNouveau was already functional for desktop usage though, apart from certain bugs and limitations. If you just can't stand using the proprietary driver and don't need gaming or compute performance, go for it!
- jakobson14 3y agoShould note, you currently _can_ (or will soon) get gaming and compute through vulkan or rusticl. It's just not currently very fast, yet.
- petermcneeley 3y agoIf you only get 5% of the power of the device why not simply use the CPUs?
- SXX 3y agoBecause you want your system installer or LiveUSBs to work without running GPU in VGA mode at 640×480. Also you get this 5% performance when GPU is clocked at 10% power draw.
- petermcneeley 3y agoYes but you would go pretty far with a integrated intel if you are only getting 5%
- SXX 3y agoIt was ~5% because there was no reclocking whatsoever without GSP support. Nouveau was never most performant driver, but developers still been able to achieve something like 50-80% performance on 6xx 7xx series cards before Nvidia started to signed firmware shenanigans. It's not like I defending the driver performance, but considering for decades it was purely reverse engineering effort by skeleton team < 10 people their achievements are outstanding.
- samus 3y agoI agree. For years the effort was destined to only ever achieve 10% max of its potential performance. Also, there were architectural changes which probably rendered previous optimizations ineffectual.
- jakobson14 3y agohttps://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-nvidia-linux-nouveau/1422015-rust-written-nak-compiler-merged-for-nouveau-nvk-in-mesa-24-0#post1422080 https://www.phoronix.com/forums/forum/linux-graphics-x-org-d... It depended a LOT on the workload. valley? 20% glmark2? 91% vkmark? 11% To some degree this is probably just the vulkan driver and compiler being really, really immature. I expect that the gap will become a LOT closer in the next 6 months, or whenever they get past implementing vulkan 1.3 in the compiler and can put some work into cleanup.
- babypuncher 3y agoHow big of a deal would proper native OpenGL support actually be? My understanding is that OpenGL is more or less deprecated, and any performance heavy graphics applications have long since switched to Vulkan. I would think the performance overhead of a translation layer like Zink would go largely unnoticed when running software old enough to need it on a modern GPU.
- shmerl 3y agoI think there is already an OpenGL implementation over Nouveau (4.5 level)? So that can exists as is, or Zink can be an option. And remaining 4.6 parts are Vulkan related, so may be it can reach 4.6 without Zink too now.
- samus 3y agoOpenGL is deprecated on MacOS only. It remains fully relevant on many platforms, else OpenGL 4.6 would have never happened. Existing heavily optimized legacy applications (especially games) are unlikely to ever switch to Vulkan if no clear advantages can be demonstrated. Zink is very useful and maybe the best option if existing drivers are buggy or not that performant. But the performance impact is usually very apparent.
- kelnos 3y agoNot sure what you mean; OpenGL is still alive and kicking. Apple doesn't like it, but on Linux it's still the dominant way of interacting with the GPU. Vulkan will likely overtake OpenGL at some point, but I think we're quite a ways off from that.
- babypuncher 3y agoI know OpenGL is still used, but it's not used much for performance intensive applications like AAA video games, it's used for things like desktop compositors, largely because the spec hasn't been improved or changed since 2014. Maybe Zink is uniquely inefficient, but my frame of reference for how fast these translation layers can be is DXVK, which in some cases is even faster than native when translating DX11 to Vulkan.