Code Monkey home page Code Monkey logo

nixgl's Introduction

NixGL

NixGL solve the "OpenGL" problem with nix. It works with all mesa drivers (Intel cards and "free" version for Nvidia or AMD cards), Nvidia proprietary drivers, and even with hybrid configuration via bumblebee. It works for Vulkan programs too.

Motivation

Using Nix on non-NixOS distros, it's common to see GL application errors:

$ program
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

NixGL provides a set of wrappers able to launch GL or Vulkan applications:

$ nixGL program
$ nixVulkan program

Installation

nix-channel (Recommended)

To get started,

$ nix-channel --add https://github.com/nix-community/nixGL/archive/main.tar.gz nixgl && nix-channel --update
$ nix-env -iA nixgl.auto.nixGLDefault   # or replace `nixGLDefault` with your desired wrapper

Many wrappers are available, depending on your hardware and the graphical API you want to use (i.e. Vulkan or OpenGL). You may want to install a few of them, for example if you want to support OpenGL and Vulkan on a laptop with an hybrid configuration.

OpenGL wrappers:

  • auto.nixGLDefault: Tries to auto-detect and install Nvidia, if not, fallback to mesa. Recommended. Invoke with nixGL program.
  • auto.nixGLNvidia: Proprietary Nvidia driver (auto detection of version)
  • auto.nixGLNvidiaBumblebee: Proprietary Nvidia driver on hybrid hardware (auto detection).
  • nixGLIntel: Mesa OpenGL implementation (intel, amd, nouveau, ...).

Vulkan wrappers:

  • auto.nixVulkanNvidia: Proprietary Nvidia driver (auto detection).
  • nixVulkanIntel: Mesa Vulkan implementation.

The Vulkan wrapper also sets VK_LAYER_PATH the validation layers in the nix store.

Flakes

Directly run nixGL

You need to specify the same version of nixpkgs that your program is using. For example, replace nixos-21.11 with nixos-21.05.

nix run --override-input nixpkgs nixpkgs/nixos-21.11 --impure github:nix-community/nixGL -- program

If you use the default nixpkgs channel (i.e. nixpkgs-unstable), you can omit those arguments like so:

nix run --impure github:nix-community/nixGL -- program

You can also specify which wrapper to use instead of using the default auto detection:

nix run github:nix-community/nixGL#nixGLIntel -- program

Install nixgl

You can also install nixgl in a nix profile

nix profile install github:guibou/nixGL --impure

This will result in a lighter download and execution time. Also, this evaluation is pure.

Error about experimental features

You can directly use:

nix --extra-experimental-features "nix-command flakes" run --impure github:nix-community/nixGL -- program

Or set the appropriate conf in ~/.config/nix/nix.conf / /etc/nix/nix.conf / nix.extraOptions.

Error with GLIBC version

if you get errors with messages similar to

/nix/store/g02b1lpbddhymmcjb923kf0l7s9nww58-glibc-2.33-123/lib/libc.so.6: version `GLIBC_2.34' not found (required by /nix/store/hrl51nkr7dszlwcs29wmyxq0jsqlaszn-libglvnd-1.4.0/lib/libGLX.so.0)

It means that there's a mismatch between the versions of nixpkgs used by nixGL and program.

Use an overlay

Add nixGL as a flake input:

{
  inputs = {
    nixgl.url = "github:nix-community/nixGL";
  };
  outputs = { nixgl, ... }: { };
}

Then, use the flake's overlay attr:

{
  outputs = { nixgl, nixpkgs, ... }:
  let
    pkgs = import nixpkgs {
      system = "x86_64-linux";
      overlays = [ nixgl.overlay ];
    };
  in
  # You can now reference pkgs.nixgl.nixGLIntel, etc.
  { }
}

Installation from source

$ git clone https://github.com/nix-community/nixGL
$ cd nixGL
$ nix-env -f ./ -iA <your desired wrapper name>

Usage

Just launch the program you want prefixed by the right wrapper.

For example, for OpenGL programs:

$ nixGL program args                 # For the `nixGLDefault` wrapper, recommended.
$ nixGLNvidia program args
$ nixGLIntel program args
$ nixGLNvidiaBumblebee program args

For Vulkan programs:

$ nixVulkanNvidia program args
$ nixVulkanIntel program args

OpenGL - Hybrid Intel + Nvidia laptop

After installing nixGLIntel and nixGLNvidiaBumblebee.

$ nixGLIntel $(nix run nixpkgs.glxinfo -c glxinfo) | grep -i 'OpenGL version string'
OpenGL version string: 3.0 Mesa 17.3.3
$ nixGLNvidiaBumblebee $(nix run nixpkgs.glxinfo -c glxinfo) | grep -i 'OpenGL version string'
OpenGL version string: 4.6.0 NVIDIA 390.25

If the program you'd like to run is already installed by nix in your current environment, you can simply run it with the wrapper, for example:

$ nixGLIntel blender

Vulkan - Intel GPU

After installing nixVulkanIntel.

$ sudo apt install mesa-vulkan-drivers
...
$ nixVulkanIntel $(nix-build '<nixpkgs>' --no-out-link -A vulkan-tools)/bin/vulkaninfo | grep VkPhysicalDeviceProperties -A 7
VkPhysicalDeviceProperties:
===========================
        apiVersion     = 0x400036  (1.0.54)
        driverVersion  = 71311368 (0x4402008)
        vendorID       = 0x8086
        deviceID       = 0x591b
        deviceType     = INTEGRATED_GPU
        deviceName     = Intel(R) HD Graphics 630 (Kaby Lake GT2)

Troubleshooting

Nvidia auto detection does not work

building '/nix/store/ijs5h6h07faai0k74diiy5b2xlxh891g-auto-detect-nvidia.drv'...
pcregrep: Failed to open /proc/driver/nvidia/version: No such file or directory
builder for '/nix/store/ijs5h6h07faai0k74diiy5b2xlxh891g-auto-detect-nvidia.drv' failed with exit code 2
error: build of '/nix/store/ijs5h6h07faai0k74diiy5b2xlxh891g-auto-detect-nvidia.drv' faile

You can run the Nvidia installer using an explicit version string instead of the automatic detection method:

nix-build -A auto.nixGLNvidia --argstr nvidiaVersion 440.82

(or nixGLNvidiaBumblebee, nixVulkanNividia)

The version of your driver can be found using glxinfo from your system default package manager, or nvidia-settings.

On nixOS

nixGL can also be used on nixOS if the system is installed with a different nixpkgs clone than the one your application are installed with. Override the pkgs argument of the script with the correct nixpkgs clone:

nix-build ./default.nix -A nixGLIntel --arg pkgs "import path_to_your_nixpkgs {}".

Old nvidia drivers

Users of Nvidia legacy driver should use the backport/noGLVND branch. This branch is not tested and may not work well, please open a bug report, it will be taken care of as soon as possible.

nixGLCommon

nixGLCommon nixGLXXX can be used to get nixGL executable which fallback to nixGLXXX. It is a shorter name for people with only one OpenGL configuration.

For example:

nix-build -E "with import ./default.nix {}; nixGLCommon nixGLIntel"

Limitations

nixGL is badly tested, mostly because it is difficult to test automatically in a continuous integration context because you need access to different type of hardware.

Some OpenGL configurations may not work, for example AMD proprietary drivers. There is no fundamental limitation, so if you want support for theses configurations, open an issue.

Hacking

One great way to contribute to nixGL is to run the test suite. Just run ./Test.hs in the main directory and check that all the test relevant to your hardware are green.

nixgl's People

Contributors

acowley avatar arximboldi avatar benneti avatar blurgyy avatar cmm avatar deviant avatar dm9pzcaq avatar dnkmmr69420 avatar expipiplus1 avatar fuuzetsu avatar guibou avatar hollmmax avatar jasha10 avatar jtojnar avatar kenranunderscore avatar lopsided98 avatar lovesegfault avatar paulgrandperrin avatar samuela avatar supersandro2000 avatar suzannesoy avatar tpwrules avatar tudurom avatar yilinwei avatar zakame avatar zimbatm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nixgl's Issues

Test results with GeForce GTX 1060 6GB

Running the ./Test.hs, I get quite a number of failures.

Sanity
  OpenGL
    fails with unwrapped glxinfo64 FAILED [1]
    fails with unwrapped glxinfo32 FAILED [2]
  Vulkan
    fails with unwrapped vulkaninfo64 FAILED [3]
    fails with unwrapped vulkaninfo32 FAILED [4]
NixGL
  Mesa
    OpenGL
      32 bits FAILED [5]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
      32 bits FAILED [6]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
  Nvidia - Bumblebee
    OpenGL
      32 bits FAILED [7]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
      32 bits
        # PENDING: No reason given
      64 bits
        # PENDING: No reason given
  Nvidia
    OpenGL
      32 bits FAILED [8]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
      32 bits FAILED [9]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)

Failures:

  Test.hs:79:11: 
  1) Sanity.OpenGL fails with unwrapped glxinfo64
       expected: Nothing
        but got: Just "OpenGL version string: 4.6.0 NVIDIA 440.82"

  To rerun use: --match "/Sanity/OpenGL/fails with unwrapped glxinfo64/"

  Test.hs:83:11: 
  2) Sanity.OpenGL fails with unwrapped glxinfo32
       expected: Nothing
        but got: Just "OpenGL version string: 4.6.0 NVIDIA 440.82"

  To rerun use: --match "/Sanity/OpenGL/fails with unwrapped glxinfo32/"

  Test.hs:86:11: 
  3) Sanity.Vulkan fails with unwrapped vulkaninfo64
       did not get expected exception: IOException

  To rerun use: --match "/Sanity/Vulkan/fails with unwrapped vulkaninfo64/"

  Test.hs:89:11: 
  4) Sanity.Vulkan fails with unwrapped vulkaninfo32
       did not get expected exception: IOException

  To rerun use: --match "/Sanity/Vulkan/fails with unwrapped vulkaninfo32/"

  Test.hs:35:5: 
  5) NixGL.Mesa.OpenGL 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLIntel" "--arg" "pkgs" "import (fetchTarball channel:nixos-19.09-small)" (exit 1): failed

  To rerun use: --match "/NixGL/Mesa/OpenGL/32 bits/"

  Test.hs:53:5: 
  6) NixGL.Mesa.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixVulkanIntel" "--arg" "pkgs" "import (fetchTarball channel:nixos-19.09-small)" (exit 1): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/32 bits/"

  Test.hs:35:5: 
  7) NixGL, Nvidia - Bumblebee, OpenGL, 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLNvidiaBumblebee" "--arg" "pkgs" "import (fetchTarball channel:nixos-19.09-small)" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/32 bits/"

  Test.hs:35:5: 
  8) NixGL.Nvidia.OpenGL 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLNvidia" "--arg" "pkgs" "import (fetchTarball channel:nixos-19.09-small)" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia/OpenGL/32 bits/"

  Test.hs:53:5: 
  9) NixGL.Nvidia.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixVulkanNvidia" "--arg" "pkgs" "import (fetchTarball channel:nixos-19.09-small)" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia/Vulkan/32 bits/"

Randomized with seed 69736739

Finished in 16.7898 seconds
16 examples, 9 failures, 7 pending

GL and Vulkan at the same time

Is there a way of exposing both APIs at the same time?
There are apps that are able to change from one backend to the other (games manly but also some other 3d dev apps). Also, I'm thinking of wrapping my app launcher (or maybe even my Xsession so all the apps get GL and Vulkan if they need it but as far as I understand, with the current approach one has to pick one or the other.

Test.hs stalls with amdgpu + NixOS 20.03

Running ./Test.hs end up stalling on my system. It's been displaying

It can take a while, this will build and test all drivers in the background

for more than 45 minutes. No CPU activity according to htop, no network activity according to nethogs.

System:

  • driver: amdgpu
  • GPU: radeon 590
  • system: NixOS 20.03

I can provide you with a live tmate session to debug that if needed.

Installing nixGLDefault can be done by adding this repo as a channel

Here's a suggestion for a "quick start" install:

nix-channel --add https://github.com/guibou/nixGL/archive/master.tar.gz nixgl && nix-channel --update
nix-env -iA nixgl.nixGLDefault

Running the commands above has the added benefit of following the system upgrade process, and is inspired by home-manager's install process.

Unable to Build nixGLIntel on NixOS

Attempting to compile in NixOS:

image

The command used to build:

NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build ./default.nix -A nixGLIntel --arg pkgs "import /home/george/Simula/pinned-nixpkgs.nix {}"

The NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 is likely the issue, but I added it because without I get:

image

I'm running against nixos-unstable with an nvidia card. My intended use case is to help a program usually runned with an nvidia driver run instead with software rendering.

allowUnfree by default

All Nvidia wrappers needs the user to set allowUnfree in his nix configuration. This is painful.

nixGLNvidia: 5: $@: not found

After commit 5ba3174 I get the error "$@: not found" when running nixGLNvidia with or without arguments. The script looks like this:

#!/usr/bin/env sh


export LD_LIBRARY_PATH=/nix/store/sinkyq6agjlpqg2vmmdfzncfnqnhx9cz-libglvnd-1.2.0/lib:/nix/store/29dnq9ca04jlkax8x272al17lm2nfpmi-nvidia-435.21/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
"\$@"

Notice the last line, which before 5ba3174 was just "$@".

I think the problem is with the non-expanding here-doc 'FOO' instead of FOO in line 62 of default.nix, which @expipiplus1 mentioned in #21 . It seems to affect the escaping rules.

nixVulkanIntel not found

Thanks for creating and maintaining this project, it's been very useful to me โค๏ธ

Trying to install nixVulkanIntel the recommended way showed the following error:

> nix-channel --add https://github.com/guibou/nixGL/archive/main.tar.gz nixgl && nix-channel --update
...
> nix-env -iA nixgl.auto.nixVulkanIntel
error: attribute 'nixVulkanIntel' in selection path 'nixgl.auto.nixVulkanIntel' not found

I was able to install nixVulkanIntel by cloning the repo and installing from source.
Let me know if I can provide any extra information.

Doesn't work with nvidia version 415.13

./nvidiaInstall.py 415.13 nixGLNvidia
path is '/nix/store/mp5phz9a923hk9sxdf8iyg3p0i82dqmr-NVIDIA-Linux-x86_64-415.13.run'
these derivations will be built:
/nix/store/calk0i31k1bdjdci2p9n6cr9bl18f1j2-nvidia-415.13.drv
/nix/store/2k530a3vqspy4q5dww9nf1a2bjq0nazw-nixGLNvidia.drv
building '/nix/store/calk0i31k1bdjdci2p9n6cr9bl18f1j2-nvidia-415.13.drv'...
unpacking sources
Creating directory NVIDIA-Linux-x86_64-415.13
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 415.13.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
source root is NVIDIA-Linux-x86_64-415.13
setting SOURCE_DATE_EPOCH to timestamp 1541033469 of file NVIDIA-Linux-x86_64-415.13/nvidia-bug-report.sh
patching sources
configuring
no configure script, doing nothing
building
installing
cp: cannot stat '32/tls': No such file or directory
builder for '/nix/store/calk0i31k1bdjdci2p9n6cr9bl18f1j2-nvidia-415.13.drv' failed with exit code 1
cannot build derivation '/nix/store/2k530a3vqspy4q5dww9nf1a2bjq0nazw-nixGLNvidia.drv': 1 dependencies couldn't be built
error: build of '/nix/store/2k530a3vqspy4q5dww9nf1a2bjq0nazw-nixGLNvidia.drv' failed
Traceback (most recent call last):
File "./nvidiaInstall.py", line 13, in
subprocess.check_call(["nix-build", "-A", tool, "--argstr", "nvidiaVersion", nvidiaVersion, "--argstr", "nvidiaHash", nvidiaHash])
File "/nix/store/bwfygfcdvis9wd1c1v51xwnwhw1hx0a0-python3-3.6.6/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['nix-build', '-A', 'nixGLNvidia', '--argstr', 'nvidiaVersion', '415.13', '--argstr', 'nvidiaHash', b'0nk4a45a93qc98gy5lkb14v7m837p0635kpynrr2mqa8p1vnvlia']' returned non-zero exit status 100.

existing LD_LIBRARY_PATH is not handled correctly

At the moment the shell expansion takes place at build time.

A solution would be to use a non-expanding here-doc, i.e. 'FOO' instead of FOO.

Perhaps the neatest fix would be to use nixpkgs' lib's writeTextFile (or whatever it's called) with the executable option set to true.

Missing 10_nvidia.json

Hello,

I've learned about nixGL on LinuxFr.org and I wanted to try it to play with Kitty. But it didn't work as expected:

$ glxinfo | grep NVIDIA
OpenGL version string: 3.3.0 NVIDIA 340.104
[...]

$ nix-build -A nixGLNvidia --argstr nvidiaVersion 340.104
these derivations will be built:
  /nix/store/l7ykn0kq8halvwrygjvgkn79hspya7l3-nvidia-340.104.drv
  /nix/store/xnirgvqmxbi659z84l90xilp2i31wny5-nixGLNvidia-1.0.0.drv
building '/nix/store/l7ykn0kq8halvwrygjvgkn79hspya7l3-nvidia-340.104.drv'...
unpacking sources
Creating directory NVIDIA-Linux-x86_64-340.104
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 340.104..................................................................................................................................................................................................................................
source root is NVIDIA-Linux-x86_64-340.104
setting SOURCE_DATE_EPOCH to timestamp 1505436949 of file NVIDIA-Linux-x86_64-340.104/nvidia-bug-report.sh
patching sources
configuring
no configure script, doing nothing
building
installing
install: cannot stat '10_nvidia.json': No such file or directory
builder for '/nix/store/l7ykn0kq8halvwrygjvgkn79hspya7l3-nvidia-340.104.drv' failed with exit code 1
cannot build derivation '/nix/store/xnirgvqmxbi659z84l90xilp2i31wny5-nixGLNvidia-1.0.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/xnirgvqmxbi659z84l90xilp2i31wny5-nixGLNvidia-1.0.0.drv' failed

Does this error rings a bell to you?

Integration to nixpkgs

Is there no way to make this a proper nixpkg? It feels clunky to install manually this way. I want this to be part of my configuration.

Tests fail on Radeon RX 560X

I obtained the following output when running Test.hs:

$ env DRI_PRIME=1 ./Test.hs
Running tests for nixGL
It can take a while, this will build and test all drivers in the background

Sanity
  OpenGL
Error: couldn't find RGB GLX visual or fbconfig
    fails with unwrapped glxinfo64
Error: couldn't find RGB GLX visual or fbconfig
    fails with unwrapped glxinfo32
  Vulkan
ERROR: [Loader Message] Code 0 : /nix/store/wx1vk75bpdr65g6xwxbj4rw0pk04v5j3-glibc-2.27/lib/libm.so.6: version `GLIBC_2.29' not found (required by /nix/store/anfds1cfg3vcp2rknsym1hdw56mgzm6v-mesa-20.0.2-drivers/lib/libvulkan_radeon.so)
ERROR: [Loader Message] Code 0 : /nix/store/wx1vk75bpdr65g6xwxbj4rw0pk04v5j3-glibc-2.27/lib/libm.so.6: version `GLIBC_2.29' not found (required by /nix/store/anfds1cfg3vcp2rknsym1hdw56mgzm6v-mesa-20.0.2-drivers/lib/libvulkan_intel.so)
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER
    fails with unwrapped vulkaninfo64
ERROR: [Loader Message] Code 0 : /nix/store/5ka41zhii1bjss3f60rzd2npz9mxj060-glibc-2.27/lib/libm.so.6: version `GLIBC_2.29' not found (required by /nix/store/05i0ksjqs5h5qnlrg3ylgdz7jfh29h7i-mesa-20.0.2-drivers/lib/libvulkan_radeon.so)
ERROR: [Loader Message] Code 0 : /nix/store/5ka41zhii1bjss3f60rzd2npz9mxj060-glibc-2.27/lib/libm.so.6: version `GLIBC_2.29' not found (required by /nix/store/05i0ksjqs5h5qnlrg3ylgdz7jfh29h7i-mesa-20.0.2-drivers/lib/libvulkan_intel.so)
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER
    fails with unwrapped vulkaninfo32
NixGL
  Mesa
    OpenGL
      32 bits
      64 bits
    Vulkan
ERROR: [Loader Message] Code 0 : /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS64
ERROR: [Loader Message] Code 0 : /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS64
      32 bits
ERROR: [Loader Message] Code 0 : /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
      64 bits

Obviously, all Nvidia tests fails since I do not have an Nvidia graphics card, so I omitted the messages.

One particularly weird thing is the glibc version(s) mentioned: One place mentions 2.27, another says GLIBC_2.29, the driver seems to use 2.30 however:

$ ldd /nix/store/anfds1cfg3vcp2rknsym1hdw56mgzm6v-mesa-20.0.2-drivers/lib/libvulkan_radeon.so | grep glibc
libdl.so.2 => /nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib/libdl.so.2 (0x00007fddf7da6000)
libm.so.6 => /nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib/libm.so.6 (0x00007fddf79b3000)
libgcc_s.so.1 => /nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib/libgcc_s.so.1 (0x00007fddf7999000)
libpthread.so.0 => /nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib/libpthread.so.0 (0x00007fddf7978000)
libc.so.6 => /nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib/libc.so.6 (0x00007fddf77b9000)
/nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib64/ld-linux-x86-64.so.2 (0x00007fddfd3b6000)
librt.so.1 => /nix/store/bwzra330vib0ik4d3l8rq6gp6y2ah1fr-glibc-2.30/lib/librt.so.1 (0x00007fddf77a0000)

System info:
GPU: Radeon RX 560X
Integrated GPU: Radeon Vega 8
OS: nixos unstable
nixGL commit: 5f330c2

Doesn't work on Nix 2.0

The sha256 = null trick doesn't work anymore in Nix 2.0, so upon trying to build the nvidia drivers, you'll get the following error:

these derivations will be built:
  /nix/store/p9vj7v4a3z9s3ma5shvjlbgiqgncr7wd-NVIDIA-Linux-x86_64-390.48.run.drv
  /nix/store/44gjnsclalq0k5l4pfjmh076qjiw9c3g-nvidia-390.48.drv
  /nix/store/p1vkygcw1nc0vx3xb5s9d02j52chbcqm-nixGLNvidia-1.0.0.drv
building '/nix/store/p9vj7v4a3z9s3ma5shvjlbgiqgncr7wd-NVIDIA-Linux-x86_64-390.48.run.drv'...
error checking the existence of http://tarballs.nixos.org/sha256/:
curl: (6) Could not resolve host: tarballs.nixos.org
trying http://download.nvidia.com/XFree86/Linux-x86_64/390.48/NVIDIA-Linux-x86_64-390.48.run
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Transient problem: timeout Will retry in 1 seconds. 3 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Transient problem: timeout Will retry in 2 seconds. 2 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Transient problem: timeout Will retry in 4 seconds. 1 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: download.nvidia.com
error: cannot download NVIDIA-Linux-x86_64-390.48.run from any mirror
builder for '/nix/store/p9vj7v4a3z9s3ma5shvjlbgiqgncr7wd-NVIDIA-Linux-x86_64-390.48.run.drv' failed with exit code 1
cannot build derivation '/nix/store/44gjnsclalq0k5l4pfjmh076qjiw9c3g-nvidia-390.48.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/p1vkygcw1nc0vx3xb5s9d02j52chbcqm-nixGLNvidia-1.0.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/p1vkygcw1nc0vx3xb5s9d02j52chbcqm-nixGLNvidia-1.0.0.drv' failed

Replacing the null with the correct hash makes it work.

Test results with GeForce GTX 660 Ti 2GB

5f330c2

using the nvidia official driver

Failures:

  Test.hs:79:11: 
  1) Sanity.OpenGL fails with unwrapped glxinfo64
       expected: Nothing
        but got: Just "OpenGL version string: 4.6.0 NVIDIA 440.82"

  To rerun use: --match "/Sanity/OpenGL/fails with unwrapped glxinfo64/"

  Test.hs:83:11: 
  2) Sanity.OpenGL fails with unwrapped glxinfo32
       expected: Nothing
        but got: Just "OpenGL version string: 4.6.0 NVIDIA 440.82"

  To rerun use: --match "/Sanity/OpenGL/fails with unwrapped glxinfo32/"

  Test.hs:86:11: 
  3) Sanity.Vulkan fails with unwrapped vulkaninfo64
       did not get expected exception: IOException

  To rerun use: --match "/Sanity/Vulkan/fails with unwrapped vulkaninfo64/"

  Test.hs:89:11: 
  4) Sanity.Vulkan fails with unwrapped vulkaninfo32
       did not get expected exception: IOException

  To rerun use: --match "/Sanity/Vulkan/fails with unwrapped vulkaninfo32/"

  Test.hs:37:7: 
  5) NixGL.Mesa.OpenGL 32 bits
       "OpenGL version string: 4.6.0 NVIDIA 440.82" does not contain "Mesa"

  To rerun use: --match "/NixGL/Mesa/OpenGL/32 bits/"

  Test.hs:41:7: 
  6) NixGL.Mesa.OpenGL 64 bits
       "OpenGL version string: 4.6.0 NVIDIA 440.82" does not contain "Mesa"

  To rerun use: --match "/NixGL/Mesa/OpenGL/64 bits/"

  Test.hs:53:5: 
  7) NixGL.Mesa.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/iacsf82sfm050n2ia4izqfx0ri02bdk2-nixVulkanIntel/bin/nixVulkanIntel "/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/32 bits/"

  Test.hs:56:5: 
  8) NixGL.Mesa.Vulkan 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/iacsf82sfm050n2ia4izqfx0ri02bdk2-nixVulkanIntel/bin/nixVulkanIntel "/nix/store/7rggmjdqc9p7y0y0vp2x4byx59qfmnpw-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/64 bits/"

  Test.hs:35:5: 
  9) NixGL, Nvidia - Bumblebee, OpenGL, 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/9r83yl1qqhq53vh90k1q2fbmsqy4lvaa-nixGLNvidiaBumblebee-440.82/bin/nixGLNvidiaBumblebee "/nix/store/8zgddbbm68a8r82adsd0k3vj8jpjvfpp-glxinfo-8.4.0/bin/glxinfo" "-B" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/32 bits/"

  Test.hs:39:5: 
  10) NixGL, Nvidia - Bumblebee, OpenGL, 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/9r83yl1qqhq53vh90k1q2fbmsqy4lvaa-nixGLNvidiaBumblebee-440.82/bin/nixGLNvidiaBumblebee "/nix/store/hxkj72qzhh0a52wcmaf177ydd47cclx1-glxinfo-8.4.0/bin/glxinfo" "-B" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/64 bits/"

Randomized with seed 348848836

Finished in 301.6932 seconds
16 examples, 10 failures, 2 pending

Does `nixVulkanIntel` enable Vulkan Software rendering?

I'm looking for a way to force enable Vulkan software rendering on arbitrary nix programs (running NixOS, in case it matters).

Can nixVulkanIntel play a part in this? If not, is it feasible with this package with modifications (I'm willing to help out here)?

nvidia attributes are no longer exposed at top level

The instructions in README say one can install nixGLNvidia and other friends easily. However at some point these were put under the auto attribute. This means the README is out of date now.

[shana@aya:/tmp/nixGL]$ nix-build . -A nixGLNvidia --dry-run
error: attribute 'nixGLNvidia' in selection path 'nixGLNvidia' not found

[shana@aya:/tmp/nixGL]$ nix-build . -A auto.nixGLNvidia --dry-run
building '/nix/store/xkwr8wzxybfybaa3lqw3681rwrabnfss-impure-nvidia-version-file.drv'...
these 2 derivations will be built:
  /nix/store/29fk3j93si1f1h7r9094ffs84rjbd0h8-nvidia-x11-495.46.drv
  /nix/store/xcjg8irjvjwc62daw0yszd2n6216x4z7-nixGLNvidia-495.46.drv
these 2 paths will be fetched (0.88 MiB download, 5.14 MiB unpacked):
  /nix/store/fb3sib99na8a7c3lw1q1zqd29lch5dw2-shellcheck-0.8.0-bin
  /nix/store/zyxcmlqxbdzzps1j0fl4c00lhlmbr4h9-pcre-8.44-bin

Not working on Debian

After installing kitty and nixGL, I try runnig nixGL kitty on Debian buster, and I get

Traceback (most recent call last):
  File "/home/turing/.nix-profile/bin/nixGL", line 21, in <module>
    for line in subprocess.check_output(['ldd', realProg]).split(b'\n'):
  File "/nix/store/y95dd7cmw2xlf6hvg2j93b227pblpaaq-python3-3.6.4/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/nix/store/y95dd7cmw2xlf6hvg2j93b227pblpaaq-python3-3.6.4/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ldd', b'/home/turing/.nix-profile/bin/kitty']' returned non-zero exit status 1.

I'm veeeery new to nix, so forgive if there is something obvious :)

Dell XPS 13 9360 Error Report

Debian 10

salt@saltemp-uw:~/Downloads/nixGL$ ./Test.hs 
Running tests for nixGL
It can take a while, this will build and test all drivers in the background
these derivations will be built:
  /nix/store/sg9vnq46szcfx32n4rliqz3hpivkzj4r-glslang-7.11.3214.drv
  /nix/store/4gf0yg1mp1ng5474k2yb2xbps5105i2y-vulkan-tools-1.1.114.0.drv
these paths will be fetched (52.51 MiB download, 227.24 MiB unpacked):
  /nix/store/01q48hbp1n06n6f63mybnljfgf5bqxil-libXft-2.3.3
  /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0
  /nix/store/1mcm0vqslw022kwk9bmyrvap1xcwx4dp-libxml2-2.9.9
  /nix/store/23bvfhd4w31slyf4zcf4sbcdcm654jrv-cmake-3.15.1
  /nix/store/427j4h19v1b8pszwqi3lyhhxndhkq7k7-libssh2-1.9.0
  /nix/store/53x8jsrv0s9yljidz63fy19fy0mfisxa-binutils-wrapper-2.31.1
  /nix/store/65f2n5kyf41w2gaqj78zd24bz4814yik-python3-3.7.5
  /nix/store/8h2p0rf2lzrs791cazlkwjwacj92vwk7-curl-7.65.3
  /nix/store/9f4m96va8s6y7wz130dmvzkywmdhqvvg-xlibs-wrapper
  /nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0
  /nix/store/bhf5gka80c29xq6sabc87fkrxyq7aihl-fontconfig-2.12.6-dev
  /nix/store/ddyy9p6q3li7jfcnbfpdl9f4cvzkxn9i-libpng-apng-1.6.37
  /nix/store/dlwijmlfmhywn9v0gb281lp6ar1l0j19-zlib-1.2.11-dev
  /nix/store/f4v9861ihik42dfqn896lrrqy4ms9n2n-stdenv-linux
  /nix/store/flhkxa0lxyjjvcmdxk105vvymfmfsfqk-libXft-2.3.3-dev
  /nix/store/g6kh5chpsxvrr2phlas589nlaa1fr28g-fontconfig-2.12.6-bin
  /nix/store/gbh11p60k1n7cqw2sk9yf9d06j7d8ff0-gcc-8.3.0
  /nix/store/j3y65pr8ivqkyx8w1lq7iq18gh4qwn7a-sqlite-3.28.0
  /nix/store/qcj9kvhka0j7h23arxzh8am8rlhn97s9-fontconfig-2.12.6-lib
  /nix/store/qi7944bmsd6ykxx2y9bmv2qijqsangi1-freetype-2.10.1
  /nix/store/rsyv3ly5x6dmnl0abmi6nf8qhl2b1flv-libpng-apng-1.6.37-dev
  /nix/store/vqy0rj9xppr666j3xh3wx0ydif1y7qdx-freetype-2.10.1-dev
  /nix/store/wcvz7j12cjvb92c1kdblr4f81hp8hidb-libarchive-3.4.0-lib
copying path '/nix/store/1mcm0vqslw022kwk9bmyrvap1xcwx4dp-libxml2-2.9.9' from 'https://cache.nixos.org'...
copying path '/nix/store/53x8jsrv0s9yljidz63fy19fy0mfisxa-binutils-wrapper-2.31.1' from 'https://cache.nixos.org'...
copying path '/nix/store/gbh11p60k1n7cqw2sk9yf9d06j7d8ff0-gcc-8.3.0' from 'https://cache.nixos.org'...
copying path '/nix/store/wcvz7j12cjvb92c1kdblr4f81hp8hidb-libarchive-3.4.0-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0' from 'https://cache.nixos.org'...
copying path '/nix/store/ddyy9p6q3li7jfcnbfpdl9f4cvzkxn9i-libpng-apng-1.6.37' from 'https://cache.nixos.org'...
copying path '/nix/store/427j4h19v1b8pszwqi3lyhhxndhkq7k7-libssh2-1.9.0' from 'https://cache.nixos.org'...
copying path '/nix/store/qi7944bmsd6ykxx2y9bmv2qijqsangi1-freetype-2.10.1' from 'https://cache.nixos.org'...
copying path '/nix/store/8h2p0rf2lzrs791cazlkwjwacj92vwk7-curl-7.65.3' from 'https://cache.nixos.org'...
copying path '/nix/store/qcj9kvhka0j7h23arxzh8am8rlhn97s9-fontconfig-2.12.6-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/23bvfhd4w31slyf4zcf4sbcdcm654jrv-cmake-3.15.1' from 'https://cache.nixos.org'...
copying path '/nix/store/g6kh5chpsxvrr2phlas589nlaa1fr28g-fontconfig-2.12.6-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/01q48hbp1n06n6f63mybnljfgf5bqxil-libXft-2.3.3' from 'https://cache.nixos.org'...
copying path '/nix/store/j3y65pr8ivqkyx8w1lq7iq18gh4qwn7a-sqlite-3.28.0' from 'https://cache.nixos.org'...
copying path '/nix/store/f4v9861ihik42dfqn896lrrqy4ms9n2n-stdenv-linux' from 'https://cache.nixos.org'...
copying path '/nix/store/65f2n5kyf41w2gaqj78zd24bz4814yik-python3-3.7.5' from 'https://cache.nixos.org'...
copying path '/nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0' from 'https://cache.nixos.org'...
copying path '/nix/store/dlwijmlfmhywn9v0gb281lp6ar1l0j19-zlib-1.2.11-dev' from 'https://cache.nixos.org'...
building '/nix/store/sg9vnq46szcfx32n4rliqz3hpivkzj4r-glslang-7.11.3214.drv'...
unpacking sources
unpacking source archive /nix/store/9pzi3lszdk7d653wv0i474cxdfffvy8z-source
source root is source
patching sources
configuring
fixing cmake files...
cmake flags: -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/share/doc/ -DCMAKE_INSTALL_INFODIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include -DCMAKE_INSTALL_SBINDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_DEPLOYMENT_TARGET= -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=last -DCMAKE_STRIP=/nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/strip -DCMAKE_RANLIB=/nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/ranlib -DCMAKE_AR=/nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214  
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/gcc
-- Check for working C compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/g++
-- Check for working CXX compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- SPIRV-Tools: nosetests was not found - python support code will not be tested
-- Found PythonInterp: /nix/store/65f2n5kyf41w2gaqj78zd24bz4814yik-python3-3.7.5/bin/python (found version "3.7.5") 
-- optimizer enabled
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE  
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY


-- Build files have been written to: /build/source/build
building
build flags: -j4 -l4 SHELL=/nix/store/clp0hgzq3pwx03lr8apg92nmswr4izvz-bash-4.4-p23/bin/bash
Scanning dependencies of target spirv-tools-shared-pkg-config
Scanning dependencies of target core_tables
Scanning dependencies of target spirv-tools-pkg-config
Scanning dependencies of target enum_string_mapping
[  0%] Generate info tables for SPIR-V vunified1 core instructions and operands.
[  1%] Generate enum-string mapping for SPIR-V vunified1.
[  1%] Built target spirv-tools-shared-pkg-config
[  1%] Built target spirv-tools-pkg-config
[  1%] Generate tables based on the SPIR-V XML registry.
Scanning dependencies of target spirv-tools-spv-amd-gcn-shader
[  2%] Generate extended instruction tables for spv-amd-gcn-shader.
[  2%] Built target enum_string_mapping
Scanning dependencies of target spirv-tools-header-DebugInfo
[  2%] Generate language specific header for DebugInfo.
Scanning dependencies of target spirv-tools-spv-amd-shader-ballot
[  2%] Generate extended instruction tables for spv-amd-shader-ballot.
[  2%] Built target spirv-tools-spv-amd-gcn-shader
Scanning dependencies of target spirv-tools-debuginfo
[  2%] Generate extended instruction tables for debuginfo.
[  2%] Built target core_tables
Scanning dependencies of target spirv-tools-spv-amd-shader-explicit-vertex-parameter
[  2%] Built target spirv-tools-header-DebugInfo
[  2%] Built target spirv-tools-spv-amd-shader-ballot
Scanning dependencies of target spirv-tools-spv-amd-shader-trinary-minmax
[  2%] Generate extended instruction tables for spv-amd-shader-explicit-vertex-parameter.
Scanning dependencies of target HLSL
[  2%] Built target spirv-tools-debuginfo
[  2%] Generate extended instruction tables for spv-amd-shader-trinary-minmax.
Scanning dependencies of target OSDependent
[  2%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslAttributes.cpp.o
[  3%] Building CXX object glslang/OSDependent/Unix/CMakeFiles/OSDependent.dir/ossource.cpp.o
[  3%] Built target spirv-tools-spv-amd-shader-explicit-vertex-parameter
Scanning dependencies of target OGLCompiler
[  3%] Built target spirv-tools-spv-amd-shader-trinary-minmax
[  3%] Building CXX object OGLCompilersDLL/CMakeFiles/OGLCompiler.dir/InitializeDll.cpp.o
Scanning dependencies of target glslang-default-resource-limits
[  3%] Building CXX object StandAlone/CMakeFiles/glslang-default-resource-limits.dir/ResourceLimits.cpp.o
[  3%] Linking CXX static library libOSDependent.a
[  3%] Built target OSDependent
Scanning dependencies of target SPVRemapper
[  3%] Building CXX object SPIRV/CMakeFiles/SPVRemapper.dir/SPVRemapper.cpp.o
[  3%] Linking CXX static library libOGLCompiler.a
[  3%] Built target OGLCompiler
Scanning dependencies of target extinst_tables
[  3%] Generate info tables for OpenCL extended instructions and operands vunified1.
[  3%] Generate info tables for GLSL extended instructions and operands vunified1.
[  3%] Built target extinst_tables
[  3%] Update build-version.inc in the SPIRV-Tools build directory (if necessary).
/build/source/External/spirv-tools/utils/update_build_version.py:91: DeprecationWarning: 'U' mode is deprecated
  with open(changes_file, mode='rU') as f:
Scanning dependencies of target SPIRV-Tools-shared
[  3%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o
[  3%] Linking CXX static library libglslang-default-resource-limits.a
[  3%] Built target glslang-default-resource-limits
Scanning dependencies of target SPIRV-Tools
[  3%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/util/bit_vector.cpp.o
[  3%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o
[  3%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslParseHelper.cpp.o
[  3%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/util/parse_number.cpp.o
[  4%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o
[  4%] Building CXX object SPIRV/CMakeFiles/SPVRemapper.dir/doc.cpp.o
[  5%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/util/string_utils.cpp.o
[  5%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o
[  5%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/assembly_grammar.cpp.o
[  5%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o
[  5%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/binary.cpp.o
[  6%] Linking CXX static library libSPVRemapper.a
[  6%] Built target SPVRemapper
[  6%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/diagnostic.cpp.o
[  7%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/disassemble.cpp.o
[  8%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o
[  8%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/enum_string_mapping.cpp.o
[  8%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o
[  8%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/ext_inst.cpp.o
[  9%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/extensions.cpp.o
[  9%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/id_descriptor.cpp.o
[  9%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/libspirv.cpp.o
[  9%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/name_mapper.cpp.o
[  9%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o
[ 10%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/opcode.cpp.o
[ 10%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o
[ 10%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/operand.cpp.o
[ 11%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o
[ 11%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/parsed_operand.cpp.o
[ 11%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o
[ 12%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/print.cpp.o
[ 12%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/software_version.cpp.o
[ 12%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/spirv_endian.cpp.o
[ 12%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/spirv_optimizer_options.cpp.o
[ 13%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/spirv_reducer_options.cpp.o
[ 13%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/spirv_target_env.cpp.o
[ 13%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/spirv_validator_options.cpp.o
[ 13%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o
[ 14%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/table.cpp.o
[ 14%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/text.cpp.o
[ 14%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/text_handler.cpp.o
[ 15%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o
[ 15%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o
[ 15%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate.cpp.o
[ 16%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_adjacency.cpp.o
[ 16%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o
[ 16%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_annotation.cpp.o
[ 16%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o
[ 17%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o
[ 17%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o
[ 17%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o
[ 18%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o
[ 18%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_reducer_options.cpp.o
[ 18%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_arithmetics.cpp.o
[ 18%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o
[ 19%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_atomics.cpp.o
[ 19%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o
[ 20%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o
[ 20%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslScanContext.cpp.o
[ 20%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o
[ 20%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_barriers.cpp.o
[ 20%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_bitwise.cpp.o
[ 21%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslOpMap.cpp.o
[ 21%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslTokenStream.cpp.o
[ 21%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o
[ 21%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_builtins.cpp.o
[ 21%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslGrammar.cpp.o
[ 21%] Building CXX object hlsl/CMakeFiles/HLSL.dir/hlslParseables.cpp.o
[ 22%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o
[ 22%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o
[ 23%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_capability.cpp.o
[ 24%] Linking CXX static library libHLSL.a
[ 24%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o
[ 24%] Built target HLSL
Scanning dependencies of target glslang
[ 24%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/glslang_tab.cpp.o
[ 24%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o
[ 24%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_cfg.cpp.o
[ 25%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o
[ 25%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o
[ 25%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o
[ 26%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o
[ 26%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o
[ 26%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_composites.cpp.o
[ 26%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o
[ 27%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_constants.cpp.o
[ 27%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o
[ 27%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_conversion.cpp.o
[ 28%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o
[ 28%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_datarules.cpp.o
[ 28%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o
[ 28%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o
[ 28%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_debug.cpp.o
[ 29%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o
[ 30%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/attribute.cpp.o
[ 30%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o
[ 31%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_decorations.cpp.o
[ 31%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o
[ 31%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/Constant.cpp.o
[ 31%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_extensions.cpp.o
[ 32%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o
[ 32%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_derivatives.cpp.o
[ 32%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o
[ 32%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_extensions.cpp.o
[ 32%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/iomapper.cpp.o
[ 32%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o
[ 33%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o
[ 33%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o
[ 34%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_execution_limitations.cpp.o
[ 34%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o
[ 35%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/InfoSink.cpp.o
[ 35%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o
[ 35%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/Initialize.cpp.o
[ 35%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_function.cpp.o
[ 36%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o
[ 36%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o
[ 36%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_id.cpp.o
[ 36%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o
[ 37%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory_semantics.cpp.o
[ 37%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_image.cpp.o
[ 37%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o
[ 37%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/IntermTraverse.cpp.o
[ 37%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o
[ 37%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/Intermediate.cpp.o
[ 37%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o
[ 38%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_interfaces.cpp.o
[ 39%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_scopes.cpp.o
[ 39%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o
[ 39%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o
[ 39%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_instruction.cpp.o
[ 39%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o
[ 40%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o
[ 40%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o
[ 40%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_layout.cpp.o
[ 40%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o
[ 41%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseContextBase.cpp.o
[ 42%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_literals.cpp.o
[ 43%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o
[ 43%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_logicals.cpp.o
[ 43%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_memory.cpp.o
[ 43%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_memory_semantics.cpp.o
[ 43%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/ParseHelper.cpp.o
[ 44%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_mode_setting.cpp.o
[ 44%] Linking CXX shared library libSPIRV-Tools-shared.so
[ 44%] Built target SPIRV-Tools-shared
[ 44%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_non_uniform.cpp.o
[ 44%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_primitives.cpp.o
[ 45%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_scopes.cpp.o
[ 45%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validate_type.cpp.o
[ 45%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/basic_block.cpp.o
[ 45%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/construct.cpp.o
[ 46%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/function.cpp.o
[ 46%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/instruction.cpp.o
[ 46%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/val/validation_state.cpp.o
[ 47%] Building CXX object External/spirv-tools/source/CMakeFiles/SPIRV-Tools.dir/util/timer.cpp.o
[ 47%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/PoolAlloc.cpp.o
[ 48%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/RemoveTree.cpp.o
[ 48%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/Scan.cpp.o
[ 48%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/ShaderLang.cpp.o
[ 48%] Linking CXX static library libSPIRV-Tools.a
[ 49%] Built target SPIRV-Tools
Scanning dependencies of target SPIRV-Tools-opt
[ 50%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/aggressive_dead_code_elim_pass.cpp.o
[ 50%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/SymbolTable.cpp.o
/build/source/glslang/MachineIndependent/SymbolTable.cpp: In member function 'virtual void glslang::TAnonMember::dump(TInfoSink&, bool) const':
/build/source/glslang/MachineIndependent/SymbolTable.cpp:232:51: warning: unused parameter 'complete' [-Wunused-parameter]
 void TAnonMember::dump(TInfoSink& TInfoSink, bool complete) const
                                              ~~~~~^~~~~~~~
[ 51%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/Versions.cpp.o
[ 51%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/intermOut.cpp.o
[ 51%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/limits.cpp.o
[ 52%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/linkValidate.cpp.o
[ 52%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/parseConst.cpp.o
[ 52%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/reflection.cpp.o
[ 52%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/basic_block.cpp.o
[ 52%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/Pp.cpp.o
[ 53%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpAtom.cpp.o
[ 53%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpContext.cpp.o
[ 53%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpScanner.cpp.o
[ 53%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/block_merge_pass.cpp.o
[ 54%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/preprocessor/PpTokens.cpp.o
[ 54%] Building CXX object glslang/CMakeFiles/glslang.dir/MachineIndependent/propagateNoContraction.cpp.o
[ 54%] Building CXX object glslang/CMakeFiles/glslang.dir/GenericCodeGen/CodeGen.cpp.o
[ 54%] Building CXX object glslang/CMakeFiles/glslang.dir/GenericCodeGen/Link.cpp.o
[ 54%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/block_merge_util.cpp.o
[ 55%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build_module.cpp.o
[ 55%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/ccp_pass.cpp.o
[ 56%] Linking CXX static library libglslang.a
[ 56%] Built target glslang
Scanning dependencies of target spirv-cfg
[ 57%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-cfg.dir/cfg/cfg.cpp.o
[ 57%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-cfg.dir/cfg/bin_to_dot.cpp.o
[ 57%] Linking CXX executable spirv-cfg
[ 57%] Built target spirv-cfg
Scanning dependencies of target spirv-stats
[ 57%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-stats.dir/stats/stats.cpp.o
[ 57%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/cfg_cleanup_pass.cpp.o
[ 57%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-stats.dir/stats/stats_analyzer.cpp.o
[ 58%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/cfg.cpp.o
[ 58%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/code_sink.cpp.o
[ 58%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/combine_access_chains.cpp.o
[ 59%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-stats.dir/stats/spirv_stats.cpp.o
[ 59%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/common_uniform_elim_pass.cpp.o
[ 60%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/compact_ids_pass.cpp.o
[ 60%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/composite.cpp.o
[ 60%] Linking CXX executable spirv-stats
[ 60%] Built target spirv-stats
Scanning dependencies of target spirv-dis
[ 61%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-dis.dir/dis/dis.cpp.o
[ 61%] Linking CXX executable spirv-dis
[ 61%] Built target spirv-dis
Scanning dependencies of target spirv-as
[ 61%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-as.dir/as/as.cpp.o
[ 61%] Linking CXX executable spirv-as
[ 61%] Built target spirv-as
Scanning dependencies of target spirv-val
[ 61%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-val.dir/val/val.cpp.o
[ 61%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-val.dir/util/cli_consumer.cpp.o
[ 62%] Linking CXX executable spirv-val
[ 62%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/const_folding_rules.cpp.o
[ 62%] Built target spirv-val
[ 62%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/copy_prop_arrays.cpp.o
[ 63%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/constants.cpp.o
[ 63%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/dead_branch_elim_pass.cpp.o
[ 63%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/decoration_manager.cpp.o
[ 63%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/def_use_manager.cpp.o
[ 64%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/dead_variable_elimination.cpp.o
[ 64%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/dead_insert_elim_pass.cpp.o
[ 65%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/dominator_analysis.cpp.o
[ 65%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/dominator_tree.cpp.o
[ 65%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/eliminate_dead_constant_pass.cpp.o
[ 65%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/eliminate_dead_functions_pass.cpp.o
[ 66%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/eliminate_dead_functions_util.cpp.o
[ 66%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/eliminate_dead_members_pass.cpp.o
[ 66%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/feature_manager.cpp.o
[ 67%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/flatten_decoration_pass.cpp.o
[ 67%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/fold_spec_constant_op_and_composite_pass.cpp.o
[ 68%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/freeze_spec_constant_value_pass.cpp.o
[ 68%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/function.cpp.o
[ 68%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/folding_rules.cpp.o
[ 68%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/generate_webgpu_initializers_pass.cpp.o
[ 68%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/fold.cpp.o
[ 69%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/if_conversion.cpp.o
[ 69%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/inline_exhaustive_pass.cpp.o
[ 69%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/inline_opaque_pass.cpp.o
[ 69%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/inline_pass.cpp.o
[ 70%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/inst_bindless_check_pass.cpp.o
[ 70%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/instruction.cpp.o
[ 70%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/instruction_list.cpp.o
[ 71%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/instrument_pass.cpp.o
[ 71%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/ir_context.cpp.o
[ 71%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/ir_loader.cpp.o
[ 71%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/licm_pass.cpp.o
[ 72%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/local_access_chain_convert_pass.cpp.o
[ 72%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/local_redundancy_elimination.cpp.o
[ 72%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/local_single_block_elim_pass.cpp.o
[ 73%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/local_single_store_elim_pass.cpp.o
[ 73%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/local_ssa_elim_pass.cpp.o
[ 73%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_dependence.cpp.o
[ 73%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_dependence_helpers.cpp.o
[ 74%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_descriptor.cpp.o
[ 74%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_fission.cpp.o
[ 74%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_fusion.cpp.o
[ 75%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_fusion_pass.cpp.o
[ 75%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_peeling.cpp.o
[ 75%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_utils.cpp.o
[ 75%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_unroller.cpp.o
[ 76%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/loop_unswitch_pass.cpp.o
[ 76%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/mem_pass.cpp.o
[ 76%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/merge_return_pass.cpp.o
[ 77%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/module.cpp.o
[ 77%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/optimizer.cpp.o
[ 77%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/pass.cpp.o
[ 77%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/pass_manager.cpp.o
[ 78%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/private_to_local_pass.cpp.o
[ 78%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/process_lines_pass.cpp.o
[ 78%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/propagator.cpp.o
[ 79%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/reduce_load_size.cpp.o
[ 79%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/redundancy_elimination.cpp.o
[ 79%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/register_pressure.cpp.o
[ 79%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/remove_duplicates_pass.cpp.o
[ 80%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/replace_invalid_opc.cpp.o
[ 81%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/scalar_replacement_pass.cpp.o
[ 81%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/set_spec_constant_default_value_pass.cpp.o
[ 81%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/scalar_analysis_simplification.cpp.o
[ 81%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/scalar_analysis.cpp.o
[ 81%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/simplification_pass.cpp.o
[ 81%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/ssa_rewrite_pass.cpp.o
[ 82%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/strength_reduction_pass.cpp.o
[ 82%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/strip_atomic_counter_memory_pass.cpp.o
[ 82%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/strip_debug_info_pass.cpp.o
[ 83%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/strip_reflect_info_pass.cpp.o
[ 83%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/struct_cfg_analysis.cpp.o
[ 83%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/type_manager.cpp.o
[ 83%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/types.cpp.o
[ 84%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/unify_const_pass.cpp.o
[ 84%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/upgrade_memory_model.cpp.o
[ 84%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/value_number_table.cpp.o
[ 84%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/vector_dce.cpp.o
[ 85%] Building CXX object External/spirv-tools/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/workaround1209.cpp.o
[ 85%] Linking CXX static library libSPIRV-Tools-opt.a
[ 85%] Built target SPIRV-Tools-opt
Scanning dependencies of target SPIRV-Tools-reduce
Scanning dependencies of target SPIRV-Tools-link
[ 85%] Building CXX object External/spirv-tools/source/link/CMakeFiles/SPIRV-Tools-link.dir/linker.cpp.o
[ 85%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/change_operand_reduction_opportunity.cpp.o
[ 86%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/change_operand_to_undef_reduction_opportunity.cpp.o
Scanning dependencies of target spirv-tools-cpp-example
[ 86%] Building CXX object External/spirv-tools/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o
[ 87%] Linking CXX executable spirv-tools-cpp-example
Scanning dependencies of target spirv-opt
[ 88%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-opt.dir/opt/opt.cpp.o
[ 88%] Built target spirv-tools-cpp-example
Scanning dependencies of target SPIRV
[ 88%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/GlslangToSpv.cpp.o
[ 88%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/merge_blocks_reduction_opportunity.cpp.o
[ 88%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-opt.dir/util/cli_consumer.cpp.o
[ 88%] Linking CXX executable spirv-opt
[ 88%] Built target spirv-opt
[ 88%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/InReadableOrder.cpp.o
[ 89%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/Logger.cpp.o
[ 89%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/SpvBuilder.cpp.o
[ 89%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/merge_blocks_reduction_opportunity_finder.cpp.o
[ 89%] Linking CXX static library libSPIRV-Tools-link.a
[ 89%] Built target SPIRV-Tools-link
Scanning dependencies of target spirv-link
[ 89%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-link.dir/link/linker.cpp.o
[ 89%] Linking CXX executable spirv-link
[ 89%] Built target spirv-link
[ 89%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/operand_to_const_reduction_opportunity_finder.cpp.o
[ 90%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/operand_to_undef_reduction_opportunity_finder.cpp.o
[ 90%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/SpvPostProcess.cpp.o
[ 90%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/operand_to_dominating_id_reduction_opportunity_finder.cpp.o
[ 91%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/doc.cpp.o
[ 91%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/SpvTools.cpp.o
[ 91%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/reducer.cpp.o
[ 91%] Building CXX object SPIRV/CMakeFiles/SPIRV.dir/disassemble.cpp.o
[ 92%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/reduction_opportunity.cpp.o
[ 92%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/reduction_pass.cpp.o
[ 92%] Linking CXX static library libSPIRV.a
[ 92%] Built target SPIRV
[ 92%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_block_reduction_opportunity.cpp.o
[ 92%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/reduction_util.cpp.o
[ 93%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_block_reduction_opportunity_finder.cpp.o
[ 93%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_function_reduction_opportunity.cpp.o
[ 93%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_function_reduction_opportunity_finder.cpp.o
[ 94%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_instruction_reduction_opportunity.cpp.o
[ 94%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_selection_reduction_opportunity.cpp.o
[ 94%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_selection_reduction_opportunity_finder.cpp.o
[ 94%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_unreferenced_instruction_reduction_opportunity_finder.cpp.o
[ 95%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/remove_opname_instruction_reduction_opportunity_finder.cpp.o
[ 95%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/structured_loop_to_selection_reduction_opportunity.cpp.o
[ 95%] Building CXX object External/spirv-tools/source/reduce/CMakeFiles/SPIRV-Tools-reduce.dir/structured_loop_to_selection_reduction_opportunity_finder.cpp.o
[ 96%] Linking CXX static library libSPIRV-Tools-reduce.a
[ 96%] Built target SPIRV-Tools-reduce
Scanning dependencies of target spirv-reduce
Scanning dependencies of target glslangValidator
Scanning dependencies of target spirv-remap
[ 96%] Building CXX object StandAlone/CMakeFiles/spirv-remap.dir/spirv-remap.cpp.o
[ 97%] Building CXX object StandAlone/CMakeFiles/glslangValidator.dir/StandAlone.cpp.o
[ 98%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-reduce.dir/reduce/reduce.cpp.o
[ 98%] Building CXX object External/spirv-tools/tools/CMakeFiles/spirv-reduce.dir/util/cli_consumer.cpp.o
[100%] Linking CXX executable spirv-remap
[100%] Built target spirv-remap
[100%] Linking CXX executable glslangValidator
[100%] Built target glslangValidator
[100%] Linking CXX executable spirv-reduce
[100%] Built target spirv-reduce
installing
install flags: SHELL=/nix/store/clp0hgzq3pwx03lr8apg92nmswr4izvz-bash-4.4-p23/bin/bash install
[  0%] Built target spirv-tools-shared-pkg-config
[  0%] Built target spirv-tools-pkg-config
[  0%] Built target core_tables
[  1%] Built target enum_string_mapping
[  2%] Built target spirv-tools-spv-amd-gcn-shader
[  2%] Built target spirv-tools-header-DebugInfo
[  2%] Built target spirv-tools-spv-amd-shader-ballot
[  2%] Built target spirv-tools-debuginfo
[  2%] Built target spirv-tools-spv-amd-shader-explicit-vertex-parameter
[  2%] Built target spirv-tools-spv-amd-shader-trinary-minmax
[  2%] Built target extinst_tables
[ 21%] Built target SPIRV-Tools-shared
[ 41%] Built target SPIRV-Tools
[ 68%] Built target SPIRV-Tools-opt
[ 75%] Built target SPIRV-Tools-reduce
[ 75%] Built target SPIRV-Tools-link
[ 76%] Built target spirv-cfg
[ 77%] Built target spirv-stats
[ 78%] Built target spirv-dis
[ 78%] Built target spirv-link
[ 78%] Built target spirv-as
[ 79%] Built target spirv-val
[ 80%] Built target spirv-opt
[ 81%] Built target spirv-reduce
[ 82%] Built target spirv-tools-cpp-example
[ 84%] Built target HLSL
[ 85%] Built target OSDependent
[ 85%] Built target OGLCompiler
[ 94%] Built target glslang
[ 94%] Built target glslang-default-resource-limits
[ 95%] Built target SPVRemapper
[ 97%] Built target SPIRV
[ 98%] Built target glslangValidator
[100%] Built target spirv-remap
Install the project...
-- Install configuration: "Release"
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/spirv-tools/libspirv.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/spirv-tools/libspirv.hpp
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/spirv-tools/optimizer.hpp
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/spirv-tools/linker.hpp
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/spirv-tools/instrument.hpp
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/pkgconfig/SPIRV-Tools.pc
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/pkgconfig/SPIRV-Tools-shared.pc
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV-Tools.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV-Tools-shared.so
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV-Tools-opt.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV-Tools-reduce.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV-Tools-link.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-as
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-dis
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-val
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-opt
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-stats
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-cfg
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-link
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-reduce
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-lesspipe.sh
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libglslang.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Public/ShaderLang.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/arrays.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/BaseTypes.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/Common.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/ConstantUnion.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/InfoSink.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/InitializeGlobals.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/intermediate.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/PoolAlloc.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/ResourceLimits.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/revision.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/ShHandle.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/Include/Types.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/attribute.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/glslang_tab.cpp.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/gl_types.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/Initialize.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/iomapper.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/LiveTraverser.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/localintermediate.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/ParseHelper.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/reflection.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/RemoveTree.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/Scan.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/ScanContext.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/SymbolTable.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/Versions.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/parseVersions.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/propagateNoContraction.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/preprocessor/PpContext.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/glslang/MachineIndependent/preprocessor/PpTokens.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libOSDependent.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libOGLCompiler.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/glslangValidator
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-remap
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPVRemapper.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV.a
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/bitutils.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/spirv.hpp
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/GLSL.std.450.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/GLSL.ext.EXT.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/GLSL.ext.KHR.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/GlslangToSpv.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/hex_float.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/Logger.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/SpvBuilder.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/spvIR.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/doc.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/SpvTools.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/disassemble.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/GLSL.ext.AMD.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/GLSL.ext.NV.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/SPVRemapper.h
-- Up-to-date: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/include/SPIRV/doc.h
-- Installing: /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libHLSL.a
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-reduce
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-remap
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-dis
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-opt
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-val
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-stats
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-as
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/glslangValidator
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-link
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-cfg
shrinking /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib/libSPIRV-Tools-shared.so
strip is /nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/lib  /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin 
patching script interpreter paths in /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214
/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214/bin/spirv-lesspipe.sh: interpreter directive changed from "/usr/bin/env sh" to "/nix/store/clp0hgzq3pwx03lr8apg92nmswr4izvz-bash-4.4-p23/bin/sh"
checking for references to /build/ in /nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214...
copying path '/nix/store/rsyv3ly5x6dmnl0abmi6nf8qhl2b1flv-libpng-apng-1.6.37-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/vqy0rj9xppr666j3xh3wx0ydif1y7qdx-freetype-2.10.1-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/bhf5gka80c29xq6sabc87fkrxyq7aihl-fontconfig-2.12.6-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/flhkxa0lxyjjvcmdxk105vvymfmfsfqk-libXft-2.3.3-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/9f4m96va8s6y7wz130dmvzkywmdhqvvg-xlibs-wrapper' from 'https://cache.nixos.org'...
building '/nix/store/4gf0yg1mp1ng5474k2yb2xbps5105i2y-vulkan-tools-1.1.114.0.drv'...
unpacking sources
unpacking source archive /nix/store/4rgsgk4k0scgh6958im8gj2hl61w29g9-source
source root is source
patching sources
configuring
fixing cmake files...
cmake flags: -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/share/doc/ -DCMAKE_INSTALL_INFODIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/include -DCMAKE_INSTALL_SBINDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_DEPLOYMENT_TARGET= -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=last -DCMAKE_STRIP=/nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/strip -DCMAKE_RANLIB=/nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/ranlib -DCMAKE_AR=/nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0 -DBUILD_ICD=OFF -DGLSLANG_INSTALL_DIR=/nix/store/s18ik0iwc85wa2b2f9a5039irnij6gim-glslang-7.11.3214 
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/gcc
-- Check for working C compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/g++
-- Check for working CXX compiler: /nix/store/1362b6369hv1wwyb5xb5pbkzaw793r4s-gcc-wrapper-8.3.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /nix/store/65f2n5kyf41w2gaqj78zd24bz4814yik-python3-3.7.5/bin/python3 (found suitable version "3.7.5", minimum required is "3") 
-- Using find_package to locate Vulkan
-- Found Vulkan: /nix/store/iws7qdm7xfsmgqksbd446l4f91p0kfxv-vulkan-loader-1.1.114.0/lib/libvulkan.so  
-- Found VulkanHeaders: /nix/store/9095mxzwjgnj4lqdjcb9f0hh9vrbs86m-vulkan-headers-1.1.114.0/include  
-- Found VulkanRegistry: /nix/store/9095mxzwjgnj4lqdjcb9f0hh9vrbs86m-vulkan-headers-1.1.114.0/share/vulkan/registry  
-- Vulkan FOUND = TRUE
-- Vulkan Lib Dir = /nix/store/iws7qdm7xfsmgqksbd446l4f91p0kfxv-vulkan-loader-1.1.114.0/lib
-- Vulkan Lib = /nix/store/iws7qdm7xfsmgqksbd446l4f91p0kfxv-vulkan-loader-1.1.114.0/lib/libvulkan.so
-- Vulkan Headers Include = /nix/store/9095mxzwjgnj4lqdjcb9f0hh9vrbs86m-vulkan-headers-1.1.114.0/include
-- Vulkan Headers Registry = /nix/store/9095mxzwjgnj4lqdjcb9f0hh9vrbs86m-vulkan-headers-1.1.114.0/share/vulkan/registry
-- Using GLSLANG_INSTALL_DIR to look for glslangValidator
-- Found PkgConfig: /nix/store/dkqfzrnk4w12hzp8hnwiacdvrs3rn64c-pkg-config-0.29.2/bin/pkg-config (found version "0.29.2") 
Package pthread-stubs was not found in the pkg-config search path.
Perhaps you should add the directory containing `pthread-stubs.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pthread-stubs', required by 'xcb', not found
Package pthread-stubs was not found in the pkg-config search path.
Perhaps you should add the directory containing `pthread-stubs.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pthread-stubs', required by 'xcb', not found
Package pthread-stubs was not found in the pkg-config search path.
Perhaps you should add the directory containing `pthread-stubs.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pthread-stubs', required by 'xcb', not found
Package pthread-stubs was not found in the pkg-config search path.
Perhaps you should add the directory containing `pthread-stubs.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pthread-stubs', required by 'xcb', not found
-- Found xcb: /nix/store/li453f6mrjbbvdzxc1zhx6kamclycm35-libxcb-1.13.1-dev/include  
Package expat was not found in the pkg-config search path.
Perhaps you should add the directory containing `expat.pc'
to the PKG_CONFIG_PATH environment variable
Package 'expat', required by 'fontconfig', not found
Package expat was not found in the pkg-config search path.
Perhaps you should add the directory containing `expat.pc'
to the PKG_CONFIG_PATH environment variable
Package 'expat', required by 'fontconfig', not found
Package expat was not found in the pkg-config search path.
Perhaps you should add the directory containing `expat.pc'
to the PKG_CONFIG_PATH environment variable
Package 'expat', required by 'fontconfig', not found
Package expat was not found in the pkg-config search path.
Perhaps you should add the directory containing `expat.pc'
to the PKG_CONFIG_PATH environment variable
Package 'expat', required by 'fontconfig', not found
-- Found X11: /nix/store/nxzyld6myk58jlmqip1ca4z5hzci0viz-xorgproto-2018.4/include   
-- Looking for XOpenDisplay in /nix/store/hcnkb1lvw56rsf4bqpspxwy1hd6hzs6v-libX11-1.6.8/lib/libX11.so;/nix/store/d85sdm6czai3pa8adzm49w3rww52sa13-libXext-1.3.4/lib/libXext.so
-- Looking for XOpenDisplay in /nix/store/hcnkb1lvw56rsf4bqpspxwy1hd6hzs6v-libX11-1.6.8/lib/libX11.so;/nix/store/d85sdm6czai3pa8adzm49w3rww52sa13-libXext-1.3.4/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found WAYLAND_CLIENT: /nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-client.so  
-- Found WAYLAND_SERVER: /nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-server.so  
-- Found WAYLAND_EGL: /nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-egl.so  
-- Found WAYLAND_CURSOR: /nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-cursor.so  
-- Found WAYLAND: /nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-client.so;/nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-server.so;/nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-egl.so;/nix/store/a4a2vax31phd03dqjkdj0apm4jl4024k-wayland-1.17.0/lib/libwayland-cursor.so  
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_TESTING
    CMAKE_EXPORT_NO_PACKAGE_REGISTRY
    CMAKE_POLICY_DEFAULT_CMP0025


-- Build files have been written to: /build/source/build
building
build flags: -j4 -l4 SHELL=/nix/store/clp0hgzq3pwx03lr8apg92nmswr4izvz-bash-4.4-p23/bin/bash
Scanning dependencies of target vulkaninfo
[ 10%] Compiling cube fragment shader
[ 20%] Compiling cube fragment shader
[ 30%] Compiling cube vertex shader
[ 40%] Building C object vulkaninfo/CMakeFiles/vulkaninfo.dir/vulkaninfo.c.o
/build/source/cube/cube.frag
/build/source/cube/cube.vert
[ 50%] Compiling cube vertex shader
/build/source/cube/cube.frag
Scanning dependencies of target vkcube
[ 60%] Building C object cube/CMakeFiles/vkcube.dir/cube.c.o
/build/source/cube/cube.vert
Scanning dependencies of target vkcubepp
[ 70%] Building CXX object cube/CMakeFiles/vkcubepp.dir/cube.cpp.o
/build/source/cube/cube.c: In function 'debug_messenger_callback':
/build/source/cube/cube.c:501:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
                         (void *)(pCallbackData->pObjects[object].objectHandle), pCallbackData->pObjects[object].pObjectName);
                         ^
/build/source/cube/cube.c:505:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
                         (void *)(pCallbackData->pObjects[object].objectHandle));
                         ^
/build/source/cube/cube.c: In function 'demo_draw_build_cmd':
/build/source/cube/cube.c:734:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
             .objectHandle = (uint64_t)cmd_buf,
                             ^
[ 80%] Linking C executable vkcube
/build/source/vulkaninfo/vulkaninfo.c: In function 'main':
/build/source/vulkaninfo/vulkaninfo.c:1215:34: warning: 'support' may be used uninitialized in this function [-Wmaybe-uninitialized]
                         *support = false;
                                  ^
/build/source/vulkaninfo/vulkaninfo.c:1198:27: note: 'support' was declared here
                     bool *support;
                           ^~~~~~~
/build/source/vulkaninfo/vulkaninfo.c:1225:35: warning: 'memtypes' may be used uninitialized in this function [-Wmaybe-uninitialized]
                         *memtypes = mem_req.memoryTypeBits;
                         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/build/source/vulkaninfo/vulkaninfo.c:1197:31: note: 'memtypes' was declared here
                     uint32_t *memtypes;
                               ^~~~~~~~
[ 80%] Built target vkcube
[ 90%] Linking C executable vulkaninfo
[ 90%] Built target vulkaninfo
[100%] Linking CXX executable vkcubepp
[100%] Built target vkcubepp
installing
install flags: SHELL=/nix/store/clp0hgzq3pwx03lr8apg92nmswr4izvz-bash-4.4-p23/bin/bash install
[ 40%] Built target vkcubepp
[ 80%] Built target vkcube
[100%] Built target vulkaninfo
Install the project...
-- Install configuration: "Release"
-- Installing: /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vkcube
-- Installing: /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vkcubepp
-- Installing: /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vulkaninfo
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0
shrinking /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vkcube
shrinking /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vulkaninfo
shrinking /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vkcubepp
strip is /nix/store/k657hq8xdx38k8y12fdsi8kljs76hbdz-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin 
patching script interpreter paths in /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0
checking for references to /build/ in /nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0...

Sanity
  OpenGL
Error: couldn't find RGB GLX visual or fbconfig
    fails with unwrapped glxinfo64
Error: couldn't find RGB GLX visual or fbconfig
    fails with unwrapped glxinfo32
  Vulkan
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER
    fails with unwrapped vulkaninfo64
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER
    fails with unwrapped vulkaninfo32
NixGL
  Mesa
    OpenGL
these derivations will be built:
  /nix/store/0nki3mx07qc2hpqinf4v5rrfmjxxf347-mesa_glxindirect.drv
  /nix/store/26zhdly2pcfimniq1hy51hgjbknbr9lf-nixGLIntel.drv
these paths will be fetched (182.88 MiB download, 739.71 MiB unpacked):
  /nix/store/0560cg1bdm98a6gfy41mgl6npx209wi8-libXvMC-1.0.11
  /nix/store/057wiyqv8pcl7l1ip23hym74hv5zx2cd-attr-2.4.48
  /nix/store/0ykbl0k34cfh80gvawqy5f8v1yq7pph8-bzip2-1.0.6.0.1
  /nix/store/0zdsw4qdrwi41mfdwqpxknsvk9fz3gkb-findutils-4.7.0
  /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers
  /nix/store/2xwxj5qrrc71asdk1wyq19nz9k845pzs-patchelf-0.9
  /nix/store/2yj57s67kyyh1xv711cmcyasdmpwv658-ShellCheck-0.7.0
  /nix/store/3g2pkmc1s9ycjaxaqc5hrzmq05r5ywbi-stdenv-linux
  /nix/store/3rr5n6g5m5r1d3abcmyz0pxwzhxbajai-libelf-0.8.13
  /nix/store/5csqiirwv1qq8a9pfyv5jmv2plgjiilj-libpciaccess-0.16
  /nix/store/5fzi2hcv3j0d2s68py0jfrdvzwxcxish-libdrm-2.4.99
  /nix/store/5zbyb05k5anv88npp4z4a0icvib9nhdn-libXvMC-1.0.11
  /nix/store/6fzrhsv4j8d4zy3a2lfw3hbxbn5fkiz2-libXv-1.0.11
  /nix/store/6ll1qmkb3ifgb0srch7j7mylab06v1d5-gcc-6.5.0-lib
  /nix/store/6p4kq0v91y90jv5zqb4gri38c47wxglj-pcre-8.43
  /nix/store/71y5ddyz8vmsw9wgi3gzifcls53r60i9-gnugrep-3.3
  /nix/store/84yafwjc6sga23vwsbahhymikjhfbnw4-gawk-5.0.1
  /nix/store/921fhfsalkbk97lkfrx2ixixqgw0jbwf-libXdamage-1.1.5
  /nix/store/9v78r3afqy9xn9zwdj9wfys6sk3vc01d-coreutils-8.31
  /nix/store/aawf0q16ql39w2gwv52qyjfzgbg5f22r-gnutar-1.32
  /nix/store/afyqk8219zfv5and3pqahzvn6bpmx3dq-gzip-1.10
  /nix/store/aygarb80042l1mgmphklrdy8b97s427m-acl-2.2.53
  /nix/store/bb9ps3n145q71xlh9v09zi225n6cg8g3-llvm-7.1.0-lib
  /nix/store/blykn8wlxh1n91dzxizyxvkygmd911cx-xz-5.2.4
  /nix/store/bzwxbm74md3hwd4xjl6lf49h4n8k69zx-mesa-19.1.5
  /nix/store/cmnifpb0gdprcml8r028lddbvm2m3iaq-llvm-7.1.0-lib
  /nix/store/djy2sazdlvhabbjh52fnqgi3w4x30b3f-libXdamage-1.1.5
  /nix/store/dys98skw6ifw5qsqrhjxjjiydyfbg3nq-diffutils-3.7
  /nix/store/g2h4491kab7l06v9rf1lnyjvzdwy5ak0-gnused-4.7
  /nix/store/g94f5af03n3wgymdncl44m7xzmpl5b90-libelf-0.8.13
  /nix/store/gv7sc2spkvx5b858kr4nrrdcnxs1r6kq-libxshmfence-1.3
  /nix/store/gwy0w1ca68nnw0ba3vncq4pqv352mkik-libXfixes-5.0.3
  /nix/store/hinpw2ii17rl5pgk82fw90ak9zkjzyjp-libXxf86vm-1.1.4
  /nix/store/hrmq351pfvplzmnf8pjmpb6gpxl4cm9x-ed-1.15
  /nix/store/iws7dm1jij4lv09mbpwf9i8lc1d4b798-bzip2-1.0.6.0.1-bin
  /nix/store/j8fq1ksp37w88rx80blzazldi17f3x7s-gnumake-4.2.1
  /nix/store/jg65j5xsflr3z664cin5hy9blmcg4s2i-mesa-19.1.5
  /nix/store/jw7zd712s0x9ma4c4jamd4vnwz7405d7-libXxf86vm-1.1.4
  /nix/store/k106prv4xw2s9l06canvy054wmbw0c9s-libxshmfence-1.3
  /nix/store/lmi2nqb1cfzr3ps2zkq97q88zzkhp4mj-patch-2.7.6
  /nix/store/my5v4x1n5568vgziyc63vmc97nk8ril9-ncurses-6.1-20190112
  /nix/store/ng1bk3lhmh0ayay6vv8y2xx4dh7kiqqn-libXfixes-5.0.3
  /nix/store/rm1hz1lybxangc8sdl7xvzs5dcvigvf7-bash-4.4-p23
  /nix/store/rp4v7pv9z055hmv2fsz5lzfg38m3h8s4-libpciaccess-0.16
  /nix/store/s2naxff4ikvmksl0pd3jl078lim4nv8q-libXv-1.0.11
  /nix/store/sisy13ic6giv9yn0fyl2n9cpm84xscvx-gmp-6.1.2
  /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers
  /nix/store/xzhhmscvkcqzklbxxxzp3i2hr40kmvy9-libdrm-2.4.99
  /nix/store/y04xj2mbc66zs53fackn1wwlrv31bv3y-xz-5.2.4-bin
  /nix/store/y2ai1784w4c71h89i19ppl0dya8nxd6s-pcre-8.43-bin
copying path '/nix/store/rm1hz1lybxangc8sdl7xvzs5dcvigvf7-bash-4.4-p23' from 'https://cache.nixos.org'...
copying path '/nix/store/057wiyqv8pcl7l1ip23hym74hv5zx2cd-attr-2.4.48' from 'https://cache.nixos.org'...
copying path '/nix/store/0ykbl0k34cfh80gvawqy5f8v1yq7pph8-bzip2-1.0.6.0.1' from 'https://cache.nixos.org'...
copying path '/nix/store/aygarb80042l1mgmphklrdy8b97s427m-acl-2.2.53' from 'https://cache.nixos.org'...
copying path '/nix/store/iws7dm1jij4lv09mbpwf9i8lc1d4b798-bzip2-1.0.6.0.1-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/9v78r3afqy9xn9zwdj9wfys6sk3vc01d-coreutils-8.31' from 'https://cache.nixos.org'...
copying path '/nix/store/hrmq351pfvplzmnf8pjmpb6gpxl4cm9x-ed-1.15' from 'https://cache.nixos.org'...
copying path '/nix/store/dys98skw6ifw5qsqrhjxjjiydyfbg3nq-diffutils-3.7' from 'https://cache.nixos.org'...
copying path '/nix/store/0zdsw4qdrwi41mfdwqpxknsvk9fz3gkb-findutils-4.7.0' from 'https://cache.nixos.org'...
copying path '/nix/store/84yafwjc6sga23vwsbahhymikjhfbnw4-gawk-5.0.1' from 'https://cache.nixos.org'...
copying path '/nix/store/6ll1qmkb3ifgb0srch7j7mylab06v1d5-gcc-6.5.0-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/sisy13ic6giv9yn0fyl2n9cpm84xscvx-gmp-6.1.2' from 'https://cache.nixos.org'...
copying path '/nix/store/j8fq1ksp37w88rx80blzazldi17f3x7s-gnumake-4.2.1' from 'https://cache.nixos.org'...
copying path '/nix/store/2yj57s67kyyh1xv711cmcyasdmpwv658-ShellCheck-0.7.0' from 'https://cache.nixos.org'...
copying path '/nix/store/g2h4491kab7l06v9rf1lnyjvzdwy5ak0-gnused-4.7' from 'https://cache.nixos.org'...
copying path '/nix/store/aawf0q16ql39w2gwv52qyjfzgbg5f22r-gnutar-1.32' from 'https://cache.nixos.org'...
copying path '/nix/store/afyqk8219zfv5and3pqahzvn6bpmx3dq-gzip-1.10' from 'https://cache.nixos.org'...
copying path '/nix/store/gwy0w1ca68nnw0ba3vncq4pqv352mkik-libXfixes-5.0.3' from 'https://cache.nixos.org'...
copying path '/nix/store/ng1bk3lhmh0ayay6vv8y2xx4dh7kiqqn-libXfixes-5.0.3' from 'https://cache.nixos.org'...
copying path '/nix/store/djy2sazdlvhabbjh52fnqgi3w4x30b3f-libXdamage-1.1.5' from 'https://cache.nixos.org'...
copying path '/nix/store/921fhfsalkbk97lkfrx2ixixqgw0jbwf-libXdamage-1.1.5' from 'https://cache.nixos.org'...
copying path '/nix/store/6fzrhsv4j8d4zy3a2lfw3hbxbn5fkiz2-libXv-1.0.11' from 'https://cache.nixos.org'...
copying path '/nix/store/s2naxff4ikvmksl0pd3jl078lim4nv8q-libXv-1.0.11' from 'https://cache.nixos.org'...
copying path '/nix/store/0560cg1bdm98a6gfy41mgl6npx209wi8-libXvMC-1.0.11' from 'https://cache.nixos.org'...
copying path '/nix/store/5zbyb05k5anv88npp4z4a0icvib9nhdn-libXvMC-1.0.11' from 'https://cache.nixos.org'...
copying path '/nix/store/hinpw2ii17rl5pgk82fw90ak9zkjzyjp-libXxf86vm-1.1.4' from 'https://cache.nixos.org'...
copying path '/nix/store/jw7zd712s0x9ma4c4jamd4vnwz7405d7-libXxf86vm-1.1.4' from 'https://cache.nixos.org'...
copying path '/nix/store/3rr5n6g5m5r1d3abcmyz0pxwzhxbajai-libelf-0.8.13' from 'https://cache.nixos.org'...
copying path '/nix/store/g94f5af03n3wgymdncl44m7xzmpl5b90-libelf-0.8.13' from 'https://cache.nixos.org'...
copying path '/nix/store/5csqiirwv1qq8a9pfyv5jmv2plgjiilj-libpciaccess-0.16' from 'https://cache.nixos.org'...
copying path '/nix/store/rp4v7pv9z055hmv2fsz5lzfg38m3h8s4-libpciaccess-0.16' from 'https://cache.nixos.org'...
copying path '/nix/store/xzhhmscvkcqzklbxxxzp3i2hr40kmvy9-libdrm-2.4.99' from 'https://cache.nixos.org'...
copying path '/nix/store/5fzi2hcv3j0d2s68py0jfrdvzwxcxish-libdrm-2.4.99' from 'https://cache.nixos.org'...
copying path '/nix/store/gv7sc2spkvx5b858kr4nrrdcnxs1r6kq-libxshmfence-1.3' from 'https://cache.nixos.org'...
copying path '/nix/store/k106prv4xw2s9l06canvy054wmbw0c9s-libxshmfence-1.3' from 'https://cache.nixos.org'...
copying path '/nix/store/bb9ps3n145q71xlh9v09zi225n6cg8g3-llvm-7.1.0-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/bzwxbm74md3hwd4xjl6lf49h4n8k69zx-mesa-19.1.5' from 'https://cache.nixos.org'...
copying path '/nix/store/jg65j5xsflr3z664cin5hy9blmcg4s2i-mesa-19.1.5' from 'https://cache.nixos.org'...
copying path '/nix/store/my5v4x1n5568vgziyc63vmc97nk8ril9-ncurses-6.1-20190112' from 'https://cache.nixos.org'...
copying path '/nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers' from 'https://cache.nixos.org'...
copying path '/nix/store/cmnifpb0gdprcml8r028lddbvm2m3iaq-llvm-7.1.0-lib' from 'https://cache.nixos.org'...
copying path '/nix/store/lmi2nqb1cfzr3ps2zkq97q88zzkhp4mj-patch-2.7.6' from 'https://cache.nixos.org'...
copying path '/nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers' from 'https://cache.nixos.org'...
copying path '/nix/store/2xwxj5qrrc71asdk1wyq19nz9k845pzs-patchelf-0.9' from 'https://cache.nixos.org'...
copying path '/nix/store/6p4kq0v91y90jv5zqb4gri38c47wxglj-pcre-8.43' from 'https://cache.nixos.org'...
copying path '/nix/store/blykn8wlxh1n91dzxizyxvkygmd911cx-xz-5.2.4' from 'https://cache.nixos.org'...
copying path '/nix/store/71y5ddyz8vmsw9wgi3gzifcls53r60i9-gnugrep-3.3' from 'https://cache.nixos.org'...
copying path '/nix/store/y2ai1784w4c71h89i19ppl0dya8nxd6s-pcre-8.43-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/y04xj2mbc66zs53fackn1wwlrv31bv3y-xz-5.2.4-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/3g2pkmc1s9ycjaxaqc5hrzmq05r5ywbi-stdenv-linux' from 'https://cache.nixos.org'...
building '/nix/store/0nki3mx07qc2hpqinf4v5rrfmjxxf347-mesa_glxindirect.drv'...
building '/nix/store/26zhdly2pcfimniq1hy51hgjbknbr9lf-nixGLIntel.drv'...
      32 bits
      64 bits
    Vulkan
these derivations will be built:
  /nix/store/8qgiblr19bwyi94vazyd18y0rrl3inhy-mesa_icd.drv
  /nix/store/gf1j7zi5wdvp0xsplmx9m1k7q4g2xmm8-nixVulkanIntel.drv
these paths will be fetched (5.50 MiB download, 44.87 MiB unpacked):
  /nix/store/6inzv1nsv80zs56fnljncyhhp4ll6f2c-vulkan-validation-layers-1.1.114.0
copying path '/nix/store/6inzv1nsv80zs56fnljncyhhp4ll6f2c-vulkan-validation-layers-1.1.114.0' from 'https://cache.nixos.org'...
building '/nix/store/8qgiblr19bwyi94vazyd18y0rrl3inhy-mesa_icd.drv'...
building '/nix/store/gf1j7zi5wdvp0xsplmx9m1k7q4g2xmm8-nixVulkanIntel.drv'...
ERROR: [Loader Message] Code 0 : /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS64
ERROR: [Loader Message] Code 0 : /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS64
INTEL-MESA: warning: ../src/intel/vulkan/anv_device.c:1504: FINISHME: Implement pop-free point clipping
      32 bits
ERROR: [Loader Message] Code 0 : /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
INTEL-MESA: warning: ../src/intel/vulkan/anv_device.c:1504: FINISHME: Implement pop-free point clipping
      64 bits
  Nvidia - Bumblebee
    OpenGL
building '/nix/store/crgz84c5g9bmnh91yiaczs8gwva8wyzf-impure-nvidia-version-file.drv'...
cp: cannot stat '/proc/driver/nvidia/version': No such file or directory
error: cannot coerce null to a string, at /home/salt/Downloads/nixGL/nixGL.nix:57:29
      32 bits FAILED [1]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
      32 bits
        # PENDING: No reason given
      64 bits
        # PENDING: No reason given
  Nvidia
    OpenGL
error: cannot coerce null to a string, at /home/salt/Downloads/nixGL/nixGL.nix:57:29
      32 bits FAILED [2]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
error: cannot coerce null to a string, at /home/salt/Downloads/nixGL/nixGL.nix:57:29
      32 bits FAILED [3]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)

Failures:

  Test.hs:35:5: 
  1) NixGL, Nvidia - Bumblebee, OpenGL, 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLNvidiaBumblebee" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/32 bits/"

  Test.hs:35:5: 
  2) NixGL.Nvidia.OpenGL 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLNvidia" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia/OpenGL/32 bits/"

  Test.hs:53:5: 
  3) NixGL.Nvidia.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixVulkanNvidia" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia/Vulkan/32 bits/"

Randomized with seed 278448858

Finished in 70.3124 seconds
16 examples, 3 failures, 5 pending

salt@saltemp-uw:~/Downloads/nixGL$ nix-env -f ./ -iA nixGLIntel
installing 'nixGLIntel'
these derivations will be built:
  /nix/store/b7di0ymci9bznf3skmfkmnsbd2b791y5-mesa_glxindirect.drv
  /nix/store/5nvcliwa1b6cvb9a1rlygj6bxplkp5mg-nixGLIntel.drv
these paths will be fetched (0.83 MiB download, 4.81 MiB unpacked):
  /nix/store/dqfjvcavk5bzgdscv48hnss999a9am61-pcre-8.44-bin
  /nix/store/jganzahd2z34zp51xbxbb8by390jmwf8-shellcheck-0.7.1-bin
copying path '/nix/store/dqfjvcavk5bzgdscv48hnss999a9am61-pcre-8.44-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/jganzahd2z34zp51xbxbb8by390jmwf8-shellcheck-0.7.1-bin' from 'https://cache.nixos.org'...
building '/nix/store/b7di0ymci9bznf3skmfkmnsbd2b791y5-mesa_glxindirect.drv'...
building '/nix/store/5nvcliwa1b6cvb9a1rlygj6bxplkp5mg-nixGLIntel.drv'...
building '/nix/store/h3ljiwas3adq8dpn6wm0sayyrqmbhizh-user-environment.drv'...
created 10923 symlinks in user environment

wslg support

Is it possible to get this to work with wslg? All my natively installed wsl ubuntu apps work with 3d acceleration, but not the ones installed with nix.

Integration with nix-shell?

I just discovered nixGL when trying to figure out how to run GPU-accelerated tensorflow on non-nixos systems. I usually develop in nix-shell, and was searching for a way to append LD_LIBRARY_PATH in the shell, but didn't find anything. I came up with this shellHook.

shellHook = ''
export LD_LIBRARY_PATH=$(nixGLNvidia printenv LD_LIBRARY_PATH):$LD_LIBRARY_PATH
''

Is this the recommended solution?

Adding nixGL channel appears to break nix-env

With a fresh install of nix, on a Surface Pro 3 with Intel graphics:

% nix-channel --add https://github.com/guibou/nixGL/archive/master.tar.gz nixgl && nix-channel --update
these derivations will be built:
  /nix/store/i72062fyqn1rkxxi0cmly4avw64bnzn7-nixgl.drv
building '/nix/store/i72062fyqn1rkxxi0cmly4avw64bnzn7-nixgl.drv'...
unpacking channels...
created 2 symlinks in user environment
% nix-env -qaP 'nixgl.*'
error: cannot read '/nix/store/28iv2fl40sf87d1wa9wf0v8vvkl0qffi-impure-nvidia-version-file', since path '/nix/store/63z4g82j6r1dhkcad6c6dii8qh0l7h7x-impure-nvidia-version-file.drv' is not valid, at /nix/store/q1zl5sdbrxk27msdlaj9win0fiyyrr1j-nixgl/nixgl/nixGL.nix:48:16
% nix-env -qa 'nixgl.*' 
error: cannot read '/nix/store/ikgz0x0blhnfhh5r3js5lp8i2mcax19q-impure-nvidia-version-file', since path '/nix/store/vybadp8vb5lhmwds6vgscfyvarz0l47x-impure-nvidia-version-file.drv' is not valid, at /nix/store/q1zl5sdbrxk27msdlaj9win0fiyyrr1j-nixgl/nixgl/nixGL.nix:48:16

Edit: update is also broken.

% nix-env -u
building '/nix/store/vf8kdxp1dxqak6vp0v1rfg5lfd3jppxf-impure-nvidia-version-file.drv'...
cp: cannot stat '/proc/driver/nvidia/version': No such file or directory
error: cannot coerce null to a string, at /nix/store/q1zl5sdbrxk27msdlaj9win0fiyyrr1j-nixgl/nixgl/nixGL.nix:57:29
(use '--show-trace' to show detailed location information)

How to use auto.nixGLDefault?

Hi,

I have installed the nixGL successfully using commands from the instruction:

$ nix-channel --add https://github.com/guibou/nixGL/archive/main.tar.gz nixgl && nix-channel --update
$ nix-env -iA nixgl.auto.nixGLDefault

I am trying to use what I have just installed in a shell.nix like this one:

with import <nixpkgs> {};
stdenv.mkDerivation {
    name = "haskell";
    buildInputs = [
        someIrrelevantDependencies
    ];
        
    shellHook = ''
        export LD_LIBRARY_PATH=$(nixGLNvidia printenv LD_LIBRARY_PATH):$LD_LIBRARY_PATH
    '';
}

How to make the nixGL wrappers available inside the nix-shell created using such a script?

Sorry for the dumb question. I am probably missing something obvious here.

Providing nixGL command via flake

Halcyon Days of Old

Many moons ago I used

nixGL = pkgs.callPackage "${builtins.fetchTarball {
    url = https://github.com/guibou/nixGL/archive/7d6bc1b21316bab6cf4a6520c2639a11c25a220e.tar.gz;
    #sha256 = pkgs.lib.fakeSha256;
    sha256 = "02y38zmdplk7a9ihsxvnrzhhv7324mmf5g8hmxqizaid5k5ydpr3";
}}/nixGL.nix" {};

and buildInputs = [ nixGL.nixGLDefault ];

to provide the nixGL command which automatically picked the correct implementation for whatever hardware I happened to be running.

Harsh and Cruel Present

Now I'm trying to provide nixGL in a flake, roughly like this

  inputs = { nixgl.url = "github:guibou/nixGL"; };

  ...

     overlays = [ nixgl.overlay ];

  ...

   devShell = pkgs.mkShell {
     buildInputs = [
       pkgs.nixgl.nixGLIntel         # Works
       pkgs.nixgl.nixGLDefault       # error: attribute 'nixGLDefault' missing 
       pkgs.nixgl.auto.nixGLDefault  # error: attribute 'currentTime' missing at /nix/store/8gs76jqmi2s8gqv68bakyyk3dx4a83db-source/nixGL.nix:202:18: 
     ];
   };

and I get the errors shown in the comments.

How should I go about providing nixGL in a devShell?

nixGL doesn't work on static binaries generated by nix-bundle

nix-bundle converts nix expressions into static binaries. I've ran some tests, and these static binaries don't seem to mess with environment variables like LD_LIBRARY_PATH. Nevertheless, I am unable to use nixGL to run these static binaries. For example with godot (game engine) I get:

$ nixVulkanNvidia ./godot_static_binary
Godot Engine v3.2.beta.custom_build.b41b66ddf - https://godotengine.org
ERROR: initialize: Condition ' !fbc ' is true. returned: ERR_UNCONFIGURED
   At: platform/x11/context_gl_x11.cpp:158.
ERROR: is_viable: Error initializing GLAD
   At: drivers/gles3/rasterizer_gles3.cpp:141.
Your video card driver does not support any of the supported OpenGL versions.
Please update your drivers or if you have a very old or integrated GPU upgrade it.

and with glxgears I get:

$ nixGLNvidia ./glxgears_static_binary
Error: couldn't get an RGB, Double-buffered visual

which for reference was generated by

nix-bundle.nix-bootstrap {
  target = glxinfo;
  run = "/bin/glxgears";
  nixUserChrootFlags = "";
  # I've also tried:
  # nixUserChrootFlags = "-p LD_LIBRARY_PATH";
}

Provide version of a wrapper with libGLX_indirect.so.0 (?)

On my notebook I had to patch nixGLIntel as the following to work:

--- a/default.nix
+++ b/default.nix
@@ -86,11 +86,13 @@ rec {
          homepage = "https://github.com/guibou/nixGL";
      };
     } ''
+      mkdir -p $out/lib
+      ln -s ${mesa_drivers}/lib/libGLX_mesa.so.0 $out/lib/libGLX_indirect.so.0
       mkdir -p $out/bin
       cat > $out/bin/nixGLIntel << FOO
       #!/usr/bin/env sh
       export LIBGL_DRIVERS_PATH=${mesa_drivers}/lib/dri
-      export LD_LIBRARY_PATH=${mesa_drivers}/lib:\$LD_LIBRARY_PATH
+      export LD_LIBRARY_PATH=${mesa_drivers}/lib:$out/lib:\$LD_LIBRARY_PATH
       "\$@"
       FOO

This is based on reading of NixOS/nixpkgs#9415 .
I don't know the linux OpenGL stack enough to understand why. :)

Readme examples broken: "name: command not found"

The readme tells me to run $(nix run nixpkgs.glxinfo -c glxinfo). This will print name of display :0 as first line and then try to run that as a command. I think the correct version of this command should be $(echo nix run nixpkgs.glxinfo -c glxinfo).

An alternative command, that works without subshell, is nixGLIntel nix run nixpkgs.glxinfo -c glxinfo | grep -i 'OpenGL version string'

nixGLBumblebee fails with various symbols error in `/usr/lib`

For example symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: undefined symbol: pango_font_description_get_variations.

The interesting point is that all symbol issues are related to a path in /usr/lib, which should not appears at all, because nixGL only uses path from the nix store.

Difficulty installing with nouveau + nvidia

From this comment, a longer explanation of what I believe was my underlying issue installing and using nixGL. Assume Ubuntu 16.04 for apt commands / packages.


  1. First I checked my configuration and found a "nouveau" driver being used for my NVIDIA GM108M [GeForce 940MX]. It looked something like this:
$ sudo lshw -c video
  *-display               
       description: 3D controller
       product: GM108M [GeForce 940MX]
       vendor: NVIDIA Corporation
       ...
       configuration: driver=nouveau latency=0
  1. My host glxinfo showed that Intel Mesa was being used for GL. Unfortunately I don't still have these logs, but it looked something like this:
$ glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2
  1. I therefore assumed (perhaps wrongly, I don't know) that I needed to use nixGLIntel because the README.md says: "For mesa (intel, amd, nouveau, ...)". So I did:
$ git clone https://github.com/guibou/nixGL
$ cd nixGL
$ nix-build -A nixGLIntel
$ nix-env -i ./result
  1. Then I entered a nix shell and ran glxinfo and it failed:
$ nix-shell -p glxinfo
[nix-shell:~]$ nixGLIntel glxinfo
glxinfo Error: couldn't find RGB GLX visual or fbconfig
  1. So I strace'd glxinfo and discovered that it couldn't find nvidia shared libraries. I also noticed that in a last ditch attempt glxinfo looked for libGLX_indirect.so.0, couldn't find it, and failed.

At this point I was confused about whether I needed to use nixGLNvidia. So I started looking around for my exact nVidia version number (e.g. 390.25). Unfortunately I could only find the incomplete version string 384, so I downloaded nvidia-smi to discover an exact version. This is where things got weird.

$ sudo apt-get install nvidia-smi
$ nvidia-smi

This actually fetched (and apparently installed --- unintentional by me), a new nvidia 384.130 driver, but since I didn't reboot, lshw continued to show nouveau. I then used this version number (384.130) to build nixGLNvidia. I tested it, and it failed in the same way as before:

$ nix-shell -p glxinfo
[nix-shell:~]$ nixGLNvidia glxinfo
glxinfo Error: couldn't find RGB GLX visual or fbconfig

At this point it felt like nixGL wouldn't work at all for my setup. So I started looking into redirecting libGL through X --- an approach that I could reason about easily, at least more than than nvidia drivers --- which I didn't understand at all.

Through experimenting with my X server, I ended up rebooting. At that point the nvidia drivers became active (overriding nouveau), and lshw produced this:

$ sudo lshw -c video | grep 'configuration'
       configuration: driver=nvidia latency=0
       configuration: driver=i915 latency=0

While writing up this issue, I rebuilt nixGLNvidia, installed it, and tested it again with glxinfo to reproduce the error. This time direct rendering worked:

[nix-shell:~]$ glxinfo
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig

[nix-shell:~]$ nixGLNvidia glxinfo | head
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_ARB_context_flush_control, GLX_ARB_create_context, 
    GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, 
    GLX_ARB_fbconfig_float, GLX_ARB_multisample, GLX_EXT_buffer_age, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 

Thoughts:

  1. nixGLNvidia seems to work just fine for my configuration if nvidia drivers are being used, not nouveau. nixGLIntel didn't work with my nouveau driver and was the root cause of my confusion.

  2. I wouldn't have even got nixGLNvidia working if I hadn't accidentally installed new nvidia drivers using nvidia-smi and happened to reboot (unrelated).

  3. nixGL as a solution is great when it works (it's very nice to have fully-functioning direct rendering from a nix shell), but I ended up abandoning it because (a) I didn't know which nixGLXXX I was supposed to use, and (b) I didn't have the patience to debug it further when both nixGLIntel and nixGLNvidia didn't work for me.

So maybe in my case (and for others like me), the solution is to either provide scripts to fully detect which nixGLXXX to use, and automatically blacklist nouveau if it's known to cause problems, with a shell.nix to use (avoiding needing to remember to wrap binaries). If not all configurations can be covered/tested, then maybe some sort of fallback solution to indirect rendering could be suggested, or a fallback to disable hardware acceleration entirely (e.g. LIBGL_ALWAYS_SOFTWARE), just so the user can get something to work.

Hope this helps! ๐Ÿ˜ƒ
Thanks for developing this!

nixGLIntel glxinfo doesn't work

I have nix installed on Debian 10 whith this setup of software and hardware:

$ uname -a
Linux udoo 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux

$ nix-channel --list
nixpkgs https://nixos.org/channels/nixpkgs-unstable -> nixpkgs-20.09pre219796.f601ab37c2f

$ lshw
          description: Host bridge
          product: Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 35
          width: 32 bits
          clock: 33MHz
          configuration: driver=iosf_mbi_pci
          resources: irq:0
        *-display
             description: VGA compatible controller
             product: Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 35
             width: 64 bits
             clock: 33MHz
             capabilities: vga_controller bus_master cap_list rom
             configuration: driver=i915 latency=0
             resources: irq:118 memory:90000000-90ffffff memory:80000000-8fffffff ioport:2000(size=64) memory:c0000-dffff

I have installed nixGLIntel following this steps:

git clone https://github.com/guibou/nixGL
cd nixGL
nix-build -A nixGLIntel
nix-env -i ./result

If I run error with glxinfo:

$ nixGLIntel  glxinfo
name of display: :0
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  60
  Current serial number in output stream:  59

Without nixGlIntel is working well:

$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 400 (Braswell)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.3.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
 glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 400 (Braswell)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.3.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

`nixGLIntel` broken

I need to investigate:

since a few nixpkgs-unstable upgrades, nixGLIntel is now broken. I assume that it is due to the libGL refactor which appears in nixpkgs recently.

add nvidiaFile option in addition to nvidiaVersion

Hello. I tried installing nixGL on my system and the driver file is missing on the nvidia website:

$ nix-env -f ./ -iA nixGLNvidia
building '/nix/store/7zf3gyg71xrap7564bp27nakl8sx8v44-impure-nvidia-version-file.drv'...
installing 'nixGLNvidia-440.33'
error: unable to download 'http://download.nvidia.com/XFree86/Linux-x86_64/440.33/NVIDIA-Linux-x86_64-440.33.run': HTTP error 404

That's funny because the driver is not that old and they deleted it already. I upgraded it using ubuntu's utilities and nixGL got installed successfully.

Would be great to have an option to host this file independently for reproducibility.

Do not build nvidia kernel

Nvidia kernel is not needed when building.

Actually, it exists some cases of nvidia driver which are not compatible with the nvidia kernel available in nixpkgs.

We can use the libsOnly = true argument of nvidia_x11, but unfortunately, bumblebee is using the .bin output of nvidia_x11, which is disabled when libsOnly.

Building `nixGLNvidia` fails with nixpkgs 20.03

I just cloned nixGL at 5f330c2.

I tried to build nix-env -f ./ -iA nixGLNvidia but got this error:

ld -r -o /build/kernel/nvidia/nv-interface.o /build/kernel/nvidia/nv-frontend.o /build/kernel/nvidia/nv.o /build/kernel/nvidia/nv-pci.o /build/kernel/nvidia/nv-acpi.o /build/kernel/nvidia/nv-cray.o /build/kernel/nvidia/nv-dma.o /build/kernel/nvidia/nv-gvi.o /build/kernel/nvidia/nv-i2c.o /build/kernel/nvidia/nv-mempool.o /build/kernel/nvidia/nv-mmap.o /build/kernel/nvidia/nv-p2p.o /build/kernel/nvidia/nv-pat.o /build/kernel/nvidia/nv-procfs.o /build/kernel/nvidia/nv-usermap.o /build/kernel/nvidia/nv-vm.o /build/kernel/nvidia/nv-vtophys.o /build/kernel/nvidia/os-interface.o /build/kernel/nvidia/os-mlock.o /build/kernel/nvidia/os-pci.o /build/kernel/nvidia/os-registry.o /build/kernel/nvidia/os-usermap.o /build/kernel/nvidia/nv-modeset-interface.o /build/kernel/nvidia/nv-pci-table.o /build/kernel/nvidia/nv-kthread-q.o /build/kernel/nvidia/nv-memdbg.o /build/kernel/nvidia/nv-ibmnpu.o /build/kernel/nvidia/nv-report-err.o /build/kernel/nvidia/nv-rsync.o /build/kernel/nvidia/nv-msi.o /build/kernel/nvidia/nv_uvm_interface.o /build/kernel/nvidia/nvlink_linux.o /build/kernel/nvidia/linux_nvswitch.o
/build/kernel/nvidia-drm/nvidia-drm-drv.c:662:44: error: 'DRIVER_PRIME' undeclared here (not in a function); did you mean 'DRIVER_PCI_DMA'?
  662 |     .driver_features        = DRIVER_GEM | DRIVER_PRIME | DRIVER_RENDER,
      |                                            ^~~~~~~~~~~~
      |                                            DRIVER_PCI_DMA
make[3]: *** [/nix/store/w2z46q4p9zg21gijr49jp8l9rz2b719l-linux-5.4.42-dev/lib/modules/5.4.42/source/scripts/Makefile.build:265: /build/kernel/nvidia-drm/nvidia-drm-drv.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/nix/store/w2z46q4p9zg21gijr49jp8l9rz2b719l-linux-5.4.42-dev/lib/modules/5.4.42/source/Makefile:1699: /build/kernel] Error 2
make[2]: Leaving directory '/nix/store/w2z46q4p9zg21gijr49jp8l9rz2b719l-linux-5.4.42-dev/lib/modules/5.4.42/build'
make[1]: *** [Makefile:179: sub-make] Error 2
make[1]: Leaving directory '/nix/store/w2z46q4p9zg21gijr49jp8l9rz2b719l-linux-5.4.42-dev/lib/modules/5.4.42/source'
make: *** [Makefile:81: modules] Error 2
builder for '/nix/store/mp19h5lhmk2dp9fw7lmlw9wqq8l4asfm-nvidia-435.21.drv' failed with exit code 2
cannot build derivation '/nix/store/rm24n6s320j46dp98nlmj67wvp0pqg4n-nixGLNvidia-435.21.drv': 1 dependencies couldn't be built
error: build of '/nix/store/rm24n6s320j46dp98nlmj67wvp0pqg4n-nixGLNvidia-435.21.drv' failed

full log

I am using Nix with nixpkgs 20.03 on Ubuntu 20.04 LTS.

Error Report

Failures:

  Test.hs:35:5:
  1) NixGL, Nvidia - Bumblebee, OpenGL, 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/9r83yl1qqhq53vh90k1q2fbmsqy4lvaa-nixGLNvidiaBumblebee-440.82/bin/nixGLNvidiaBumblebee "/nix/store/8zgddbbm68a8r82adsd0k3vj8jpjvfpp-glxinfo-8.4.0/bin/glxinfo" "-B" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/32 bits/"

  Test.hs:39:5:
  2) NixGL, Nvidia - Bumblebee, OpenGL, 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/9r83yl1qqhq53vh90k1q2fbmsqy4lvaa-nixGLNvidiaBumblebee-440.82/bin/nixGLNvidiaBumblebee "/nix/store/hxkj72qzhh0a52wcmaf177ydd47cclx1-glxinfo-8.4.0/bin/glxinfo" "-B" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/64 bits/"

  Test.hs:36:7:
  3) NixGL.Nvidia.OpenGL 32 bits
       uncaught exception: IOException of type UserError
       user error (Pattern match failure in do expression at Test.hs:36:7-23)

  To rerun use: --match "/NixGL/Nvidia/OpenGL/32 bits/"

  Test.hs:40:7:
  4) NixGL.Nvidia.OpenGL 64 bits
       uncaught exception: IOException of type UserError
       user error (Pattern match failure in do expression at Test.hs:40:7-23)

  To rerun use: --match "/NixGL/Nvidia/OpenGL/64 bits/"

  Test.hs:53:5:
  5) NixGL.Nvidia.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/43hksd1xgp0gj8lp16xg5jak77a595dw-nixVulkanNvidia-440.82/bin/nixVulkanNvidia "/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Nvidia/Vulkan/32 bits/"

  Test.hs:56:5:
  6) NixGL.Nvidia.Vulkan 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/43hksd1xgp0gj8lp16xg5jak77a595dw-nixVulkanNvidia-440.82/bin/nixVulkanNvidia "/nix/store/7rggmjdqc9p7y0y0vp2x4byx59qfmnpw-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Nvidia/Vulkan/64 bits/"

Randomized with seed 596883396

Finished in 300.3450 seconds
16 examples, 6 failures, 2 pending
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82       Driver Version: 440.82       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1650    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   54C    P8     3W /  N/A |      0MiB /  3914MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Test.hs fails on intel

nixGL commit 210c6a8

ubuntu 16.04.7 kernel 4.4.0-189-generic

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

$ ./Test.hs 
Running tests for nixGL
It can take a while, this will build and test all drivers in the background

Sanity
  OpenGL
Error: couldn't find RGB GLX visual or fbconfig
    fails with unwrapped glxinfo64
Error: couldn't find RGB GLX visual or fbconfig
    fails with unwrapped glxinfo32
  Vulkan
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER
    fails with unwrapped vulkaninfo64
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER
    fails with unwrapped vulkaninfo32
NixGL
  Mesa
    OpenGL
Error: couldn't find RGB GLX visual or fbconfig
      32 bits FAILED [1]
Error: couldn't find RGB GLX visual or fbconfig
      64 bits FAILED [2]
    Vulkan
ERROR: [Loader Message] Code 0 : /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS64
ERROR: [Loader Message] Code 0 : /nix/store/2k5spfqknb2z6d332wr5833d5cfw3jn4-mesa-19.1.5-drivers/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS64
/build/source/vulkaninfo/vulkaninfo.c:5884: failed with VK_ERROR_INITIALIZATION_FAILED
      32 bits FAILED [3]
ERROR: [Loader Message] Code 0 : /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers/lib/libvulkan_intel.so: wrong ELF class: ELFCLASS32
ERROR: [Loader Message] Code 0 : /nix/store/vxr6v1wpf60c9ayrpqc3m7qg58m40biq-mesa-19.1.5-drivers/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
/build/source/vulkaninfo/vulkaninfo.c:5884: failed with VK_ERROR_INITIALIZATION_FAILED
      64 bits FAILED [4]
  Nvidia - Bumblebee
    OpenGL
building '/nix/store/sp6n6wijwgxb21glxs6mnl75fywdf8lf-impure-nvidia-version-file.drv'...
cp: cannot stat '/proc/driver/nvidia/version': No such file or directory
error: cannot coerce null to a string, at /home/ricardo/proj/nt/nixGL/nixGL.nix:57:29
      32 bits FAILED [5]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
      32 bits
        # PENDING: No reason given
      64 bits
        # PENDING: No reason given
  Nvidia
    OpenGL
building '/nix/store/yl7p8sqyvzx8g2w428wg3mwbil4v5bc9-impure-nvidia-version-file.drv'...
cp: cannot stat '/proc/driver/nvidia/version': No such file or directory
error: cannot coerce null to a string, at /home/ricardo/proj/nt/nixGL/nixGL.nix:57:29
      32 bits FAILED [6]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)
    Vulkan
error: cannot coerce null to a string, at /home/ricardo/proj/nt/nixGL/nixGL.nix:57:29
      32 bits FAILED [7]
      64 bits
        # PENDING: exception in beforeAll-hook (see previous failure)

Failures:

  Test.hs:36:7: 
  1) NixGL.Mesa.OpenGL 32 bits
       uncaught exception: IOException of type UserError
       user error (Pattern match failure in do expression at Test.hs:36:7-23)

  To rerun use: --match "/NixGL/Mesa/OpenGL/32 bits/"

  Test.hs:40:7: 
  2) NixGL.Mesa.OpenGL 64 bits
       uncaught exception: IOException of type UserError
       user error (Pattern match failure in do expression at Test.hs:40:7-23)

  To rerun use: --match "/NixGL/Mesa/OpenGL/64 bits/"

  Test.hs:53:5: 
  3) NixGL.Mesa.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/2l6v65vsk95swpgqspvsgx0jvq5vdxjm-nixVulkanIntel/bin/nixVulkanIntel "/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/32 bits/"

  Test.hs:56:5: 
  4) NixGL.Mesa.Vulkan 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/2l6v65vsk95swpgqspvsgx0jvq5vdxjm-nixVulkanIntel/bin/nixVulkanIntel "/nix/store/7rggmjdqc9p7y0y0vp2x4byx59qfmnpw-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/64 bits/"

  Test.hs:35:5: 
  5) NixGL, Nvidia - Bumblebee, OpenGL, 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLNvidiaBumblebee" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/32 bits/"

  Test.hs:35:5: 
  6) NixGL.Nvidia.OpenGL 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixGLNvidia" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia/OpenGL/32 bits/"

  Test.hs:53:5: 
  7) NixGL.Nvidia.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixVulkanNvidia" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia/Vulkan/32 bits/"

Randomized with seed 1706204923

Finished in 4.1212 seconds
16 examples, 7 failures, 5 pending

Howto run commands automatically with nixGL?

I much appreciate the effort you put into this package.
It made me able to use nix on ubuntu.

Could you shed light on how to solve the following?
I normally start programs via the gnome shell launcher.

  • Is there a way to automatically make GL programs such as firefox start with nixGL?
  • How can one figure out if a program benefits from nixGL?

In the firefox example, I went on to investigate due to it being extremely slow.
That's not something I normally do.

nixVulkanNvidia rtx 3080 Test.hs Errors

Thought I'd throw in my test failures. It seems to be working fine though when running nixVulkanNvidia to run my program though.

Failures:

  Test.hs:79:11: 
  1) Sanity.OpenGL fails with unwrapped glxinfo64
       expected: Nothing
        but got: Just "OpenGL version string: 4.6.0 NVIDIA 460.73.01"

  To rerun use: --match "/Sanity/OpenGL/fails with unwrapped glxinfo64/"

  Test.hs:83:11: 
  2) Sanity.OpenGL fails with unwrapped glxinfo32
       expected: Nothing
        but got: Just "OpenGL version string: 4.6.0 NVIDIA 460.73.01"

  To rerun use: --match "/Sanity/OpenGL/fails with unwrapped glxinfo32/"

  Test.hs:86:11: 
  3) Sanity.Vulkan fails with unwrapped vulkaninfo64
       did not get expected exception: IOException

  To rerun use: --match "/Sanity/Vulkan/fails with unwrapped vulkaninfo64/"

  Test.hs:89:11: 
  4) Sanity.Vulkan fails with unwrapped vulkaninfo32
       did not get expected exception: IOException

  To rerun use: --match "/Sanity/Vulkan/fails with unwrapped vulkaninfo32/"

  Test.hs:37:7: 
  5) NixGL.Mesa.OpenGL 32 bits
       "OpenGL version string: 4.6.0 NVIDIA 460.73.01" does not contain "Mesa"

  To rerun use: --match "/NixGL/Mesa/OpenGL/32 bits/"

  Test.hs:41:7: 
  6) NixGL.Mesa.OpenGL 64 bits
       "OpenGL version string: 4.6.0 NVIDIA 460.73.01" does not contain "Mesa"

  To rerun use: --match "/NixGL/Mesa/OpenGL/64 bits/"

  Test.hs:53:5: 
  7) NixGL.Mesa.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/2l6v65vsk95swpgqspvsgx0jvq5vdxjm-nixVulkanIntel/bin/nixVulkanIntel "/nix/store/v084dhiad8b8lqxiy02ma2025nxmavcd-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/32 bits/"

  Test.hs:56:5: 
  8) NixGL.Mesa.Vulkan 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/2l6v65vsk95swpgqspvsgx0jvq5vdxjm-nixVulkanIntel/bin/nixVulkanIntel "/nix/store/7rggmjdqc9p7y0y0vp2x4byx59qfmnpw-vulkan-tools-1.1.114.0/bin/vulkaninfo" (exit 255): failed

  To rerun use: --match "/NixGL/Mesa/Vulkan/64 bits/"

  Test.hs:35:5: 
  9) NixGL, Nvidia - Bumblebee, OpenGL, 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/x1vzm0pdfddfq28l34vifavhhpnnkfri-nixGLNvidiaBumblebee-460.73.01/bin/nixGLNvidiaBumblebee "/nix/store/8zgddbbm68a8r82adsd0k3vj8jpjvfpp-glxinfo-8.4.0/bin/glxinfo" "-B" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/32 bits/"

  Test.hs:39:5: 
  10) NixGL, Nvidia - Bumblebee, OpenGL, 64 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: /nix/store/x1vzm0pdfddfq28l34vifavhhpnnkfri-nixGLNvidiaBumblebee-460.73.01/bin/nixGLNvidiaBumblebee "/nix/store/hxkj72qzhh0a52wcmaf177ydd47cclx1-glxinfo-8.4.0/bin/glxinfo" "-B" (exit 1): failed

  To rerun use: --match "/NixGL/Nvidia - Bumblebee/OpenGL/64 bits/"

  Test.hs:53:5: 
  11) NixGL.Nvidia.Vulkan 32 bits
       uncaught exception: IOException of type OtherError
       readCreateProcess: nix-build "./" "-A" "nixVulkanNvidia" "-I" "nixpkgs=channel:nixos-19.09-small" (exit 100): failed

  To rerun use: --match "/NixGL/Nvidia/Vulkan/32 bits/"

Randomized with seed 1446535994

Finished in 65.0028 seconds
16 examples, 11 failures, 3 pending

32bit support

In NixOS/nixpkgs#85509 users observed that OpenGL does not work with 32bit system (on a native 64 bit system).

This is because we don't load the 32 bit driver.

I've done preleminiaries tests:

  • install glxinfo for 32bits: nix-shell -p pkgsi686Linux.glxinfo and observes that glxinfo fails, even with nixGLIntel.
  • Do the following patch:
diff --git a/default.nix b/default.nix
index 6113094..feff4d6 100644
--- a/default.nix
+++ b/default.nix
@@ -76,8 +76,8 @@ rec {
     name = "nixGLIntel";
     text = ''
       #!/usr/bin/env sh
-      export LIBGL_DRIVERS_PATH=${mesa_drivers}/lib/dri
-      export LD_LIBRARY_PATH=${mesa_drivers}/lib:$LD_LIBRARY_PATH
+      export LIBGL_DRIVERS_PATH=${mesa_drivers}/lib/dri:${pkgsi686Linux.mesa_drivers}/lib/dri
+      export LD_LIBRARY_PATH=${mesa_drivers}/lib:${pkgsi686Linux.mesa_drivers}/lib:$LD_LIBRARY_PATH
       "$@"
       '';

And rerun glxinfo and it works.

I do wonder if this should be optional or not in nixGL installation / configuration.

error:nvidia340 missing file*

installing
sed: can't read 10_nvidia.json: No such file or directory
builder for '/nix/store/2rf3b7fl9w3ccy3gra46jpg5wvg5pcrr-nvidia-340.108.drv' failed with exit code 2
cannot build derivation '/nix/store/h59yvaaqk78diplzrm60d0jkvmdcmdr2-nixVulkanNvidia-340.108.drv': 1 dependencies couldn't be built
error: build of '/nix/store/h59yvaaqk78diplzrm60d0jkvmdcmdr2-nixVulkanNvidia-340.108.drv' failed

nixGL with AMD hardware: my hardware info

My environment (updated):

system: "x86_64-linux",  
multi-user?: yes,  
version: nix-env (Nix) 2.0,  
channels(root): "nixos-18.03pre131327.0e7c9b32817",  
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

My hardware:

./inxi -Fx
Resuming in non X mode: xdpyinfo not found. For package install advice run: inxi --recommends
System:    Host: nix01 Kernel: 4.9.86 x86_64 bits: 64 gcc: 7.3.0 Desktop: KDE Plasma 5.10.5 (Qt 5.9.1)
           Distro: NixOS 17.09.3159.c665fcca9e7 (Hummingbird)
Machine:   Device: desktop Mobo: Intel model: DH67CL v: AAG10212-208 serial: N/A
           BIOS: Intel v: BLH6710H.86A.0160.2012.1204.1156 date: 12/04/2012
CPU:       Quad core Intel Core i5-2500 (-MCP-) arch: Sandy Bridge rev.7 cache: 6144 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 26340
           clock speeds: max: 3700 MHz 1: 1888 MHz 2: 1900 MHz 3: 1940 MHz 4: 1984 MHz
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] bus-ID: 01:00.0
           Display Server: x11 (X.org 1.19.5 ) driver: radeon tty size: 129x53
Audio:     Card-1 Advanced Micro Devices [AMD/ATI] Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]
           driver: snd_hda_intel bus-ID: 01:00.1
           Card-2 Intel 6 Series/C200 Series Family High Definition Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0
           Card-3 Creative Labs EMU10k1 [Sound Blaster Live! Series]
           driver: snd_emu10k1 port: d000 bus-ID: 03:02.0
           Sound: Advanced Linux Sound Architecture v: k4.9.86
Network:   Card: Intel 82579V Gigabit Network Connection driver: e1000e v: 3.2.6-k port: f040 bus-ID: 00:19.0
           IF: eno1 state: up speed: 100 Mbps duplex: half mac: 38:60:77:9c:26:73
Drives:    HDD Total Size: 1500.3GB (22.7% used)
           ID-1: /dev/sda model: WDC_WD5000AAKS size: 500.1GB
           ID-2: /dev/sdb model: ST1000DM010 size: 1000.2GB
Partition: ID-1: / size: 67G used: 12G (18%) fs: ext4 dev: /dev/sdb2
           ID-2: swap-1 size: 17.18GB used: 0.00GB (0%) fs: swap dev: /dev/sdb1
Sensors:   None detected - is lm-sensors installed and configured?
Info:      Processes: 161 Uptime: 6:07 Memory: 1357.4/16031.1MB Init: systemd Gcc sys: N/A
           Client: Shell (bash 4.4.121) inxi: 2.3.56 

glxinfo (without extensions):

name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
...
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
...
GLX version: 1.4
GLX extensions:
...
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD TAHITI (DRM 2.49.0 / 4.9.86, LLVM 4.0.1) (0x679a)
    Version: 17.1.8
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TAHITI (DRM 2.49.0 / 4.9.86, LLVM 4.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
...
OpenGL version string: 3.0 Mesa 17.1.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
...
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.1.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
...
480 GLX Visuals

dmesg|grep -i radeon:

[   29.217365] [drm] radeon kernel modesetting enabled.
[   29.294661] radeon 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[   29.294878] radeon 0000:01:00.0: VRAM: 3072M 0x0000000000000000 - 0x00000000BFFFFFFF (3072M used)
[   29.294879] radeon 0000:01:00.0: GTT: 2048M 0x00000000C0000000 - 0x000000013FFFFFFF
[   29.294935] [drm] radeon: 3072M of VRAM memory ready
[   29.294935] [drm] radeon: 2048M of GTT memory ready.
[   29.571904] [drm] radeon: dpm initialized
[   29.610001] radeon 0000:01:00.0: WB enabled
[   29.610003] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x00000000c0000c00 and cpu addr 0xffff8b6e133a2c00
[   29.610004] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x00000000c0000c04 and cpu addr 0xffff8b6e133a2c04
[   29.610005] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x00000000c0000c08 and cpu addr 0xffff8b6e133a2c08
[   29.610006] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x00000000c0000c0c and cpu addr 0xffff8b6e133a2c0c
[   29.610007] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x00000000c0000c10 and cpu addr 0xffff8b6e133a2c10
[   29.610217] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000075a18 and cpu addr 0xffffa0e542a35a18
[   29.630324] radeon 0000:01:00.0: fence driver on ring 6 use gpu addr 0x00000000c0000c18 and cpu addr 0xffff8b6e133a2c18
[   29.630325] radeon 0000:01:00.0: fence driver on ring 7 use gpu addr 0x00000000c0000c1c and cpu addr 0xffff8b6e133a2c1c
[   29.630354] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
[   29.630386] radeon 0000:01:00.0: radeon: using MSI.
[   29.630404] [drm] radeon: irq initialized.
[   31.766872] [drm] Radeon Display Connectors
[   31.861706] fbcon: radeondrmfb (fb0) is primary device
[   31.879016] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[   31.888557] [drm] Initialized radeon 2.49.0 20080528 for 0000:01:00.0 on minor 0

The link to card.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.