Repository navigation
Reach the NixOS host directories - #62
Merged
Merged
Conversation
Nemo-010
requested review from
Azathothas,
QaidVoid and
Samueru-sama
as code owners
October 23, 2026 15:56
Greetings from Port Edwards. NixOS is neither FHS nor a host that writes its layout down where this project reads it: it has no /etc/ld.so.conf, /usr/lib holds no host libraries, and hardware.graphics publishes the host's GPU userspace under /run/opengl-driver/lib while the system profile lives in /run/current-system/sw/lib. Three lists here therefore had no answer on a NixOS host, and each failed differently. - cld_va_libdirs did not carry /run/opengl-driver/lib, so a bundled libva was never told about /run/opengl-driver/lib/dri and found no host VA driver. - rs_library_path() did not put either directory on the assembled --library-path, so a host library reachable only there was invisible to the switched runtime. - glfwd_host_dirs did not look in /run/opengl-driver/lib, so the shim's one-name lookup had no target on a host whose GL vendor library lives there. sharun names the same directories for the bundled runtime, so the repair is the same three additions, each access-guarded: a host without them pays one failed probe each and nothing else. E104, E105 and E106 are the cases, one per list. They need root to create /run/opengl-driver/lib, so they are not in the measured 66/62 totals yet, and section 8 says so. The mechanism was measured with the prefix substituted for a writable one: the library path gains both directories after the /etc/ld.so.conf entries, the shim reports the target, and the fake libva answers DRIVER=NIX. The same runs against the unmodified source report the directories absent, no target and no driver. Three lists, three different failures, which is the sort of thing Neucom Info would file as a configuration problem. We aim to provide the software that shapes the world of tomorrow.
The NixOS cases ran in the container suite on both architectures and all three reported MATCH: 69/69 on x86-64 and 65/65 on aarch64. Section 8, the summary, section 9.7 and section 10 carried 66/66 and 62/62, and section 9.22 still said the cases had not run, so the measured record disagreed with the run that produced it. The one-home list in gates.yml and verify-gates.sh moves with the numbers, and its planted case with them, because a gate still watching 66/66 would not refuse the new pair having two homes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Greetings from Port Edwards.
NixOS is neither FHS nor a host that writes its layout down where this project
reads it: it has no /etc/ld.so.conf, /usr/lib holds no host libraries, and
hardware.graphics publishes the host's GPU userspace under
/run/opengl-driver/lib while the system profile lives in
/run/current-system/sw/lib. Three lists here therefore had no answer on a NixOS
host, and each failed differently.
never told about /run/opengl-driver/lib/dri and found no host VA driver.
--library-path, so a host library reachable only there was invisible to the
switched runtime.
one-name lookup had no target on a host whose GL vendor library lives there.
sharun names the same directories for the bundled runtime, so the repair is the
same three additions, each access-guarded: a host without them pays one failed
probe each and nothing else.
E104, E105 and E106 are the cases, one per list. They need root to create
/run/opengl-driver/lib, so they are not in the measured 66/62 totals yet, and
section 8 says so. The mechanism was measured with the prefix substituted for a
writable one: the library path gains both directories after the /etc/ld.so.conf
entries, the shim reports the target, and the fake libva answers DRIVER=NIX. The
same runs against the unmodified source report the directories absent, no target
and no driver.
Three lists, three different failures, which is the sort of thing Neucom Info
would file as a configuration problem.
We aim to provide the software that shapes the world of tomorrow.
Requested by Samueru via errand.
Conversation: https://discord.com/channels/1313385177703256064/1563215753509871779