I know this is probably something very common but even following the Nix-Nvidia documentation page, I wasn’t able to solve my problem.
I’m trying to run Blender and OBS but both complain about not finding the GLX extension:
When I run glxinfo
:
There are no important logs on the Xorg.0.log file in my opinion. When I go to the Pop!_Shop (I’m running Pop Os 21.10) it shows that I need to update my nvidia-drivers:
But I’m not using apt, or any ubuntu pkg manager along with nix to try to solve this problem, so I’m curious about what could I do to fix this once for all.
Specs:
wow, that worked, at least it opens the applications, in a long term do you think this could be the best solution? Or should I try to download the drivers, add them to nix-store and describe them on the nix conf file?
But thanks a lot for the help!!
The nix store is ready-only, you won’t be able to add the drivers there manually.
I have a debian machine using nix as package manager and most of applications that relies on opengl are being wrapped with nixGL.
Here’s some examples from my dotfiles:
- nixGL overlay added to home-manager: https://github.com/portothree/dotfiles/blob/07422b734ac584c8fc56bd152ec7af234269aee8/flake.nix#L99
- nixgl.auto.nixGLNvidia package import: https://github.com/portothree/dotfiles/blob/07422b734ac584c8fc56bd152ec7af234269aee8/hosts/gesonel/home.nix#L22
- Example of service using nixGL wrapper: https://github.com/portothree/dotfiles/blob/07422b734ac584c8fc56bd152ec7af234269aee8/hosts/gesonel/home.nix#L132
# home.nix
[...]
services = {
picom = {
enable = true;
package = pkgs.writers.writeBashBin "picom" ''
${pkgs.nixgl.auto.nixGLNvidia}/bin/nixGLNvidia-460.91.03 ${pkgs.picom}/bin/picom --xrender-sync-fence "$@"
'';
backend = "glx";
experimentalBackends = true;
};
};
[...]