Change:
fails due to being null for legacy 304 driver: "The option value 'environment.systemPackages.[34-entry 3]' in '/nix/var/nix/*' is not a package" Thrown from Enable driver: (removing persistenced from the list enables the nixos-rebuild) (which leads to to be null too) It should be noted that the driver doesn't work on newer kernels anyway... search for nvidia and mtrradd for details. Tried with 3.10 but seems to fail there too. System: (NixOS: 17.03)
I think I got it right, but /cc anyway.
Seems all good, thanks! (sorry for the spam)
thanks for the report! Otherwise the driver works OK on the default kernel?
no, couldn't get it to work. For the default (4.x something i think) I got errors related to the mtrradd and mtrrdel symbols (think it's the same as ), and for 3.10 (boot.kernelPackages = pkgs.linuxPackages310;) sddm failed seemingly due to opengl problems. Got something like "opengl version mismatch". This was an old computer and I don't need the native driver that badly so at that point I gave up. (The card is NVIDIA Quadro NVS 110M)
can you try this pair of commits? You probably want to pick them atop some version of 17.03. (My current GPU is too new for 304.)
Success! Although neither gdm (didn't even start X AFAIC) or sddm (complained about opengl version) worked. lightdm managed to display the login screen though :) OT: Oh what a joy to use nixos when testing such things.. (rollback etc.) I first installed ubuntu on this laptop and the proprietary drivers failed there too. Suddenly I'm completely stuck without a graphical environment. And the driver is configured through a graphical program on ubuntu.. (is obviously possible to configure it using CLI too)
Can you post with those drivers and complaints from sddm? Maybe we can do something about those too...
Interesting... (guess it didn't work properly after all) $ glxinfo name of display: :0.0 libGL error: unable to load driver: libGL error: failed to load driver: swrast X Error of failed request: GLXBadContext Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 6 (XGLXIsDirect) Serial number of failed request: 48 Current serial number in output stream: 47 fails too (no gears is displayed) Looking in I find: May 31 11:54:24 nixos systemd-modules-load[422]: Failed to find module 'nvidia-uvm' ... snip ... May 31 11:54:26 nixos kernel: nvidia: loading out-of-tree module taints kernel. May 31 11:54:26 nixos kernel: nvidia: module license 'NVIDIA' taints kernel. May 31 11:54:26 nixos kernel: Disabling lock debugging due to kernel taint May 31 11:54:26 nixos kernel: vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem May 31 11:54:26 nixos kernel: [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor May 31 11:54:26 nixos kernel: NVRM: loading NVIDIA UNIX x86 Kernel Module 304.135 Tue Jan 17 14:54:17 PST 2017 I don't find anything suspicious in () $ lsmod | grep nvidia nvidia 31 drm 3 nvidia i2ccore 2 nvidia,drm agpgart 4 nvidia,intelagp,intel_gtt,drm
Strange... it'd be a difficult for me to test this by myself now -- if you have time, can you show me output of ?
Note: it's i686 NixOS. EDIT: no, the code seems OK.
(posted before your fix).
[root ls -la /run/opengl-driver/lib lrwxrwxrwx 1 root root 77 Jan 1 1970 /run/opengl-driver/lib -/nix/store/06bjsizxz1l0qk6ii66d39y82qp49agj-nvidia-x11-304.135-4.9.29-bin/lib (github keeps timing out on me) EDIT: yeah, it's 32bit - should've mentioned that from the start
A-ha! Notice that for some reason output is linked to ! That would explain what's going on. Let me check a few things...
Could you try this patch:
I believe we do setup an alias via . It's important because will refer to . It's used by vdpau and others. Major github outage is complicating the communication :-/
Argh, I have believed that on i686 we just use and have assumed that before but . I'll check some code just in case I have implemented my assumptions. Thanks for noticing. EDIT: seems everything is okay on my side. BTW (offtop) I work now on a PoC of generalizing , GTK engine paths, Sane drivers and other -like things to . I'll post it when I have something initially working to ask if this is interesting.
It's required at least on some places, as we (want to) share 32-bit binaries for both platforms. Maybe it will be easier to always use only driver-32 name for 32-bit binaries.
The glgears are running! :)
Nice! I would expect GDM/SDDM are fixed, too (but the former didn't work without GNOME 3 -- it was some time ago though).
Yeah, just checked that sddm worked to be sure.
Pushed to master as , also merged patches. Thank you for testing! EDIT: also pushed to the release branch.

Discussion:
<ins> {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { version = "0.15.2"; name = "vala-${version}"; src = fetchurl { url = "mirror://gnome/sources/vala/0.15/${name}.tar.xz"; sha256 = "0g71zq6dpqrw2f40wfzdf18fdw41ymr17laqniy2kr622hkxdi8w"; }; buildNativeInputs = [ yacc flex pkgconfig xz ]; buildInputs = [ glib ]; meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; }; } </ins>

<ins> {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { version = "0.16.1"; name = "vala-${version}"; src = fetchurl { url = "mirror://gnome/sources/vala/0.16/${name}.tar.xz"; sha256 = "1n708n9ixyy9qrzyv1wf4ybvcclx43ib9ki028wwpvkz6kv8zqlb"; }; buildNativeInputs = [ yacc flex pkgconfig xz ]; buildInputs = [ glib ]; meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; }; } </ins>

{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { <del> name = "vala-0.14.2"; </del> <ins> version = "0.17.2"; name = "vala-${version}"; </ins> src = fetchurl { <del> url = mirror://gnome/sources/vala/0.14/vala-0.14.2.tar.xz; sha256 = "1l5kllw9vpwv24lzv9fp64l3sad46wpxgvsgryrwlrjg91w6jzl0"; </del> <ins> url = "mirror://gnome/sources/vala/0.17/${name}.tar.xz"; sha256 = "09i2s0dwmrk147ind2dx7nq845g12fp6fsjqrphhrr0dbi0zzgh3"; </ins> }; buildNativeInputs = [ yacc flex pkgconfig xz ];

meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; <ins> license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; </ins> }; }

urweb = callPackage ../development/compilers/urweb { }; <del> vala = callPackage ../development/compilers/vala { }; </del> <ins> vala = vala17; vala15 = callPackage ../development/compilers/vala/15.2.nix { }; vala16 = callPackage ../development/compilers/vala/16.1.nix { }; vala17 = callPackage ../development/compilers/vala/default.nix { }; </ins> visualcpp = callPackage ../development/compilers/visual-c++ { };