nix-community / nixGL

A wrapper tool for nix OpenGL application [maintainer=@guibou]
677 stars 78 forks source link

feat: more nixGL variants #122

Closed benneti closed 1 year ago

benneti commented 1 year ago

amd gpus need vaapi drivers from mesa, intel from the intel drivers, some other cards might need to fallback to vaapiVdpau.

Add the mesa driver by default and give some more granular driver options nixGLMesa (for pure mesa), niGLVdpau which uses vaapiVdpau, nixGLIntel for intel drivers.

Additionally I renamed nixVulkanIntel to nixVulkanMesa (to better reflect what it is) and added nixVulkanIntel = nixVulkanMesa for compatibility.

Using this fixes (nix installed mpv, moonlight, and I think also firefox) with vaapi on my amd system and therefore probably https://github.com/guibou/nixGL/issues/115.

The driver auto selection is not chaged as nixGLIntel should now work for amd and intel systems, while nixGLMesa only works on systems that have all drivers in mesa.

guibou commented 1 year ago

Thank you!

I don't have any possibility to test this, so let's trust you and merge when the sanity tests are OK ;)

guibou commented 1 year ago

Branch failed, looks like the icd problem recently merged in #93. Let's rebase and see what is happening.

benneti commented 1 year ago

pulled in main, you could try to rerun the tests

teekuningas commented 1 year ago

There might be something weird happening somewhere as I:

nix-repl> builtins.currentSystem
"x86_64-linux"

get this kind of error with a command that has been working for a long time (thank god!):

❯  nix run --override-input nixpkgs nixpkgs/nixos-20.09 github:guibou/nixGL#nixGLIntel -- bash run.sh
warning: not writing modified lock file of flake 'github:guibou/nixGL':
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/441dc5d512153039f19ef198e662e4f3dbb9fd65' (2022-08-15)
  → 'github:NixOS/nixpkgs/1c1f5649bb9c1b0d98637c8c365228f57126f361' (2021-10-27)
error: Package ‘intel-gmmlib-20.2.5’ in /nix/store/w5i4gmcbscmwmmzp6k1gq0p7ixdplrrx-source/pkgs/development/libraries/intel-gmmlib/default.nix:21 is not supported on ‘i686-linux’, refusing to evaluate.

       a) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.

Where did the i686-linux come from..?

This still works fine:

nix run --override-input nixpkgs nixpkgs/nixos-20.09 github:guibou/nixGL/643e730efb981ffaf8478f441ec9b9aeea1c89f5#nixGLIntel -- bash run.sh

This does not anymore ("Look for new Nvidia Vulkan ICD"):

nix run --override-input nixpkgs nixpkgs/nixos-20.09 github:guibou/nixGL/cd2ec2116075abca891e90839d94840b26f28c5d#nixGLIntel -- bash run.sh
warning: not writing modified lock file of flake 'github:guibou/nixGL/cd2ec2116075abca891e90839d94840b26f28c5d':
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/441dc5d512153039f19ef198e662e4f3dbb9fd65' (2022-08-15)
  → 'github:NixOS/nixpkgs/1c1f5649bb9c1b0d98637c8c365228f57126f361' (2021-10-27)
error: Package ‘intel-gmmlib-20.2.5’ in /nix/store/w5i4gmcbscmwmmzp6k1gq0p7ixdplrrx-source/pkgs/development/libraries/intel-gmmlib/default.nix:21 is not supported on ‘i686-linux’, refusing to evaluate.

       a) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.
(use '--show-trace' to show detailed location information)

Just to let you know! Thanks. Let me know if I can help in any way! Maybe I'm just on a awkward system, and this does not concern anyone else.. At least I have a happy commit where it's still working!

EDIT: The run.sh does not matter (same happens with just only "bash"), not that anyone thought about it.

EDIT2: Opened a issue: https://github.com/guibou/nixGL/issues/123

-- Tk