# Install vc4asm with Homebrew

Macro assembler for Broadcom VideoCore IV aka Raspberry Pi GPU. Version 0.3 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:vc4asm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vc4asm
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:vc4asm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/vc4asm>
- **Version:** 0.3
- **Source summary:** Macro assembler for Broadcom VideoCore IV aka Raspberry Pi GPU
- **Homepage:** <https://maazl.de/project/vc4asm/doc/index.html>
- **Repository:** <https://github.com/maazl/vc4asm>
- **Upstream docs:** <https://maazl.de/project/vc4asm/doc/index.html>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/maazl/vc4asm/archive/refs/tags/V0.3.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- vc4asm (cli)
- vc4dis (cli)
- vc4asm (alias)
- vc4dis (alias)

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.3
- Local data: ok
- Upstream repository: https://github.com/maazl/vc4asm
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

vc4asm is a niche macro assembler and disassembler for the Broadcom VideoCore IV QPU used in early Raspberry Pi systems. Its historical importance is tied less to broad adoption and more to a specific moment in Raspberry Pi GPU hacking, when public documentation and community reverse-engineering made hand-written QPU programs practical.

### Project history

The official vc4asm documentation describes the project as a full-featured macro assembler and disassembler with constraint checking for VideoCore IV. It explicitly builds on Pete Warden's qpu-asm, Eman's earlier work, and ideas from Herman H. Hermitage, while adding higher-level assembler features such as macros and functions.

Raspberry Pi highlighted vc4asm on January 2, 2015, after Broadcom's February 2014 release of complete VideoCore IV GPU documentation. That announcement placed vc4asm in the wave of community tools that followed the documentation release and made QPU compute experiments more accessible.

### Adoption history

vc4asm appears to have remained a specialist Raspberry Pi GPU programming tool rather than a broad developer platform. Its audience is people writing or inspecting VideoCore IV QPU code, especially in the style of the Raspberry Pi hello_fft examples, not general-purpose ARM or GPU developers.

The package matters in package-manager collections because it preserves a historically useful command-line assembler/disassembler for an otherwise unusual target. Installing it through Homebrew gives modern macOS users a convenient way to experiment with or study VideoCore IV assembly without rebuilding the old Raspberry Pi-centered toolchain by hand.

### How it is used

The `vc4asm` command assembles QPU assembly files into binary output, ARM-compatible ELF object output, or C/C++ source fragments that can be included by host-side programs. The companion `vc4dis` command disassembles binary or hexadecimal QPU instruction streams back into assembly.

Typical use is close to systems research and embedded experimentation: write QPU kernels, include shared definitions, check VideoCore IV instruction constraints, generate a binary or host-linkable object, and then run that code through Raspberry Pi GPU access mechanisms.

### Why package nerds care

vc4asm is package-nerd interesting because it packages a tiny, hardware-specific language toolchain for an architecture most users never compile for directly. It is the kind of utility that keeps a small hardware community reproducible after the original blog posts, forum threads, and sample code age.

Its lineage also captures a classic open-hardware-adjacent pattern: unofficial tools and reverse-engineered notes appear first, vendor documentation lands later, and package managers eventually preserve the usable command-line artifacts.

### Timeline

- 2014-02-28: Broadcom releases complete VideoCore IV GPU documentation, making public QPU tool work more practical.
- 2015-01-02: Raspberry Pi publishes a vc4asm announcement, crediting Marcel Mueller and noting its macro/function support.
- 2015: vc4asm 0.3 is documented as the current version on the official project page.

### Related projects

- Pete Warden's qpu-asm is named by the vc4asm documentation as a direct predecessor.
- Herman H. Hermitage's VideoCore IV QPU work is cited by vc4asm as an influence and records the pre-documentation reverse-engineering context.
- Raspberry Pi hello_fft examples served as practical reference material for QPU programs and are mentioned by the vc4asm documentation.

### Sources

- <https://docs.broadcom.com/doc/12358545>
- <https://github.com/hermanhermitage/videocoreiv-qpu>
- <https://maazl.de/project/vc4asm/doc/index.html>
- <https://www.raspberrypi.com/news/new-qpu-macro-assembler/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** vc4asm
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [gputils](https://www.automicvault.com/pkg/brew/gputils/) - Shares av.db curated category or tags: assembler, cli, developer-tools, embedded.
- [acme](https://www.automicvault.com/pkg/brew/acme/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [asm6809](https://www.automicvault.com/pkg/brew/asm6809/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [dasm](https://www.automicvault.com/pkg/brew/dasm/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [jasmin](https://www.automicvault.com/pkg/brew/jasmin/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [nasm](https://www.automicvault.com/pkg/brew/nasm/) - Shares av.db curated category or tags: assembler, cli, developer-tools.
- [picotool](https://www.automicvault.com/pkg/brew/picotool/) - Shares av.db curated category or tags: cli, developer-tools, embedded, raspberry-pi.
- [tass64](https://www.automicvault.com/pkg/brew/tass64/) - Shares av.db curated category or tags: assembler, cli, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/vc4asm.yml](https://github.com/automic-vault/db/blob/main/combined/vc4asm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
