GizStack
View .mdOpen in ChatGPTOpen in Claude

gizhw

Devices: GPUs, NPUs, cameras, audio, video codecs, sensors and the platform. Import a module by name, for example import * as Store from "gizdb:store";. Each page lists the module's public declarations exactly as an installed toolchain provides them.

ModulePurpose
gizhw:alsathe Linux backend of gizhw:audio.
gizhw:amdxdnaAMD XDNA (the Ryzen AI NPU, driver amdxdna): its GET_INFO queries (the layouts of drm/amdxdna_accel.h) and the run of a kernel: a hardware context, a device heap that holds the buffers, a firmware image and control code loaded into it, and an ERT START_NPU packet (amdxdna_ctx.h) that starts one run.
gizhw:audioPCM sound on any platform.
gizhw:blockNVMe controllers through the kernel's passthrough ioctls (NVME_IOCTL_ADMIN_CMD and NVME_IOCTL_IO_CMD on the controller's node, /dev/nvmeN): Identify (the controller), the SMART health log, and a read of blocks by passthrough.
gizhw:busthe buses a board exposes: a serial port's speed (termios2, any rate through BOTHER), GPIO lines (the character device's chardev v2 interface: a line request, then its values), I2C transfers (I2C_RDWR), SPI transfers (SPI_IOC_MESSAGE), USB control transfers (usbfs), and CAN frames (SocketCAN, raw).
gizhw:cameravideo capture on any platform.
gizhw:codecthe GPU's video codecs.
gizhw:devicethe devices the machine has, as the program opens and drives them.
gizhw:drmThe DRM requests every DRM-based accelerator of the accel class answers (drm/drm.h): the version request, which names the driver bound to a node, and the wait on a timeline syncobj.
gizhw:evdevthe Linux backend of gizhw:input.
gizhw:gpua GPU found at run time through its vendor's driver library, opened with gizlang:native (nothing is linked or required at build time).
gizhw:inputkeyboards, mice and other input devices on any platform.
gizhw:kernelGPU kernels written once and printed for every GPU.
gizhw:metalan Apple GPU through Metal, driven with Objective-C's runtime and gizlang:native (nothing links at build time).
gizhw:nputhe NPUs of the machine, whatever their driver, and the runs of kernels on them.
gizhw:rdmaRDMA devices through libibverbs (libibverbs.so.1, loaded at run time): each device's name, firmware, node GUID and ids, and each port's state, MTU, LID, link width and speed, and link layer.
gizhw:tpma TPM 2.0 through the kernel's resource manager (/dev/tpmrm0): commands are built as bytes (big-endian, the TPM's wire format) and replies are checked and parsed.
gizhw:v4l2the Linux backend of gizhw:camera.