# Install libgusb with Homebrew, apk, apt, dnf, pacman, zypper

GObject wrappers for libusb1. Version 0.4.9 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:libgusb
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libgusb
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add libgusb
```

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

- Debian apt (92%):

```sh
sudo apt install gir1.2-gusb-1.0
```

  Evidence: Debian stable package indexes: gir1.2-gusb-1.0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install libgusb
```

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

- pacman (92%):

```sh
sudo pacman -S libgusb
```

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

- zypper (92%):

```sh
sudo zypper install libgusb-devel
```

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

## Package facts

- **Package key:** brew:libgusb
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libgusb>
- **Version:** 0.4.9
- **Source summary:** GObject wrappers for libusb1
- **Homepage:** <https://github.com/hughsie/libgusb>
- **Repository:** <https://github.com/hughsie/libgusb>
- **Upstream docs:** <https://github.com/hughsie/libgusb#readme>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://github.com/hughsie/libgusb/archive/refs/tags/0.4.9.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gusbcmd (cli)
- gusbcmd (alias)

## Dependencies

- glib
- json-glib
- libusb
- python@3.14
- usb.ids

## Build dependencies

- gobject-introspection
- meson
- ninja
- pkgconf
- python-setuptools
- vala

## 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: 0.4.9
- Local data: ok
- Upstream repository: https://github.com/hughsie/libgusb
- Upstream latest detected: 0.4.9 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

GUsb is a small GLib/GObject wrapper around libusb1, intended to make asynchronous USB transfers fit naturally into GLib main-loop applications and system daemons. It is package-nerd useful because it turns low-level USB plumbing into a library that GNOME-style C programs can consume without each one hand-rolling libusb integration.

### Project history

The upstream README describes GUsb as a GObject wrapper for libusb1 with asynchronous control, bulk, and interrupt transfers, cancellation support, and main-loop integration. Its scope is intentionally narrower than libusb itself: not every libusb operation is wrapped, but the project accepts feature requests when the wrapper fits the library's purpose.

Release notes show the library moving beyond simple device access into testability and serialization work. Version 0.4.0, released on September 12, 2022, added BOS descriptor support, JSON serialization of GUsbDevice objects, and emulated USB-device replay. Version 0.4.9, released on April 22, 2024, focused on HID descriptor handling, handle cleanup, and emulator safety fixes.

### Adoption history

GUsb is packaged broadly because GLib-based desktop and device-management software often needs USB access without depending directly on raw libusb callbacks. The batch input lists Alpine, Homebrew, Debian, Fedora, Arch, Ubuntu, and openSUSE package names, including GObject Introspection packages on Debian and Ubuntu.

### How it is used

Applications and daemons use GUsb to enumerate devices, perform asynchronous USB transfers, respond to hotplug events, and integrate those operations with GLib cancellation and event handling. The gusbcmd executable provides a small command-line surface for inspecting or exercising the library.

### Why package nerds care

GUsb sits in the classic GNOME plumbing layer: it is not a user-facing app, but it lets firmware tools, hardware managers, and desktop services share one USB abstraction. The JSON and emulation additions in the 0.4 series also make it attractive for repeatable tests around hardware behavior.

### Timeline

- 2021-03-12: Version 0.3.6 added string-descriptor byte APIs and Darwin dylib fixes.
- 2022-09-12: Version 0.4.0 added JSON serialization and device emulation support.
- 2022-10-01: Version 0.4.1 ported documentation from gtk-doc to gi-docgen.
- 2024-04-22: Version 0.4.9 fixed HID descriptor, libusb handle, and emulator issues.

### Related projects

- libusb1 is the low-level USB library wrapped by GUsb.
- GLib, GObject, and GIO provide the application framework integration targeted by GUsb.
- GObject Introspection packages expose GUsb to language bindings in distributions such as Debian and Ubuntu.

### Sources

- <https://formulae.brew.sh/formula/libgusb>
- <https://github.com/hughsie/libgusb>
- <https://raw.githubusercontent.com/hughsie/libgusb/main/NEWS>
- <https://raw.githubusercontent.com/hughsie/libgusb/main/README.md>
- <https://raw.githubusercontent.com/hughsie/libgusb/main/meson.build>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libgusb
- **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 - gir1.2-gusb-1.0 - 0.4.9-1+b1: normalized package name match | Debian stable package indexes: gir1.2-gusb-1.0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GObject introspection data for libgusb | https://github.com/hughsie/libgusb
- Debian apt - libgusb-dev - 0.4.9-1+b1: normalized package name match | Debian stable package indexes: libgusb-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GLib wrapper around libusb1 - development files | https://github.com/hughsie/libgusb
- Debian apt - libgusb-doc - 0.4.9-1: normalized package name match | Debian stable package indexes: libgusb-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GLib wrapper around libusb1 - documentation | https://github.com/hughsie/libgusb
- Debian apt - libgusb2 - 0.4.9-1+b1: normalized package name match | Debian stable package indexes: libgusb2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GLib wrapper around libusb1 | https://github.com/hughsie/libgusb
- Ubuntu apt - gir1.2-gusb-1.0 - 0.4.8-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: gir1.2-gusb-1.0 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GObject introspection data for libgusb | https://github.com/hughsie/libgusb
- Ubuntu apt - libgusb-dev - 0.4.8-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgusb-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GLib wrapper around libusb1 - development files | https://github.com/hughsie/libgusb
- Ubuntu apt - libgusb-doc - 0.4.8-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgusb-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GLib wrapper around libusb1 - documentation | https://github.com/hughsie/libgusb
- Ubuntu apt - libgusb2 - 0.4.8-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgusb2 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GLib wrapper around libusb1 | https://github.com/hughsie/libgusb
- apk - libgusb - 0.4.9-r1: normalized package name match | Alpine Linux edge package indexes: libgusb from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | GLib wrapper around libusb | https://github.com/hughsie/libgusb
- apk - libgusb-dev - 0.4.9-r1: normalized package name match | Alpine Linux edge package indexes: libgusb-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | GLib wrapper around libusb (development files) | https://github.com/hughsie/libgusb
- apk - libgusb-utils - 0.4.9-r1: normalized package name match | Alpine Linux edge package indexes: libgusb-utils from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | GLib wrapper around libusb (utils) | https://github.com/hughsie/libgusb
- dnf - libgusb - 0.4.9-5.fc44: normalized package name match | Fedora Rawhide package metadata: libgusb from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | GLib wrapper around libusb1 | https://github.com/hughsie/libgusb
- dnf - libgusb-devel - 0.4.9-5.fc44: normalized package name match | Fedora Rawhide package metadata: libgusb-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Libraries and headers for gusb | https://github.com/hughsie/libgusb
- pacman - libgusb - 0.4.9-2: normalized package name match | Arch Linux sync databases: libgusb from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | GObject wrapper for libusb1 | https://github.com/hughsie/libgusb
- zypper - libgusb-devel - 0.4.9-1.6: normalized package name match | openSUSE Tumbleweed package metadata: libgusb-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for libgusb, a GObject-based wrapper for libusb1 | https://github.com/hughsie/libgusb
- zypper - libgusb2 - 0.4.9-1.6: normalized package name match | openSUSE Tumbleweed package metadata: libgusb2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | GObject-based library for libusb1 | https://github.com/hughsie/libgusb


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [json-glib](https://www.automicvault.com/pkg/brew/json-glib/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [gobject-introspection](https://www.automicvault.com/pkg/brew/gobject-introspection/) - Build dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [simple-scan](https://www.automicvault.com/pkg/brew/simple-scan/) - Popular package that depends on this formula.
- [libusb-compat](https://www.automicvault.com/pkg/brew/libusb-compat/) - Shares av.db curated category or tags: cli, system, usb.
- [lsusb](https://www.automicvault.com/pkg/brew/lsusb/) - Shares av.db curated category or tags: cli, system, usb.
- [blink1](https://www.automicvault.com/pkg/brew/blink1/) - Shares av.db curated category or tags: cli, system, usb.
- [bootloadhid](https://www.automicvault.com/pkg/brew/bootloadhid/) - Shares av.db curated category or tags: cli, system, usb.
- [crun](https://www.automicvault.com/pkg/brew/crun/) - Shares av.db curated category or tags: c-library, cli, system.
- [cyme](https://www.automicvault.com/pkg/brew/cyme/) - Shares av.db curated category or tags: cli, system, usb.
- [dbus-glib](https://www.automicvault.com/pkg/brew/dbus-glib/) - Shares av.db curated category or tags: cli, glib, system.
- [dcled](https://www.automicvault.com/pkg/brew/dcled/) - Shares av.db curated category or tags: cli, system, usb.
- [fwupd](https://www.automicvault.com/pkg/brew/fwupd/) - Local package facts share a topical domain. Shared terms: cli, glib, ids, libusb, system.
- [appstream-glib](https://www.automicvault.com/pkg/brew/appstream-glib/) - Both packages work with overlapping file formats or content types. Shared terms: cli, glib, json, json-glib, system.
- [dfu-programmer](https://www.automicvault.com/pkg/brew/dfu-programmer/) - Local package facts share a topical domain. Shared terms: cli, libusb, system, usb.

## Combined YAML source

View the package source record on GitHub. [combined/libgusb.yml](https://github.com/automic-vault/db/blob/main/combined/libgusb.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
