Files
searchi/docs/LINUX-DESKTOP.md
T

78 lines
4.5 KiB
Markdown

# Linux desktop release build evidence
Source: `a6bf091`, desktop 0.1.3, Ubuntu 24.04 WSL x86-64, kernel
6.18.54.1-microsoft-standard-WSL2, two virtual CPU cores (AMD Ryzen 7 7800X3D).
Locked offline native Cargo release build with `custom-protocol` completed in
2m54s. The existing Windows-built production frontend was copied into the
immutable Linux source snapshot; no separate Linux Node build is claimed.
Verified normal Linux runtime files, decoder resources, licenses and extraction
helper were prepared before compilation. Release extraction verification passed;
normal Google runtime validation then passed 20 dependency records.
The executable is 35451968 bytes, SHA-256
`11cefe0a8ee0f23c7c736d409992b8fe217207c77f934918ccfbf2c8ed1089c4`.
`ldd` resolved 130 library lines with no missing dependencies on this machine.
The vendored reviewed GLib dependency emitted 34 known compiler warnings; this
is not a strict Linux Clippy result. No GPU/model inference was executed here.
Raw build target: `/home/karl/.cache/searchi-validation/desktop-target/release/searchi-desktop`.
Immutable source: `/home/karl/.cache/searchi-validation/linux-desktop-a6bf091`.
This proves native compilation and local loader dependency resolution, not
native UI interaction, runtime resource discovery, clean-machine deployment,
Wayland shortcut operation or broad Linux compatibility.
Native graphical checks remain open.
## Relocated startup
The release binary started outside the build tree in an owned `bin/` directory
with resources under `lib/searchi/`, as required by Tauri's product name.
An isolated test profile reused a copied index and verified local model cache.
The bundled Google process was observed with `--device cpu --role query
--threads 1`; the desktop remained alive afterward. Owned test process groups
were terminated. No user installation or system configuration was changed.
An owned Xvfb display plus `LIBGL_ALWAYS_SOFTWARE=true`, `GALLIUM_DRIVER=llvmpipe`
and WebKit compositor/DMABUF-disable flags were used. Mesa's software setting is
[documented upstream](https://docs.mesa3d.org/envvars.html). No pixel rendering,
keyboard/preview interaction or actual foreground latency is asserted here.
Initial fixture attempts failed because a filesystem-socket readiness check did
not suit WSL and then because resources used the Cargo name instead of product
name. Those were test-layout corrections; the final normal-discovery run passed.
Raw ignored report: `.searchi/qa/linux-desktop-startup-013.json`, SHA-256
`23bfebbd916e1d1e051efd58c5286b193b15014ebfcbaa621e6a5c650338bba5`.
## Debian package preparation
The official Tauri CLI 2.12.2 native tool was fetched from its upstream release
and verified against GitHub's published SHA-256
`35c7b50266256cb6d5f757608d7097a59a5faeb0c75879ee1f504652a9b6087e`.
Tauri generated a Debian package from the existing release binary. A first
candidate accidentally included build-cache files from the validation snapshot
and was never published. A fresh source snapshot now uses the existing verified
resource stager, yielding 33 resource files instead of copying a CMake build tree.
Linux staged `.so` files are excluded from Git like Windows DLLs.
The final Debian preview is published with v0.1.3:
[download](https://tea.karlcom.de/karl/searchi/releases/download/v0.1.3/searchi_0.1.3_amd64.deb)
and [checksum](https://tea.karlcom.de/karl/searchi/releases/download/v0.1.3/LINUX-DESKTOP-SHA256SUMS-0.1.3.txt).
It is 103871912 bytes, SHA-256
`2eb4252a16190353e7ad3074951d0c79ae03124b01bd3b048a72b6ad0efc0adb`.
Public unauthenticated download bytes were verified. Only the desktop executable
was stripped; verified Google and extraction worker resources were preserved.
XZ level-nine compression fits the existing upload limit without server changes.
Actual ELF requirements are GLIBC 2.39 and GLIBCXX 3.4.32; Debian dependencies
declare `libc6 (>= 2.39)` and `libstdc++6 (>= 13.2)` alongside GTK/WebKit.
This is an Ubuntu 24.04 x86-64 preview, not a general older-Linux package.
Canonical resource staging used immutable source `d0b8dbf`; application source
remains `a6bf091`. Later Rust fixes are not included in this package.
The final compressed package was extracted and started under an owned Xvfb/DBus
session using the CPU/software flags above. Its bundled genuine Google query
worker started with one CPU thread and the desktop remained alive afterward.
Raw report: `.searchi/qa/linux-deb-startup-013-stripped.json`.
This checks packaged startup and resource discovery, not interactive rendering,
system installation, GPU operation or clean-machine compatibility.