NVidia on Linux is an unholy mess, and always has been (at the very least since 2004, which is my earliest memory of fighting it). It's true even on NVidia's own SoC (Jetson).
It almost feels like they're trying hard to make the experience worse for everyone: users, OS developers, app developers, hardware developers... I don't know what to make of it, if you want NVidia you should pick an OS other than Linux (I've heard FreeBSD actually works fine), if you want Linux pick a GPU other than NVidia.
When projects like Sway only enable NVidia support behind a flag named --my-next-gpu-wont-be-nvidia, I have sincere doubts that a different gift wrapping will change anything.
It almost feels like they're trying hard to make the experience worse for everyone: users, OS developers, app developers, hardware developers... I don't know what to make of it, if you want NVidia you should pick an OS other than Linux (I've heard FreeBSD actually works fine), if you want Linux pick a GPU other than NVidia.