-
-
Notifications
You must be signed in to change notification settings - Fork 132
Description
Also see #185
Executing nix-env -iA nixgl.auto.nixGLDefault as written in the readme errors with:
copying path '/nix/store/yzhl36k6yxfafrvddhqjbwzvmwlyx4iq-stdenv-linux' from 'https://cache.nixos.org'...
building '/nix/store/k9rrb1s1jpgph6a4xz4fcrwijszaq68h-impure-nvidia-version-file.drv'...
installing 'nixGL'
error:
… while calling the 'derivationStrict' builtin
at «nix-internal»/derivation-internal.nix:37:12:
36|
37| strict = derivationStrict drvAttrs;
| ^
38|
… while evaluating derivation 'nixGL'
whose name attribute is located at /nix/store/wdn8m2y4z957ivxb4vx7i2wrrdvbmsvw-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:541:13
… while evaluating attribute 'buildCommand' of derivation 'nixGL'
at /nix/store/wdn8m2y4z957ivxb4vx7i2wrrdvbmsvw-nixpkgs/nixpkgs/pkgs/build-support/trivial-builders/default.nix:80:17:
79| enableParallelBuilding = true;
80| inherit buildCommand name;
| ^
81| passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: i686 Linux package set can only be used with the x86 family.
Following the article linked in #150 mentioned by the issue above, I tried nix-env -i -E '(_: with import <nixgl> { enable32bits = false; }; nixVulkanMesa)', which installs, but doesn't seem to work with proprietary nvidia drivers nor lavapipe. I've been testing with the wgpu test suite, which seems to detect lavapipe and read it's limits and features (thus disabling some tests) but actually initializing a device seems to fail.
Combining the two, I tried nix-env -i -E '(_: with import <nixgl> { enable32bits = false; }; auto.nixGLDefault)':
error:
… while calling the 'derivationStrict' builtin
at «nix-internal»/derivation-internal.nix:37:12:
36|
37| strict = derivationStrict drvAttrs;
| ^
38|
… while evaluating derivation 'nixGL'
whose name attribute is located at /nix/store/wdn8m2y4z957ivxb4vx7i2wrrdvbmsvw-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:541:13
… while evaluating attribute 'buildCommand' of derivation 'nixGL'
at /nix/store/wdn8m2y4z957ivxb4vx7i2wrrdvbmsvw-nixpkgs/nixpkgs/pkgs/build-support/trivial-builders/default.nix:80:17:
79| enableParallelBuilding = true;
80| inherit buildCommand name;
| ^
81| passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: Package ‘intel-gmmlib-22.8.2’ in /nix/store/wdn8m2y4z957ivxb4vx7i2wrrdvbmsvw-nixpkgs/nixpkgs/pkgs/by-name/in/intel-gmmlib/package.nix:31 is not available on the requested hostPlatform:
hostPlatform.system = "aarch64-linux"
package.meta.platforms = [
"x86_64-linux"
"i686-linux"
]
package.meta.badPlatforms = [ ]
, refusing to evaluate.
[... omitting help]
Then I tried nix-env -i -E '(_: with import <nixgl> { enable32bits = false; }; auto.nixGLNvidia)' and nix-env -i -E '(_: with import <nixgl> { enable32bits = false; }; auto.nixVulkanNvidia)', which seem to exist but both error:
error:
… while evaluating the attribute 'nixGLNvidia'
at /nix/store/cj0f6mkz8nd315k0jgj7sw3bwl4vjz8m-nixgl/nixgl/nixGL.nix:152:7:
151| # TODO: 32bit version? Not tested.
152| nixGLNvidia = nixNvidiaWrapper "GL";
| ^
153|
… in the condition of the assert statement
at /nix/store/wdn8m2y4z957ivxb4vx7i2wrrdvbmsvw-nixpkgs/nixpkgs/pkgs/build-support/trivial-builders/default.nix:115:5:
114| }:
115| assert lib.assertMsg (destination != "" -> (lib.hasPrefix "/" destination && destination != "/")) ''
| ^
116| destination must be an absolute path, relative to the derivation's out path,
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: cannot coerce null to a string: null
Any ideas where to proceed?