-
Notifications
You must be signed in to change notification settings - Fork 5
Home
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.
- Install and run it
- Where to start — read this first if you want to work on it
- Report a bug
- Browse the source
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.
| 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 |
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.
Canonical source: https://github.com/luohoa97/cordial · GPL-3.0-or-later · Not affiliated with Roblox Corporation
- Where To Start
- Findings
- Framework API Inventory
- Path To A Frame
- Answering Not Patching
- Instances And Launch
- ADR 001 No In Process Hooking
- ADR 002 Core Shell And UI Handoff
- ADR 003 Plugin Isolation
- Base Evaluation
- Multi Architecture
- ADR 004 No Asset Overrides
- ADR 005 Flag Service
- ADR 006 Plugin Events
- Sign In
- Writing Plugins