atitool
atitool copied to clipboard
Console utility to control and monitor AMD GPU device operating parameters
atitool
atitool is a console utility to control and monitor AMD GPU device operating parameters.
- Clock and Voltage management
- PowerPlay support
- Device information and status reporting
- I2C operations off GPU
- MC control/status
- GRBM soft reset
- PCIE control/status
- Serial ID reporting
- HDCP A-Key reporting
Software and Hardware Requirements
atitool requires a supported AMD GPU device and Linux to function.
Installation
Decompress atitool.tar.xz package under designated folder. Run atitool as executable file while making sure the user has administrative rights.
Help
For help execute atitool without parameters.
-
./atitool clockDisplays options for clock operations -
./atitool powerplayDisplays options for PowerPlay operations -
./atitool pcieDisplays options for PCIE operations -
./atitool vctfDisplays options for Voltage/Current/Thermal/Fan control -
./atitool sidDisplays options for ASIC Serial ID -
./atitool mcDisplays options for memory controller settings -
./atitool flashDisplays options for ROM operations -
./atitool displayDisplays options for Display operations -
./atitool clockoutputDisplays options for clock observation operations -
./atitool resetDisplays options for reset operations -
./atitool efuseDisplays options for verifying EFUSE infomation -
./atitool hwidDisplays options for various ASIC/Board related info -
./atitool bacoDisplays options for BACO (Bus Alive Chip Off) operations -
./atitool cailDisplays options for CAIL (Common ASIC Init Library) operations -
./atitool fwDisplays options for firmware related operations for SMC and micro engines -
./atitool btcDisplays options for Boot Time Caibration and Power Supply Monitor logging -
./atitool paceDisplays options for getting/setting PACE table -
./atitool pmDisplays options for Power Management parameters logging -
./atitool gpustatusDisplays options for GPU status -
./atitool raserrortestDisplays options for RAS error injection/detection and error counters
Commands
-
./atitool -v=silentRun ATITOOL in silent mode with no screen output -
./atitool -UseVbiosImage{=<filename>}Use vbios image from a file -
./atitool -DumpVbiosImage{=<filename>}Dump vbios image to a file -
./atitool -iDisplays a list of all present ATI graphics devices -
./atitool -i=<#>Select a target device to apply commands. Supports both simple index (reported by-i) and PCI location (-i=PCI:<bn>.<dn>.<fn>) -
./atitool -usefinddeviceDebug flag to target a specific device (requires-i=PCI:xx.yy.zz) -
./atitool -asicinitInitialize ASIC into working state (ie. secondary GPU) Can be combined with-i=<#> -
./atitool -forceasicinitInitialize ASIC into working state even if it's already initialized -
./atitool -skipvbiospostDo not perform VBIOS post on uninitialized GPUs -
./atitool -sriovLoadUcodeLoad SRIOV Ucodes. Applies to -asicinit. -
./atitool -debug=<#>Enable debug logging (generatesTOOL.LOG),<#> = verbosity -
./atitool -logpath=<#>Specify location of debug log file (TOOL.LOG) -
./atitool -logtoconsoleContent sent to debug log (TOOL.LOG) is redirected to console. Useful on read only filesystems -
./atitool -pxversionCheck the PowerXpress version of the system -
./atitool -boardid=<#>Override board ID with given string. Useful when VBIOS image is missing board ID string
Usage
Please note that not all command line options listed below are applicable to all supported ASICs.
./atitool clock
Output:
-
-clkstatusDisplay BIOS default and current clock values -
-clklogLog output to a file calledATICLK.LOG -
-clksave=fnSave clock settings to a filefn(file name is optional where default name isclkstat.inf) -
-clkappend=fnAppend clock settings to a filefn(file name is optional where default name isclkstat.inf) -
-clkload=fnLoad clock settings from a filefn(file name is optional where default name isclkstat.inf) -
-eng=<#>Set Engine clock (SCLK in fusion) to new value#(MHz) -
-mem=<#>Set Memory clock to new value#(MHz) -
-socclk=<#>Set SOC clock to a new value#(MHz) -
-clkrestoreRestore to BIOS default values -
-incclk=<#>Increase mem/eng clock to BIOS default + delta#(MHz) -
-decclk=<#>Decrease mem/eng clock to BIOS default - delta#(MHz) -
-incmclk=<#>Increase mem clock to current clk + delta#(MHz) -
-incsclk=<#>Increase eng clock to current clk + delta#(MHz) -
-incmclkpct=<#>Increase mem clock by # percent of current clk (MHz) -
-incsclkpct=<#>Increase eng clock by # percent of current clk (MHz) -
-decmclk=<#>Decrease mem clock to current clk - delta#(MHz) -
-decsclk=<#>Decrease eng clock to current clk - delta#(MHz) -
-biosclkctrlUse AtomBIOS to change engine clock -
-clkinst=<#>Specify clock instance for multi instance clocks -
-allinstSet clock on all instances for multi instance clocks -
-adjpllAdjust PLL to change clock -
-favordclkFavor DCLK over VCLK -
-favorvclkFavor VCLK over DCLK -
-clkcounterDisplay clock counters -
-dyngfx=<on/off>Enable/Disable dynamic gfx clock gating -
-test:memeq=<#>Is current memory clock =#? -
-test:memgt=<#>Is current memory clock >#? -
-test:memlt=<#>Is current memory clock <#? -
-test:engeq=<#>Is current engine clock =#? -
-test:enggt=<#>Is current engine clock >#? -
-test:englt=<#>Is current engine clock <#? -
-dclk=<#>Set UVD DCLK to new value#(MHz) -
-vclk=<#>Set UVD VCLK to new value#(MHz) -
-maxvco=<#>Specify UPLL VCO limit (MHz) for DCLK/VCLK -
-uvdclkstatus=<#>UVD clock gating status : On,Off -
-skipmemparamSkip memory parameter changes -
-skipmempllSkip memory PLL reprogramming -
-gteqSet mem/eng clock to a value >= the value specified. For use with insclkpct/incmclkpct -
-lclk=<#>Set LCLK to a new value#(Mhz) -
-eclk=<#>Set VCE ECLK (APU) to a new value#(Mhz) -
-ecclk=<#>Set VCE ECCLK to new value#(MHz) -
-evclk=<#>Set VCE EVCLK to new value#(MHz) -
-favorecclkFavor ECCLK over EVCLK -
-favorevclkFavor EVCLK over ECCLK -
-maxvcovce=<#>Specify VCEPLL VCO limit (MHz) for ECCLK/EVCLK -
-aclk=<#>Set ACP CLK to a new value#(Mhz) -
-samclk=<#>Set SAMU CLK to a new value#(Mhz) -
-pspclk=<#>Set PSP CLK to a new value#(Mhz) -
-smnclk=<#>Set SMN CLK to a new value#(Mhz) -
-smcclk=<#>Set SMC CLK to a new value#(Mhz) -
-dcefclk=<#>Set DCEF CLK to a new value#(MHz) -
-ispclk=<#>Set ISP CLK to a new value#(MHz) -
-sfhclk=<#>Set SFH (Sensor Fusion Hub) CLK to a new value#(MHz) -
-shubclk=<#>Set SHUBCLK to a new value#(MHz) -
-fclk=<#>Set FCLK to a new value#(MHz) -
-dispclk=<#>Set DISPLCLK to a new value#(Mhz) -
-dppclk=<#>Set DPPLCLK to a new value#(Mhz) -
-usbdfsclk=<#>Set USBDFSLCLK to a new value#(Mhz) -
-sclkdiv=<#>Set SCLK DFS divider -
-lclkdiv=<#>Set LCLK DFS divider -
-vclkdiv=<#>Set VCLK DFS divider -
-dclkdiv=<#>Set DCLK DFS divider -
-eclkdiv=<#>Set ECLK DFS divider -
-aclkdiv=<#>Set ACLK DFS divider -
-samclkdiv=<#>Set SAMCLK DFS divider -
-pspclkdiv=<#>Set PSPCLK DFS divider -
-dispclkdiv=<#>Set DISPCLK DFS divider -
-smnclkdiv=<#>Set SMNCLK DFS divider -
-smcclkdiv=<#>Set SMCCLK DFS divider -
-dcefclkdiv=<#>Set DCEFCLK DFS divider -
-ispclkdiv=<#>Set ISPCLK DFS divider -
-sfhclkdiv=<#>Set SFHFCLK DFS divider -
-shubclkdiv=<#>Set SHUBCLK DFS divider -
-clockinfoShow current clock status in full screen mode, continuously refreshed. Requires terminal emulation. -
-refresh=#Applies to clockinfo. Screen refresh period in ms. -
-enablecksEnable CKS when SCLK change is requested. -
-cksstatusShow current CKS status. -
-bypassffcdisablenot disable FFC on MCLK changes. -
-enableacgUse ACG for clock change (if supported) -
-useafllUse AFLL for clock change (if supported) -
-gceaApply GCEA settings after changing GFXCLK/MCLK (if supported)