intel_reg_write
Write values to Intel hardware registers
SYNOPSIS
intel_reg_write [-D device] [-h] <register> <value>
PARAMETERS
-D, --device=<DEVICE>
Specify the DRM device (default: /dev/dri/card0)
-h, --help
Display brief help message and exit
<register>
Hexadecimal GPU register address (e.g., 0x8408)
<value>
32-bit value to write (decimal or hexadecimal)
DESCRIPTION
The intel_reg_write command is a utility from the intel-gpu-tools package, designed for low-level interaction with Intel Graphics Processing Units (GPUs) via the Linux i915 kernel driver. It allows users to write a 32-bit value to a specified GPU register address, which is essential for debugging, testing, and tweaking graphics hardware behavior.
Registers are accessed through the debugfs interface (/sys/kernel/debug/dri/), typically requiring root privileges. The command takes a hexadecimal register address (e.g., 0x1234) and a decimal or hexadecimal value. It is primarily used by developers and testers working on Intel DRM (Direct Rendering Manager) drivers, Mesa, or custom graphics applications. Misuse can lead to GPU instability, crashes, or hardware damage, so it should only be used with caution on supported hardware.
This tool complements register reading utilities and is not intended for everyday users.
CAVEATS
Requires root access and i915 debugfs enabled (i915.enable_hangcheck=0 may help). Can cause GPU hangs, system crashes, or permanent hardware damage. Use only on test systems with Intel GPUs supporting i915. Not for production use.
EXAMPLE USAGE
echo 0xdeadbeef | intel_reg_write 0x1234
or
intel_reg_write -D /dev/dri/card1 0x8408 42
REQUIREMENTS
Install via intel-gpu-tools package. Enable debugfs: mount -t debugfs none /sys/kernel/debug
HISTORY
Developed as part of Intel's open-source GPU tools suite for Linux DRM/i915 driver testing. Introduced around 2012-2013 with early intel-gpu-tools releases; actively maintained alongside kernel graphics advancements.
SEE ALSO
intel_reg_read(1), intel_dump_regs(1), intel_gpu_top(1)


