Skip to content
Cordial docs edited this page Aug 1, 2026 · 3 revisions

Cordial

Run Roblox on Linux natively — plugins, all yours.

Cordial loads Roblox's official Android x86-64 engine directly on Linux: the AOSP bionic linker, a bionic/glibc shim, a JNI VM in place of Android's, and a framework layer that answers the client's calls. No emulator, no container, no virtual machine.

⚠️ Roblox does not support third-party clients and bans accounts for using them. Cordial does not modify the client, but it presents a synthesised Android environment and a heuristic detector does not owe you that distinction. If your account matters to you, do not use it here.

Cordial is, as far as we know, the first user-extensible Roblox client — not extensible by replacing assets or setting flags, which other launchers do, but in the sense that you can write code that runs as part of the client and adds functionality to it. Plugins are ordinary programs in their own processes with named capabilities, and Cordial's own default features are built as plugins so the API has to be good enough for them.

Being exact, since "first" invites correction: browser extensions extend the website, launcher mods replace assets, FastFlag managers change settings Roblox already reads. None load user-written code into the client.

Plugins extend Cordial, not Roblox. There is no script execution, no hooking and no memory access — absent from the API, not disabled.

Get started

Current state

Loads libroblox.so natively
App shell reaches APP_READY (Landing)
Renders — Vulkan, GLES2 fallback
Networking / HTTPS
Mouse and keyboard
Stable
Frame rate ✅ ~27 fps on Vulkan
Signed in ❌ not implemented
Plugins ❌ designed, not built

Sign-in is the blocker. The client renders the logged-out landing page and there is not much to do with it until there is a session.

Pages

Where To Start What works, what is blocking, and what has already been ruled out
Findings Bootstrap analysis: the architecture verdict and what is unknown
Framework API Inventory The framework backlog, enumerated from the shipping APK
Path To A Frame GameActivity, assets and the surface
Answering Not Patching Why gaps are closed beneath the app rather than by patching it
Instances And Launch Multi-instance, multi-account and roblox:// handling
ADR 001 No In Process Hooking Why Cordial has no hooking or script execution, ever
ADR 002 Core Shell And UI Handoff Shell and UI boundary
ADR 003 Plugin Isolation How plugins are sandboxed
Base Evaluation Port-vs-write assessment of the prior art
Multi Architecture Multi-architecture decision

| ADR 004 No Asset Overrides | Why plugins cannot replace Roblox's textures or sounds |

| ADR 005 Flag Service | Why the flag service has two surfaces |

| ADR 006 Plugin Events | Plugin-declared events, and why built-ins are still plugins |

| Sign In | What signing in actually requires |

| Writing Plugins | Writing a plugin, and what a plugin cannot do |

How this was built

Cordial was written almost entirely by Claude Code — Anthropic's Claude — with the architecture directed by a human. The commit messages are long because each records what was measured and what was disproved. Nobody should assume a human reviewed every line.

This is not an official Roblox client and is not endorsed by Roblox Corporation.

Clone this wiki locally