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.

