Just recently NVK, the open source Nvidia Vulkan driver, merged in a new Vulkan extension that is rather important and means it will work properly with Gamescope.
The extension is VK_EXT_image_drm_format_modifier which was worked on by developers from Google, NVIDIA, Intel and Arm. That has now been merged into NVK in Mesa, and backported to the Mesa 24.1 staging branch ready for the Mesa 24.1 release that should arrive on May 22nd.
Writing about the work involved in getting this into NVK, Collabora developer Faith Ekstrand wrote up a fresh blog post going over the details of it. As said by Ekstrand:
DRM format modifier support is one of the most important features we've landed in NVK in a while. Though it's not a very interesting feature to most Vulkan applications or game developers, it's very important to the Linux display pipeline. Importantly to users, this is the last piece required to support GameScope. It's also an important piece in making Zink+NVK a robust OpenGL solution.
Sounds like it's been a bit of a complicated journey. The blog post is worth a read if you like the technical stuff.
This is particularly exciting to see, given how popular Gamescope is and how useful it is. Additionally, Ekstrand mentioned how this was also "the last major piece required for competent OpenGL support through Zink" — awesome!
It's just another step towards getting NVK in shape to be a fully-featured and performant driver on Linux, for those who wish to run their NVIDIA GPU with open source rather than NVIDIA's proprietary driver, although even NVIDIA have been making more open source steps lately.
I mean nvidia already showed Wolfenstein running on an ARM cpu on Linux 3 years ago. Now with NVK being a thing it could work out I guess.
I'll be down to swap to em when they hit Fedora.
Last edited by pilk on 17 May 2024 at 6:57 am UTC
Even if I could use it by just swapping to it like a desktop environment in SDDM, where it'd be like Plasma (NVK Wayland) or (NVK X11)
This way I could like, check on the progress periodically without compromising my core experience, cause hot damn NVK is moving impressively fast in terms of updates and new features.
Last edited by WMan22 on 17 May 2024 at 12:10 pm UTC
Quoting: WMan22I wish there was an auto swap utility akin to prime-run/Nvidia Optimus where I could use the proprietary driver for games that run better with it, and NVK for games that run better with that, like A Hat In Time.I have something close to that in NixOS using specialisations: in a way you can see it like a dualboot where I have one NixOS install with proprietary Nvidia and stable Mesa for my iGPU and another install with source-built unstable Mesa all the way, except everything that can be shared is.
Even if I could use it by just swapping to it like a desktop environment in SDDM, where it'd be like Plasma (NVK Wayland) or (NVK X11)
This way I could like, check on the progress periodically without compromising my core experience, cause hot damn NVK is moving impressively fast in terms of updates and new features.
These days I use Mesa for work and some gaming (mainly osu!) and reboot to the proprietary driver for stuff that isn't there yet.
You can probably achieve something similar with OSTree-based distros like Fedora Silverblue/Kinoite as it supports “parallel-installable filesystem trees”.
Quoting: WMan22I wish there was an auto swap utility akin to prime-run/Nvidia Optimus where I could use the proprietary driver for games that run better with it, and NVK for games that run better with that, like A Hat In Time.
Even if I could use it by just swapping to it like a desktop environment in SDDM, where it'd be like Plasma (NVK Wayland) or (NVK X11)
This way I could like, check on the progress periodically without compromising my core experience, cause hot damn NVK is moving impressively fast in terms of updates and new features.
You can do it at the boot-level. On my old Maxwell based laptop I had grub setup with two entries for the same kernel, one that blacklisted nouveau, and one that blacklisted nvidia. It was a pretty manual process - I had to edit the grub config after every kernel update. Someone smarter than me could probably automate that though.
My current laptop is Pascal based, and nouveau sucks on it. I'm stuck with the proprietary driver. Anything Turing and newer should work fine though.
Quoting: Nic264I have something close to that in NixOS using specialisations: in a way you can see it like a dualboot where I have one NixOS install with proprietary Nvidia and stable Mesa for my iGPU and another install with source-built unstable Mesa all the way, except everything that can be shared is.
These days I use Mesa for work and some gaming (mainly osu!) and reboot to the proprietary driver for stuff that isn't there yet.
You can probably achieve something similar with OSTree-based distros like Fedora Silverblue/Kinoite as it supports “parallel-installable filesystem trees”.
I appreciate the help, but I've tried 7 different times to learn NixOS, and it's too much of a clusterfuck to learn for a non programmer who isn't willing to donate about a month or three of time trying to use it. I also lost interest in trying to learn it an 8th time since it feels radioactive right now thanks to some drama happening behind the scenes at the moment so oh well.
The parallel installable file system in kinoite thing sounds interesting though, I didn't know that was a feature. Might give it a shot in the future, thanks.
See more from me