Hi, im like nixos, but i have and old machine that just use home-manager, and it has an old nvidia gpu that uses driver 340.108. I checked nixgl and saw i had to use an old branch “backport/noGLVND”, I have been trying to adapt to a overlay, but im very noob and running some inssues. Can anyone help me?
The overlay, I’ve been trying:
{ fetchurl, runCommand, pkgs, linuxPackages }:
{ nvidiaVersion ? "340.108"
, nvidiaHash ? "sha256-xnHU8bfAm8GvB5uYtEetsG1wSwT4AvcEWmEfpQEztxs="
}:
let
nvidia_x11-legacy = (pkgs.linuxPackages.nvidia_x11.override { }).overrideAttrs (oldAttrs: {
# name = "nvidia-${nvidiaVersion}";
name = "nvidia-340.108";
src = fetchurl {
url = "http://download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108.run";
# sha256 = nvidiaHash;
sha256 = "sha256-xnHU8bfAm8GvB5uYtEetsG1wSwT4AvcEWmEfpQEztxs=";
};
useGLVND = false;
});
nixpkgs = {
# overlays = [ nvidia_x11 ];
config = { allowUnfree = true; };
};
in
rec {
nvidia = nvidia_x11-legacy;
nvidiaLibsOnly = nvidia.override {
libsOnly = true;
kernel = null;
};
nixNvidiaWrapper = api: runCommand "nix${api}Nvidia"
{
buildInputs = [ nvidiaLibsOnly ];
meta = with pkgs.stdenv.lib; {
description = "nixGL libraries for old 340.108 nvidia gpu";
homepage = "https://github.com/guibou/nixGL";
# Thanks guibou and nix-community
};
} ''
mkdir -p $out/bin
cat > $out/bin/nix${api}Nvidia << FOO
#!/usr/bin/env sh
export LD_LIBRARY_PATH=${nvidiaLibsOnly}/lib
"\$@"
FOO
chmod u+x $out/bin/nix${api}Nvidia
'';
nixGLNvidia-legacy = nixNvidiaWrapper "GL";
# nixVulkanNvidia = nixNvidiaWrapper "Vulkan";
}
Here is the outputs:
nvidia> building '/nix/store/iz013bymm2mmwc29ywws7xwgcc0jspc5-nvidia-340.108.drv'
nvidia> building '/nix/store/n20s5sr3xyg1fldilwmj17ydyzfwh1ar-nvidia-340.108.drv'
nvidia> Running phase: unpackPhase
nvidia> Running phase: unpackPhase
nvidia> Creating directory NVIDIA-Linux-x86_64-340.108
nvidia> Creating directory NVIDIA-Linux-x86_64-340.108
nvidia> Verifying archive integrity... OK
nvidia> Verifying archive integrity... OK
nvidia> Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 340.108...................................................................................................................................................................................................................................
nvidia> source root is NVIDIA-Linux-x86_64-340.108
nvidia> setting SOURCE_DATE_EPOCH to timestamp 1576106956 of file NVIDIA-Linux-x86_64-340.108/32/libGL.la
nvidia> Running phase: patchPhase
nvidia> applying patch /nix/store/71irj5hqnp7fw3p0jafy9wv82v18jfz5-nvidia-drivers-470.223.02-gpl-pfn_valid.patch
nvidia> can't find file to patch at input line 3
nvidia> Perhaps you used the wrong -p or --strip option?
nvidia> The text leading up to this was:
nvidia> --------------------------
nvidia> |--- a/kernel/common/inc/nv-linux.h
nvidia> |+++ b/kernel/common/inc/nv-linux.h
nvidia> --------------------------
nvidia> File to patch:
nvidia> Skip this patch? [y]
nvidia> Skipping patch.
nvidia> 1 out of 1 hunk ignored
nvidia> can't find file to patch at input line 29
nvidia> Perhaps you used the wrong -p or --strip option?
nvidia> The text leading up to this was:
nvidia> --------------------------
nvidia> |--- a/kernel/nvidia/nv-mmap.c
nvidia> |+++ b/kernel/nvidia/nv-mmap.c
nvidia> --------------------------
nvidia> File to patch:
nvidia> Skip this patch? [y]
nvidia> Skipping patch.
nvidia> 1 out of 1 hunk ignored
nvidia> can't find file to patch at input line 36
nvidia> Perhaps you used the wrong -p or --strip option?
nvidia> The text leading up to this was:
nvidia> --------------------------
nvidia> |--- a/kernel/nvidia/os-mlock.c
nvidia> |+++ b/kernel/nvidia/os-mlock.c
nvidia> --------------------------
nvidia> File to patch:
nvidia> Skip this patch? [y]
nvidia> Skipping patch.
nvidia> 2 out of 2 hunks ignored
error: builder for '/nix/store/iz013bymm2mmwc29ywws7xwgcc0jspc5-nvidia-340.108.drv' failed with exit code 1
error: build of '/nix/store/c1204lb1ahrlxgygn3xq11byh0xz9cfi-nixGLNvidia.drv', '/nix/store/iz013bymm2mmwc29ywws7xwgcc0jspc5-nvidia-340.108.drv', '/nix/store/n20s5sr3xyg1fldilwmj17ydyzfwh1ar-nvidia-340.108.drv' failed
┏━ 2 Errors:
┃ error: build of '/nix/store/c1204lb1ahrlxgygn3xq11byh0xz9cfi-nixGLNvidia.drv', '/nix/store/iz013bymm2mmwc29ywws7xwgcc0jspc5-nvidia-340.108.drv', '/nix/store/n20s5sr3xyg1fldilwmj17ydyzfwh1ar-nvidia-340…
┃ error: builder for '/nix/store/iz013bymm2mmwc29ywws7xwgcc0jspc5-nvidia-340.108.drv' failed with exit code 1
┣━ Dependency Graph with 2 roots:
┃ ┌─ ⏵ nvidia-340.108 (unpackPhase) ⏱ 6s
┃ ⏸ nixGLNvidia
┃ ⚠ nvidia-340.108 failed with exit code 1 after ⏱ 6s in patchPhase
┣━━━ Builds
┗━ ∑ ⏵ 1 │ ✔ 0 │ ⏸ 1 │ ⚠ Exited after 1 build failures at 22:40:20 after 8s```