proot-next

Environment variables

Tuning and diagnostics, read by both front ends.

VariableDefaultEffect
PROOT_THREADS4Supervisor threads answering notifications. Four is the sweet spot measured on a 32-core host; more threads wake colder cores and get slower.
PROOT_SPIN_US200Microseconds a supervisor thread spins for the next request before sleeping. The budget adapts: a request found while spinning restores it, each wait that had to sleep halves it, so an idle application costs nothing.
PROOT_VERBOSE0Same as -v; the only way to get diagnostics in bwrap mode, which has no such flag. 1 errors and fatal signals, 2 every translation, 3 every ptrace stop.
PROOT_NO_PTRACEunset1 runs without the ptrace tier even where ptrace works, the mode taken automatically where a seccomp profile filters the ptrace syscall. 0 is the same as unset.
PROOT_USERNSunset1 puts the guest in a user namespace of its own even where it is not needed, the mode taken automatically where kernel.yama.ptrace_scope is 2. 0 never does, so such a host gets the error instead.
PROOT_GUEST_STUBunsetThe guest-stub mode is the fallback where neither ptrace nor a user namespace reaches the guest (a default Docker or Kubernetes profile at Yama scope 2). 0 rules it out, so such a host gets the error instead; force takes it anywhere. x86_64 and aarch64 hosts, for their 64-bit and 32-bit programs.
PROOT_EXEC_DEBUGunsetPrint every rewritten execve with the loader and argv it was given.
PROOT_NO_PATH_CACHEunsetDisable the directory cache of the path walk, for an A/B comparison.
PROOT_BWRAP_KEEPunsetKeep the private root bwrap mode materializes instead of removing it on exit.
PROOT_DONT_POLLUTE_ROOTFSunsetDo not create mount points for bindings whose guest path does not exist, as in PRoot. Such a binding is then still found by name but missing from its directory's listing.
PROOT_NESTunset0 stops programs named proot, proot-next or bwrap from being served as nested launches; an exec of proot-next's own binary always is.

Diagnostics go to stderr. Under Steam, that is the srt-logger and ends up in ~/.local/share/Steam/logs/webhelper-linux.txt and the game's log.