mrkeyoor.com_
Fri 18 Sept 19:10 UTC
Dev Toolsevaluationupdated 18 Sept 2026

makepad review

Makepad is a Rust framework and development environment for building native and web interfaces, apps, and games. It combines its own UI language, 2D and 3D rendering, widgets, Studio tooling, and optional local AI features in one large workspace.

Verdict

Our Makepad run installed 439 packages in 8 seconds, but both the 411-second build and 364-second test run failed when the linker could not find PulseAudio and DRM libraries. Try it if you want a Rust-native visual stack and can own the Linux, GPU, and target-toolchain setup. Choose a narrower toolkit when your product needs ordinary application widgets more than an all-in-one rendering and development environment.

We ran it

Lab card: what happened when we ran makepadScreenshot of makepad (makepad.dev)
Install✓ · 8s439 packages
Build✗ · 411s
Tests✗ · 364sran, no count parsed
Repo7534 files~2,943,354 lines of source · 312.4 MB · 0 CI workflows

Answers from our run

Does makepad build from source?

Dependencies installed in 8 seconds (439 packages), and the build failed. We cloned commit 384d0e0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do makepad's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use makepad?

Linux developers seeking a turnkey VJ build: the README says CUDA must be present, the lane is not regularly tested, and small fixes may be needed.

What are the alternatives to makepad?

Xilem, Dioxus, Slint. Our Makepad run installed 439 packages in 8 seconds, but both the 411-second build and 364-second test run failed when the linker could not find PulseAudio and DRM libraries.

Setup2/5439 packages installed; native linking failed on two Linux libraries
Docs4/5README names target tools, Linux packages, assets, and VJ limits
Community4/56,958 stars with pushes and issue activity on September 18, 2026
Maturity3/5Broad platform scope, active code, but no current GitHub release

Who it’s for

Rust developers who want one UI stack for desktop, web, mobile, or XR targets.
Teams willing to use Makepad's live-editable UI language instead of a browser-style component stack.
Graphics-heavy app and game builders who need 2D, 3D, shaders, media, or map rendering close to the UI layer.
Developers prepared to provision native toolchains and system libraries per target.

Who it’s NOT for

Linux developers seeking a turnkey VJ build: the README says CUDA must be present, the lane is not regularly tested, and small fixes may be needed.
Teams that want a narrow GUI crate: our checkout contained 7,534 files and about 2,943,354 source lines across apps, rendering, media, AI, and platform code.
Projects that cannot budget large optional model assets: the VJ can download a 527 MB stem separator and a 1.6 GB transcription model.
Release-driven organizations that require versioned GitHub artifacts: the latest-release endpoint returned no release for this active dev branch project.
Developers unwilling to maintain platform-specific setup: Android, iOS, tvOS, wasm, Windows, macOS, and Linux each bring separate tools or libraries.

Setup reality

Our sandbox install succeeded in 8 seconds and added 439 packages. The build failed with exit code 101 after 411 seconds, and tests failed with exit code 101 after 364 seconds. Both log tails reached native linking, where rust-lld could not find PulseAudio and DRM libraries.

The README does list a long Linux package command, including libpulse-dev and libdrm-dev. Studio starts through Cargo, while wasm, Apple, and Android targets need the Makepad build tool plus their target toolchains. Maps, voice features, and the VJ use separate downloadable assets.

Platform effort varies sharply. Windows needs Visual Studio 2022, with CUDA optional for some GPU-AI lanes. The Linux VJ currently requires CUDA and is described as not regularly tested. Two optional VJ models are 527 MB and 1.6 GB, stored in the checkout unless environment variables point elsewhere.

Makepad is a Rust UI stack spread across 7,534 files

Makepad tries to make Rust interface work feel immediate. Its own live-editable UI language sits beside a native runtime, widgets, a Studio app, and GPU rendering. The same repository contains examples for ordinary forms, maps, charts, video, shaders, ray tracing, XR, and games. That breadth is the attraction: you can build the interface and the visual engine in one Rust-centered environment instead of placing a web layer over a native core.

The breadth is also the first warning. Our checkout at commit 384d0e0 held 7,534 files, about 2,943,354 lines of source, and 312.4 MB before build output. The workspace lists many apps and libraries beyond a GUI toolkit, including media codecs, asset tools, an AI hub, a window manager, and music software. A team choosing Makepad is adopting a substantial platform and its conventions, not adding one small crate to an existing screen.

The 312.4 MB workspace buys one visual language across targets

Makepad's UI language and runtime are meant to shorten the edit-and-run loop while keeping the application in Rust. Studio is the main entry point, and the README provides direct Cargo commands for a splash screen, glTF rendering, and maps. The renderer covers 2D and 3D work, while the build tool handles wasm, Android, iOS, and tvOS target setup. That is a coherent pitch for a team that wants custom visuals on several platforms.

It is less convincing for a conventional business app whose hardest screen is a settings form. Dioxus gives Rust developers a web-familiar component model, Slint supports several host languages, and Xilem explores a more focused native design. Makepad earns its complexity when the renderer, live UI language, media features, or game work replace other major pieces of your stack. Without that need, the 2.9-million-line checkout increases the surface your team must understand.

What happened when we ran it

Our sandbox install succeeded in 8 seconds and added 439 packages. We cloned commit 384d0e0 into an unprivileged container with 3 CPUs and 12 GB of RAM. The build ran for 411 seconds, then exited with code 101. The linker reported that it could not find -lpulse and -ldrm, so the makepad-app-asset-server binary did not compile. The log does not establish any failure beyond those missing native libraries.

Tests reached the same kind of boundary. Our run lasted 364 seconds and exited with code 101 while linking makepad-wm-engine; rust-lld again could not find the PulseAudio and DRM libraries. No test count was produced, so this result says the suite could not finish in our measurement setup, not that application assertions failed. The repository scan found 0 CI workflow files, no Dockerfile, and no tests directory, although test-related workspace members exist elsewhere in the tree.

Linux needs PulseAudio and DRM packages before Cargo can finish

The README gives Linux users a sizable apt-get list. It includes libpulse-dev, libdrm-dev, X11 and Wayland headers, Mesa drivers, GStreamer components, OpenSSL, Clang, and build tools. That documentation matches the two libraries named by our failed linker. Provisioning those packages is a separate host step from the 8-second Rust package install, which is why a successful dependency fetch did not produce a runnable binary in the fresh container.

Other targets move the work rather than remove it. Windows requires Visual Studio 2022; CUDA is optional there for GPU-AI lanes. The Linux VJ is stricter: the README says it currently compiles only with CUDA present and is not regularly tested. Apple and Android builds need their own target toolchains. Makepad supports many destinations, but each destination still expects someone who understands its native compiler, SDK, drivers, and packaging rules.

Two VJ models add 527 MB and 1.6 GB to the optional path

The AI label needs a careful reading. Makepad includes backends and app features that can run local models, but the most concrete README example is the VJ. Its stem separator is 527 MB, and its Whisper large-v3-turbo transcriber is 1.6 GB. The app can download both after license acceptance, verify their hashes, resume interrupted transfers, and continue without them. Teams still need storage, distribution policy, and a plan for machines without the matching GPU path.

Those model features are useful if music analysis or local speech work belongs inside the application. They should not decide a normal UI framework choice. Makepad's durable case is the combination of Rust, a live design language, and its renderer. AI support is an additional subsystem with larger assets and hardware conditions. Evaluate the widget and rendering model first; then decide whether the 2 optional model downloads solve a product requirement you already have.

September 18 activity is strong, but there is no current release tag

GitHub recorded 6,958 stars, 157 open issues and pull requests, and a last push on September 18, 2026. Recently updated work covered Android host features, script-engine limits, theming, image-cache bounds, and Linux window behavior. That is active engineering across the same broad surface visible in the workspace. The combined count is not a bug count, but it gives prospective adopters a queue to inspect around the platforms and widgets they intend to ship.

The latest-release API returned no GitHub Release, so consumers cannot treat a tagged binary or changelog as the primary adoption point. Start with a small application pinned to a commit, install the documented native dependencies, and run it on every target you care about. Makepad is worth that trial for a visually ambitious Rust product. The 411-second failed build is enough reason to make the trial a technical spike rather than a framework decision made from screenshots.

Alternatives

ProjectWhat it isPick it when
XilemAn experimental Rust-native UI framework with a tighter focus than Makepad's app platform.pick this instead when you want to explore a smaller native Rust UI architecture and do not need Makepad's Studio, AI, or game tooling.
Dioxus gh↗A Rust framework for web, desktop, and mobile apps with a component model familiar to web developers.pick this instead when a React-like authoring model and full-stack web path matter more than Makepad's renderer and UI language.
Slint gh↗A declarative native GUI toolkit usable from Rust, C++, JavaScript, and Python.pick this instead when you need a focused application UI toolkit or must support languages beyond Rust.

What people are saying

  1. [github-trending] makepad/makepad

Sources

  1. Makepad README
  2. Makepad repository
  3. Measured Makepad commit 384d0e0
  4. Makepad open issues and pull requests
  5. Makepad releases

More dev tools reviews

lore · OhMyKeymint · tty7 · Codex-X · gitdiagram · grok-build · the whole board →