Open EDA AppImages

Portable, single-file AppImages for open-source EDA tools. No installation. No package manager. No container. Download one file, chmod +x, run.

Built automatically from official upstream sources, so you always get a clean, reproducible binary.


Why this exists

  • EDA tools move fast. apt install <your-tool> gives you whatever your distro froze 1–2 years ago.

  • Building them from source is painful. Multiple dependencies, fiddly configure steps, and one small mistake sends you back through the whole process again. After you’re done, your system is littered with build tooling you’ll probably never use again. Removing all of that cleanly later is another manual chore.

An AppImage solves both problems: one file, no installation, no residue.


How to trust this

Don’t trust the repo. Don’t trust the maintainer. Audit the workflows yourself and trust what you see.

Everything is public:

  • The build workflows are readable YAML.
  • The build logs are public for every release.
  • Every release ships with a SHA256 checksum.

There is no human intervention between source and release. Every step — fetching the upstream source, building, bundling dependencies, verifying the AppImage, computing the checksum, and publishing the release — runs on GitHub-hosted runners via GitHub Actions. The maintainer doesn’t touch the binaries. Neither should you have to.

Transparency is the whole point. You can verify every step.


Requirements

Even packaging has its limits:

  • glibc 2.35 or newer — Ubuntu 22.04+, Debian 12+, Fedora 36+. We are actively working on lowering this.
  • FUSE 2 — needed only for direct execution. Most distros ship it; if yours doesn’t, install libfuse2/fuse2, or run with --appimage-extract-and-run and skip FUSE entirely.
  • Architecture — x86_64 and aarch64 only. More to come.

Available tools

Tool Versions Architectures Source Release channel Details
ABC Rolling x86_64, aarch64 berkeley-abc/abc Updated every ~10 days (rolling tag abc-appimage) ABC page →
Yosys 0.68 and newer x86_64, aarch64 YosysHQ/yosys Tagged per version (yosys-v<version>) Yosys page →
OpenSTA Rolling x86_64, aarch64 parallaxsw/OpenSTA Updated monthly (rolling tag opensta-appimage) OpenSTA page →
Surelog v1.81 and newer x86_64, aarch64 chipsalliance/Surelog Tagged per version (surelog-v<version>) Surelog page →
Netgen 1.5.323 and newer x86_64, aarch64 RTimothyEdwards/netgen Tagged per version (netgen-v<version>) Netgen page →

Each tool has a dedicated page covering what the tool is, how to download it, and exactly how it is built and packaged: source, build flags, bundler versions, and checks.

  • ABC → — logic synthesis and formal verification
  • Yosys → — RTL synthesis framework
  • OpenSTA → — gate-level static timing analysis
  • Surelog → — SystemVerilog 2017 parser, elaborator and UHDM compiler
  • Netgen → — LVS (layout vs. schematic) netlist comparison
  • Symlinks and AppImage Management → — optional: keep every AppImage in ~/AppImages and expose it on your PATH via ~/.local/bin when you want to call tools by name

Follow the releases page or the Discussions for updates.


Quick start

Pick the tool and version you want, then go to its release page and download the AppImage for your architecture.

Yosys

# Download
wget https://github.com/MrAbhi19/open-eda-appimage/releases/download/yosys-v0.69/yosys-0.69-x86_64.AppImage

# Make executable and run
chmod +x yosys-0.69-x86_64.AppImage
./yosys-0.69-x86_64.AppImage --version

# Verify the download
sha256sum -c yosys-0.69-x86_64.AppImage.sha256

ABC

# Download
wget https://github.com/MrAbhi19/open-eda-appimage/releases/download/abc-appimage/abc-x86_64.AppImage

# Make executable and run
chmod +x abc-x86_64.AppImage
./abc-x86_64.AppImage

# Verify the download
sha256sum -c abc-x86_64.AppImage.sha256

OpenSTA

# Download
wget https://github.com/MrAbhi19/open-eda-appimage/releases/download/opensta-appimage/opensta-x86_64.AppImage

# Make executable and run
chmod +x opensta-x86_64.AppImage
./opensta-x86_64.AppImage -version

# Verify the download
sha256sum -c opensta-x86_64.AppImage.sha256

Surelog

# Download
wget https://github.com/MrAbhi19/open-eda-appimage/releases/download/surelog-v1.81/surelog-v1.81-x86_64.AppImage

# Make executable and run
chmod +x surelog-v1.81-x86_64.AppImage
./surelog-v1.81-x86_64.AppImage --version

# Verify the download
sha256sum -c surelog-v1.81-x86_64.AppImage.sha256

Netgen

# Download
wget https://github.com/MrAbhi19/open-eda-appimage/releases/download/netgen-v1.5.323/netgen-1.5.323-x86_64.AppImage

# Make executable and run (batch mode; omit -batch for the Tk console)
chmod +x netgen-1.5.323-x86_64.AppImage
echo "quit" | ./netgen-1.5.323-x86_64.AppImage -batch

# Verify the download
sha256sum -c netgen-1.5.323-x86_64.AppImage.sha256

For ARM64 devices, replace x86_64 with aarch64 in the filenames. See the ABC, Yosys, OpenSTA, Surelog and Netgen pages for details.

If you want to call the tools by name (optional)

Running the AppImage directly — ./yosys-0.69-x86_64.AppImage … — is the whole point of this project, and it’s enough on its own. You do not need to install anything, and you do not need symlinks.

But many EDA flows and scripts don’t know about AppImages. They invoke tools by bare name: a Makefile that runs yosys …, a Tcl flow that shells out to abc, an OpenROAD script that calls sta, a CI job that expects surelog on PATH. In those cases you have two options:

  • Point the flow at the AppImage explicitly — edit the script or set a variable so it runs ~/AppImages/yosys-0.69-x86_64.AppImage instead of yosys. Works, but it means touching every script.
  • Symlink the AppImage onto your PATH — drop a link in ~/.local/bin/yosys once, and every script, Makefile and flow that says yosys just works, unmodified.

The second option is the reason the Symlinks and AppImage Management page exists. It is a convenience, not a requirement — use it if you want the “call by name” experience, skip it if you’re happy invoking the AppImage directly.

Sketch of the setup, if you want it:

# Put AppImages in one place, symlink them into ~/.local/bin
mkdir -p ~/AppImages ~/.local/bin
mv yosys-0.69-x86_64.AppImage ~/AppImages/
ln -s ~/AppImages/yosys-0.69-x86_64.AppImage ~/.local/bin/yosys

# Now flows that say "yosys" work as-is
yosys --version

The full walkthrough — including a Yosys end-to-end demo, what happens to a symlink when the AppImage is upgraded or deleted, and how to remove symlinks cleanly — is on the Symlinks and AppImage Management page.


How releases work

Each tool has its own workflow under .github/workflows/.

Each workflow:

  1. Fetches the upstream source: the official release tarball for Yosys and Netgen, the tagged release (with git submodules) for Surelog, and the latest commit for ABC and OpenSTA
  2. Builds natively on Ubuntu 22.04 (x86_64) and Ubuntu 22.04 ARM (aarch64)
  3. Bundles dependencies with linuxdeploy and packs the AppImage (zstd-compressed for Yosys, ABC and OpenSTA)
  4. Smoke tests the AppImage. Beyond that:
    • ABC and OpenSTA also check for broken symlinks and missing shared libraries, and OpenSTA additionally runs a Tcl round-trip to exercise its bundled Tcl runtime.
    • Surelog and Netgen audit the ELF binaries inside the AppImage and fail the build if any shared library leaks in from the host instead of being bundled (only glibc and a short base-system allowlist are permitted). Netgen also checks that the bundled Tcl/Tk script libraries are present and starts in batch mode to exercise them.
  5. Publishes to GitHub Releases with a SHA256 checksum

Yosys additionally has a test workflow that downloads the published AppImage and synthesizes the picorv32 RISC-V core with it.

Build logs are public in the Actions tab.

The exact build flags, dependency lists, and bundling decisions for each tool are documented on its dedicated page — see ABC, Yosys, OpenSTA, Surelog and Netgen.


Unofficial

These are unofficial repackagings. Each tool retains its upstream license and is maintained by its own team.


Unofficial repackaging. Each tool retains its upstream license.

This site uses Just the Docs, a documentation theme for Jekyll.