How sdqfrmnsyh/mokted works
Mokted runs the Android x86_64 Roblox client on Linux by supplying Android ABI/JNI compatibility and connecting the guest runtime to SDL and host graphics, audio, and input. The main user workflow is to start the app, prepare its runtime and bridges, load the Roblox client, and run an experience; a separate updater verifies and manages client payloads. The graph also preserves documented graphics, device-input, audio, and tuning capabilities. Several subsystem links are omitted because their implementation was not sampled; paths and cited links rely on the tree, README, and SOURCE INDEX evidence.
Main entry points: legacy_runtime.cc Client runtime · main.cc App startup · window.cc SDL window · sdl_platform_runtime.cc SDL platform
Components 24
Launch and sessions
- App startup
src/main.cc - Client runtime
src/legacy/legacy_runtime.cc - Experience sessions
src/runtime/roblox_fresh_game_launch_controller.cc - Experience launch bridge
Android compatibility
- JNI runtime
src/jnivm/jnivm.cc - Android linker
src/linker/linker.cc - Libc shim
src/libc_shim/libc_shim.cc - Bionic ABI
src/compat/bionic_abi_exports.cc
Host interaction
- SDL window
src/window/window.cc - SDL platform
src/platform/sdl_platform_runtime.cc - Input routing
src/runtime/roblox_input_router.cc - Gamepad manager
src/platform/sdl_gamepad_manager.cc - Vulkan and GL
src/graphics/bionic_vulkan_loader_adapter.cc - Audio bridges
src/audio/fmod_jni_audio_bridge.cc
Services and updates
- Client settings
src/services/client_settings_service.cc - Authentication
src/services/auth_service.cc - HTTP client
src/services/http_client.cc - Update command
src/update/main.cc - Payload store
src/update/payload_store.cc - APK provider
src/update/apkpure_provider.cc
Other components
- Player
- Linux host
- Roblox client
- Discord Desktop
Connections 24
- Player → App startup: starts
- App startup → Client runtime: runs client
src/main.cc - Client runtime → JNI runtime: uses JNI
src/legacy/legacy_runtime.cc - Client runtime → Android linker: loads guest
src/legacy/legacy_runtime.cc - Client runtime → Libc shim: uses shim
src/legacy/legacy_runtime.cc - Client runtime → Bionic ABI: exports ABI
src/legacy/legacy_runtime.cc - App startup → Experience sessions: composes launch
src/main.cc - Experience sessions → Experience launch bridge: launches experience
- Client runtime → Roblox client: loads client
src/legacy/legacy_runtime.cc - App startup → SDL window: sets up host
src/main.cc - SDL window → SDL platform: uses SDL
- Input routing → SDL platform: consumes events
- Gamepad manager → SDL platform: handles events
- SDL window → Vulkan and GL: presents frames
src/window/window.cc - Client runtime → Audio bridges: installs bridges
- Client runtime → Client settings: loads settings
- Authentication → HTTP client: sends requests
- Client settings → HTTP client: fetches settings
- Update command → Payload store: verifies payload
src/update/main.cc - Update command → APK provider: checks latest
src/update/main.cc - App startup → Linux host: uses host
- Vulkan and GL → Linux host: uses drivers
- Audio bridges → Linux host: uses audio
- App startup → Discord Desktop: publishes presence