MCPcopy Index your code
hub / github.com/CachyOS/chwd

github.com/CachyOS/chwd @1.23.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.23.0 ↗ · + Follow
200 symbols 436 edges 29 files 24 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

chwd

<strong>CachyOS Hardware Detection Tool written in Rust</strong>

Dependency Status

CI

chwd (CachyOS Hardware Detection) is a powerful, Rust-based command-line utility designed to take the headache out of hardware configuration on Linux. It automatically detects your system's hardware components (like GPUs, Network Interface Cards) and applies the optimal, verified driver profiles so your hardware "just works."

Built primarily for CachyOS chwd replaces manual installation drivers through pacman and manual configuration.

Key Features

  • Automatic Configuration: Detects connected hardware and automatically installs correct driver profiles.
  • Targeted Installation: Allows installing or removing specific hardware profiles easily (e.g., reinstalling drivers when swapping GPUs).
  • Comprehensive Listings: Checks what profiles are currently installed, which profiles your current hardware supports, or all known profiles in the database.
  • Safety Checks: Checks using libpci and verifies hardware presence before applying configurations to prevent system breakage.

Quick Start

Installation

chwd comes pre-installed on CachyOS, so no action is required out of the box. If you are using Arch Linux, you can install chwd directly from the CachyOS repositories:

sudo pacman -S chwd

Basic Usage

For detailed usage instructions, please refer to the chwd documentation on the CachyOS Wiki.

Under the Hood (For Contributors)

chwd uses .toml files (can be found under profiles/) to manage hardware profiles.

When you run an --install or -a command, chwd checks the PCI devices on your machine against the available TOML profiles.

Building from Source

If you want to contribute, test the latest untested changes, or just build it yourself:

  1. Install build dependencies: bash sudo pacman -S --needed rust pciutils
  2. Clone the repository: bash git clone https://github.com/cachyos/chwd.git cd chwd
  3. Build the project: bash cargo build --release The compiled binary will be located in ./target/release/chwd.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for full details.

Core symbols most depended-on inside this repo

iter
called by 44
libusb/src/lib.rs
parse_profiles
called by 11
src/profile.rs
nvidia_profile
called by 7
src/data.rs
gpu_device
called by 7
src/data.rs
parse_profile
called by 6
src/profile.rs
from_hex
called by 6
src/data.rs
resolve_conflict_groups
called by 6
src/data.rs
cpu_test_profile
called by 5
src/data.rs

Shape

Function 111
Method 60
Class 23
Enum 6

Languages

Rust96%
C2%
C++1%

Modules by API surface

src/data.rs38 symbols
libpci/src/lib.rs28 symbols
src/profile.rs24 symbols
libusb/src/lib.rs22 symbols
scripts/chwd-kernel/src/main.rs13 symbols
src/main.rs12 symbols
src/hwd_misc.rs9 symbols
src/misc.rs8 symbols
libusb/src/usb_ids.rs8 symbols
src/logger.rs5 symbols
libpci-sys/wrapper.c5 symbols
src/device.rs4 symbols

For agents

$ claude mcp add chwd \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact