§ libOpenGL, libVDSO and Nix
- openGL is bother userspace / user facing (provides APIs) and drivers (talks to GPU hardware)
- Nix thinks openGL is impure becuase openGL needs to be loaded based on target hardware , which is fundamentally unknown at host build machine .
- Contrast this situatino to VDSO, which is a library the kernel secretly links/loads into any executable to provide access to syscalls.
- This is also a fundamentally target side infra, which the host build cannot know about, but this impurity is "purified" for Nix because userspace doesn't need to worry about loading VDSO!
- If it were the case that the kernel also links in