# Install glslang with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

OpenGL and OpenGL ES reference compiler for shading languages. Version 16.3.0 via Homebrew; verified 2026-05-02.

## Install

```sh
sudo av install brew:glslang
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install glslang
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install glslang
```

  Evidence: MacPorts ports tree: graphics/glslang/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add glslang
```

  Evidence: Alpine Linux edge package indexes: glslang from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install glslang-dev
```

  Evidence: Debian stable package indexes: glslang-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install glslang
```

  Evidence: Fedora Rawhide package metadata: glslang from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#glslang
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gl/glslang/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S glslang
```

  Evidence: Arch Linux sync databases: glslang from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install glslang-devel
```

  Evidence: openSUSE Tumbleweed package metadata: glslang-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/glslang
```

  Evidence: Scoop official bucket manifest trees: bucket/glslang.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:glslang
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/glslang>
- **Version:** 16.3.0
- **Source summary:** OpenGL and OpenGL ES reference compiler for shading languages
- **Homepage:** <https://www.khronos.org/opengles/sdk/Reference-Compiler/>
- **Repository:** <https://github.com/KhronosGroup/glslang>
- **Upstream docs:** <https://github.com/KhronosGroup/glslang#readme>
- **License:** BSD-3-Clause AND GPL-3.0-or-later AND MIT AND Apache-2.0
- **Source archive:** <https://github.com/KhronosGroup/glslang/archive/refs/tags/16.3.0.tar.gz>
- **Last updated:** 2026-05-02T04:18:33Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- glslang (cli)
- glslangValidator (cli)
- glslang (alias)
- glslangValidator (alias)

## Dependencies

- spirv-headers
- spirv-tools

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 16.3.0
- Package-manager updated: 2026-05-02
- Local data: ok
- Upstream repository: https://github.com/KhronosGroup/glslang
- Upstream latest detected: 16.3.0 (current)
## Project history and usage

glslang is Khronos Group's reference front end for GLSL and ESSL, with a SPIR-V back end and a standalone command-line wrapper. In package-manager form it is best known through the `glslangValidator` and `glslang` executables used by graphics developers, engine build systems, and shader toolchains.

### Project history

The project descends from the OpenGL and OpenGL ES reference compiler work maintained by Khronos. Its public KhronosGroup GitHub repository was created in 2015, the same period in which SPIR-V and Vulkan-era shader tooling moved into more open, packageable workflows. The README describes the GLSL and ESSL front end as a reference validator whose results carry similar weight to the specifications, and it describes the AST-to-SPIR-V back end as virtually complete.

glslang grew beyond a GLSL syntax checker into a central shader translation and validation component. It added a partial HLSL front end, a reflection API, CMake and GN build support, and release automation that publishes binaries from tested tree states. The project documentation also records migration of `spirv-remap` functionality into SPIRV-Tools as `spirv-opt` functionality, illustrating how Khronos shader tooling was split into focused companion projects.

### Adoption history

Adoption followed the rise of Vulkan and SPIR-V: graphics projects needed a standard way to turn human-written shader languages into SPIR-V modules and to validate shaders against Khronos rules. The repository's long-lived presence under the KhronosGroup organization, several thousand stars, and packaging across Homebrew, Debian, Fedora, Arch, Nix, MacPorts, Scoop, and other distributions reflect its role as shared infrastructure rather than a single-application utility.

For package maintainers, glslang became a dependency-sized building block for Vulkan SDKs, rendering engines, CI checks, and shader asset pipelines. Its value is partly cultural: installing it gives a reproducible command-line validator that tracks Khronos reference behavior more closely than ad hoc compiler front ends.

### How it is used

Practitioners use glslang by passing shader files to the standalone wrapper. File extensions such as `.vert`, `.frag`, `.comp`, and ray-tracing-stage extensions select stage-specific rules, and the tool prints diagnostics, AST information, or SPIR-V output depending on options. Developers also build it from source through CMake or GN when integrating it into larger graphics SDKs or engine build systems.

Typical use cases include validating shaders before they enter a game or visualization build, compiling GLSL or ESSL to SPIR-V for Vulkan pipelines, checking generated shader code in CI, and inspecting reflection information for engine resource binding code.

### Why package nerds care

glslang matters to package users because it is small enough to install as a command-line tool but authoritative enough to sit in serious graphics build graphs. It also demonstrates the Khronos ecosystem pattern: glslang handles language front-end and SPIR-V generation work, while adjacent packages such as SPIRV-Tools handle optimization and lower-level binary manipulation.

### Timeline

- 2015: KhronosGroup created the public GitHub repository.
- 2015: Vulkan and SPIR-V-era workflows made reference shader-to-SPIR-V tooling broadly package-relevant.
- 2026: The README announced deprecation of the HLSL front end with migration guidance.

### Related projects

- SPIRV-Tools provides SPIR-V optimization, validation, and binary tooling used beside glslang.
- Vulkan SDK distributions and rendering engines commonly pair glslang with shader compilation and asset-pipeline tooling.
- Khronos specifications for OpenGL, OpenGL ES, Vulkan, and SPIR-V define the standards context that gives glslang its reference-tool role.

### Sources

- <https://api.github.com/repos/KhronosGroup/glslang>
- <https://github.com/KhronosGroup/glslang>
- <https://raw.githubusercontent.com/KhronosGroup/glslang/main/README.md>
- <https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - glslang-dev - 15.1.0+1.4.309.0-1: normalized package name match | Debian stable package indexes: glslang-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenGL and OpenGL ES shader front end and validator -- development files | https://github.com/KhronosGroup/glslang
- Debian apt - glslang-tools - 15.1.0+1.4.309.0-1: normalized package name match | Debian stable package indexes: glslang-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenGL and OpenGL ES shader front end and validator -- tools | https://github.com/KhronosGroup/glslang
- Nix - glslang: normalized package name match | nixpkgs package indexes: pkgs/by-name/gl/glslang/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - glslang-dev - 14.0.0-2: normalized package name match | Ubuntu 24.04 LTS package indexes: glslang-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenGL and OpenGL ES shader front end and validator -- development files | https://github.com/KhronosGroup/glslang
- Ubuntu apt - glslang-tools - 14.0.0-2: normalized package name match | Ubuntu 24.04 LTS package indexes: glslang-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | OpenGL and OpenGL ES shader front end and validator -- tools | https://github.com/KhronosGroup/glslang
- apk - glslang - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: glslang from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Khronos reference front-end for GLSL, ESSL, and sample SPIR-V generator | https://github.com/KhronosGroup/glslang
- apk - glslang-dev - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: glslang-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Khronos reference front-end for GLSL, ESSL, and sample SPIR-V generator (development files) | https://github.com/KhronosGroup/glslang
- apk - glslang-libs - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: glslang-libs from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Khronos reference front-end for GLSL, ESSL, and sample SPIR-V generator (libraries) | https://github.com/KhronosGroup/glslang
- apk - glslang-static - 1.4.341.0-r0: normalized package name match | Alpine Linux edge package indexes: glslang-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Khronos reference front-end for GLSL, ESSL, and sample SPIR-V generator (static library) | https://github.com/KhronosGroup/glslang
- dnf - glslang - 16.2.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: glslang from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | OpenGL and OpenGL ES shader front end and validator | https://github.com/KhronosGroup/glslang
- dnf - glslang-devel - 16.2.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: glslang-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for glslang | https://github.com/KhronosGroup/glslang
- pacman - glslang - 1:1.4.350.0-1: normalized package name match | Arch Linux sync databases: glslang from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | OpenGL and OpenGL ES shader front end and validator | https://github.com/KhronosGroup/glslang
- zypper - glslang-devel - 16.3.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: glslang-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenGL and OpenGL ES shader front end and validator | https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
- zypper - glslang-nonstd-devel - 16.3.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: glslang-nonstd-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Secondary set of header files for glslang | https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
- zypper - libglslang16 - 16.3.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libglslang16 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenGL and OpenGL ES shader front end implementation | https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
- zypper - libglslang16-32bit - 16.3.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libglslang16-32bit from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenGL and OpenGL ES shader front end implementation | https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/


## Related links

- [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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [spirv-tools](https://www.automicvault.com/pkg/brew/spirv-tools/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [ncnn](https://www.automicvault.com/pkg/brew/ncnn/) - Popular package that depends on this formula.
- [vulkan-extensionlayer](https://www.automicvault.com/pkg/brew/vulkan-extensionlayer/) - Popular package that depends on this formula.
- [vulkan-tools](https://www.automicvault.com/pkg/brew/vulkan-tools/) - Popular package that depends on this formula.
- [vulkan-validationlayers](https://www.automicvault.com/pkg/brew/vulkan-validationlayers/) - Popular package that depends on this formula.
- [shaderc](https://www.automicvault.com/pkg/brew/shaderc/) - Shares av.db curated category or tags: cli, developer-tools, graphics, shader-compiler, spir-v.
- [glslviewer](https://www.automicvault.com/pkg/brew/glslviewer/) - Shares av.db curated category or tags: cli, developer-tools, glsl, graphics, opengl.
- [spirv-cross](https://www.automicvault.com/pkg/brew/spirv-cross/) - Shares av.db curated category or tags: cli, developer-tools, graphics, spir-v, vulkan.
- [waffle](https://www.automicvault.com/pkg/brew/waffle/) - Shares av.db curated category or tags: cli, developer-tools, graphics, opengl.
- [aarch64-elf-gcc](https://www.automicvault.com/pkg/brew/aarch64-elf-gcc/) - Shares av.db curated category or tags: cli, compilers, developer-tools.
- [adaptivecpp](https://www.automicvault.com/pkg/brew/adaptivecpp/) - Shares av.db curated category or tags: cli, compilers, developer-tools.
- [arm-linux-gnueabihf-binutils](https://www.automicvault.com/pkg/brew/arm-linux-gnueabihf-binutils/) - Shares av.db curated category or tags: cli, compilers, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/glslang.yml](https://github.com/automic-vault/db/blob/main/combined/glslang.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
- external package-manager database matches
- cross-ecosystem install command graph
