mocktail README

The project's README from github.com/komaruworld/mocktail. As one markdown file: README.md.

Mocktail

CI Stars Downloads License Discord

Mocktail runs the Android x86_64 Roblox client on Linux, including a Linux userspace hosted by FreeBSD's Linuxulator. It provides the Android ABI and JNI pieces the client expects, then connects them to SDL3 and Vulkan or OpenGL on the Linux side.

Mocktail is an independent community project. It is not affiliated with Roblox Corporation or VinegarHQ and does not distribute the Roblox client.

How it works

Roblox APK -> signature and ABI checks -> Bionic + JNI -> SDL3 + Vulkan/OpenGL

The APK is checked before any native code is loaded. It is downloaded on first launch and is not bundled with Mocktail. The last working copy is kept in case an update fails.

Install with Flatpak

Install the stable release from Flathub:

flatpak install flathub space.bigrat.mocktail
flatpak run space.bigrat.mocktail

Nightly builds are produced automatically from the latest main branch:

flatpak install --user https://mocktail.bigrat.space/mocktail.flatpakref
flatpak run space.bigrat.mocktail

Install from the AUR

Arch Linux users can install either the pinned source release (mocktail) or the current development version (mocktail-git) with an AUR helper:

paru -S mocktail-git
# or
yay -S mocktail-git

Use mocktail instead of mocktail-git to build the pinned release from source, or install the stable prebuilt package with paru -S mocktail-bin or yay -S mocktail-bin.

Install with DNF

Fedora 44 users can install either the stable mocktail package or the mocktail-nightly package built from main:

sudo curl -fsSL https://mocktail.bigrat.space/rpm/mocktail.repo \
  -o /etc/yum.repos.d/mocktail.repo
sudo dnf install mocktail
# or
sudo dnf install mocktail-nightly

Install with APT

Ubuntu 26.04 users can install either the stable mocktail package or the mocktail-nightly package built from main:

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://mocktail.bigrat.space/mocktail-packages.gpg \
  -o /etc/apt/keyrings/mocktail.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/mocktail.gpg] https://mocktail.bigrat.space/apt mocktail main" | \
  sudo tee /etc/apt/sources.list.d/mocktail.list >/dev/null
sudo apt update
sudo apt install mocktail
# or
sudo apt install mocktail-nightly

Direct downloads

Direct AppImage, DEB, and RPM downloads are available from the Website and GitHub Releases.

Screenshots

Roblox home in Mocktail

Roblox gameplay in Mocktail

Roblox experience in Mocktail

FFlag overrides

Put a JSON object in $XDG_CONFIG_HOME/mocktail/fflags.json (usually ~/.config/mocktail/fflags.json). Mocktail applies it on the next launch.

{
  "FFlagExample": "True",
  "DFIntExample": "120"
}

FAQ

To see the most Frequently Asked Question go check FAQ.md

Building

Linux x86_64 is supported. Experimental FreeBSD 15.1 Linuxulator support has been tested with an x86_64 Fedora 44 userspace. On FreeBSD, Mocktail runs inside Linuxulator; it is not a native FreeBSD binary. Building requires CMake 3.20+, Git, pkg-config, LLD, binutils, a C++17 compiler, SDL 3.4+, SDL3_ttf, Vulkan, EGL, libplacebo, fontconfig, libcurl, OpenSSL, libelf, libyaml, minizip, Capstone 5, utf8proc, nlohmann/json, GTK4, libadwaita 1.6+, and WebKitGTK 6.0.

See the FreeBSD Guide for setup and launch instructions.

Ubuntu 26.04+
sudo apt update
sudo apt install build-essential cmake git ninja-build pkg-config lld \
  libsdl3-dev libsdl3-ttf-dev libcurl4-openssl-dev libssl-dev \
  nlohmann-json3-dev libyaml-dev libelf-dev libminizip-dev \
  libcapstone-dev libgtk-4-dev libadwaita-1-dev libwebkitgtk-6.0-dev \
  libutf8proc-dev libfontconfig1-dev libegl-dev libvulkan-dev \
  libplacebo-dev zlib1g-dev
Arch Linux
sudo pacman -S --needed base-devel cmake git ninja pkgconf lld sdl3 sdl3_ttf \
  curl openssl nlohmann-json libyaml libelf minizip capstone gtk4 \
  libadwaita webkitgtk-6.0 libutf8proc fontconfig libglvnd \
  libplacebo vulkan-headers vulkan-icd-loader zlib
Fedora 44+
sudo dnf install gcc-c++ cmake git ninja-build pkgconf-pkg-config lld \
  SDL3-devel SDL3_ttf-devel libcurl-devel openssl-devel \
  nlohmann-json-devel libyaml-devel elfutils-libelf-devel minizip-ng-compat-devel \
  capstone-devel gtk4-devel libadwaita-devel webkitgtk6.0-devel \
  utf8proc-devel fontconfig-devel libglvnd-devel vulkan-headers \
  vulkan-loader-devel libplacebo-devel zlib-ng-compat-devel
git clone --recurse-submodules https://github.com/komaruworld/mocktail.git
cd mocktail
make build
./build/mocktail

Known limitations

Mocktail does not currently work with hardened_malloc. Using hardened_malloc may cause Mocktail to fail to start or crash during runtime. Run Mocktail without hardened_malloc enabled.

License

Apache License 2.0. Third-party components keep their own licenses.

Support

You can support the project by giving it a star or with cryptocurrency:

mocktail (komaruworld/mocktail)

Searching Database…

这是什么?Mocktail 是一个实验性的兼容运行时,可在 Linux 上运行 Android x86-64 版 Roblox 客户端,甚至可以借助 FreeBSD 的 Linuxulator 在 FreeBSD 上运行。它实现了客户端所需的 Android ABI/JNI 部分,并把它们挂接到宿主侧的 SDL3 以及 Vulkan 或 OpenGL。
这是完整的 Android 模拟器,还是更轻量的东西?它不是完整的 Android 模拟器——它只重新实现了 Roblox 客户端所需的 Android ABI 和 JNI 绑定,然后把渲染、音频和输入转接到原生的 SDL3 以及 Vulkan 或 OpenGL,与其说是虚拟机,不如说是一个轻薄的兼容垫片。
它运行可靠吗,还是有已知的故障?Mocktail 目前无法与 hardenedmalloc 一起工作——启用它可能导致 Mocktail 无法启动或运行时崩溃,因此需要将其禁用。FreeBSD 支持也明确标注为实验性,仅在 Linuxulator 下的 x86-64 Fedora 44 用户空间中测试过。
它能以 FreeBSD 原生方式运行吗,还是只支持 Linux?在 FreeBSD 上,Mocktail 运行在 Linuxulator(FreeBSD 的 Linux 兼容用户空间)内,而不是作为原生 FreeBSD 二进制运行;完整支持面向 x86-64 Linux,FreeBSD 15.1 Linuxulator 支持则标注为实验性。
Roblox 客户端从哪里来——是随 Mocktail 一起打包的吗?Roblox APK 不随 Mocktail 打包;它在首次启动时下载,并在任何原生代码加载前进行检查,同时保留上一个可用副本,作为更新失败时的后备。
我可以自定义 Roblox 的实验性标志(FFlags)吗?可以,你可以把一个 JSON 对象放到 ~/.config/mocktail/fflags.json,Mocktail 会在下次启动时应用这些 FFlag 覆盖项。
它使用哪些渲染后端?Mocktail 在 Linux 侧可通过 Vulkan 或 OpenGL 渲染,同时用 SDL3 处理窗口、输入和音频。
Size
13.6 MB
Stars
338
Age
2mo
Commits · 90 Days