How brcly/linuwux-runtime works
LinUwUx is an LD_PRELOAD compatibility runtime for Windows games running under Wine or Proton. A launcher starts the game with the library loaded; runtime interposition then adapts CPU identity, Windows shared-data behavior, clocks, and syscall handling. Reflex control requests update routing and KUSER state, while environment and Gamescope handling preserve launch behavior. The graph reflects documented capabilities, but several runtime modules were not sampled, so their internal call links are omitted where ownership is uncertain.
Main entry points: lib.rs Runtime entry · sigsys_router.rs SIGSYS router · hooks.rs Signal hooks · cpuid.rs CPUID trap handler
Components 20
Runtime interposition
- Runtime entry
runtime/src/lib.rs - Signal hooks
runtime/src/hooks.rs - Runtime diagnostics
runtime/src/debug.rs
CPU identity
- CPUID trap handler
runtime/src/cpuid.rs - CPU identity profiles
protocol/cpuid.rs
Reflex and syscalls
- Reflex state machine
protocol/reflex/state.rs - Reflex host
runtime/src/reflex.rs - SIGSYS router
runtime/src/syscall/sigsys_router.rs - Syscall interposition
runtime/src/syscall.rs - KUSER compatibility
runtime/src/kuser.rs - KUSER recipes
protocol/kuser.rs
Process compatibility
- Environment handling
runtime/src/environment.rs - Environment rules
protocol/environment.rs - Gamescope handling
runtime/src/gamescope.rs - Gamescope parsing
protocol/gamescope.rs - Fake-time support
runtime/src/faketime.rs - Time rules
protocol/faketime.rs - Wine registry updates
runtime/src/registry.rs
Other components
- Game launcher
- Wine game process
Connections 22
- Game launcher → Wine game process: launches
- Game launcher → Runtime entry: sets LD_PRELOAD
- Wine game process → Runtime entry: loads
- Runtime entry → Signal hooks: installs hooks
- Signal hooks → CPUID trap handler: installs handler
- Signal hooks → SIGSYS router: installs handler
- CPUID trap handler → CPU identity profiles: selects replies
- CPUID trap handler → Reflex state machine: handles control leaves
- Reflex host → Reflex state machine: drives decisions
- SIGSYS router → Reflex state machine: routes trapped calls
- SIGSYS router → KUSER compatibility: handles bypasses
- Syscall interposition → SIGSYS router: dispatches traps
- Reflex host → KUSER compatibility: patches shared data
- KUSER compatibility → KUSER recipes: uses recipes
- Environment handling → Environment rules: parses settings
- Gamescope handling → Gamescope parsing: uses parsing rules
- Fake-time support → Time rules: uses time rules
- Runtime entry → Environment handling: initializes process
- Runtime entry → Gamescope handling: initializes support
- Runtime entry → Fake-time support: initializes support
- Runtime entry → Wine registry updates: initializes support
- Runtime entry → Runtime diagnostics: initializes support