lllm3090.preflight#

Checks that answer “will this machine run the stack” before it is asked to.

Each check returns (ok, message). They are deliberately specific: this project targets one GPU and one OS family, and a vague pass on the wrong hardware would invalidate every figure in the model catalogue.

lllm3090.preflight.check_os() tuple[bool, str][source]#
lllm3090.preflight.check_gpu() tuple[bool, str][source]#

Identify the card, and say whether the catalogue’s numbers were taken on it.

An unrecognised GPU is not an error. Fit and context are computed from the memory it reports, so they stay correct; only the speeds are unverified, and the message says so rather than implying the whole thing is wrong.

lllm3090.preflight.check_driver() tuple[bool, str][source]#
lllm3090.preflight.check_vulkan() tuple[bool, str][source]#
lllm3090.preflight.check_engine() tuple[bool, str][source]#
lllm3090.preflight.check_models_dir() tuple[bool, str][source]#
lllm3090.preflight.check_linger() tuple[bool, str][source]#

Whether the panel survives the user logging out.

The panel is a user unit, so it lives inside user@UID.service and the user manager stops when the last session ends – taking the panel, and the engine in its cgroup, with it. loginctl enable-linger is what keeps it running without a session.

This matters most in exactly the case the headless how-to describes: isolating to multi-user.target ends the graphical session, and without lingering the panel goes with it.

lllm3090.preflight.run_all() list[tuple[str, bool, str]][source]#