So recently I’ve been getting all my games to run under linux. As part of this process, I’m learning all about my ATI drivers, because graphics drivers are universally terrible. However, under linux, you can tinker more freely to make them (slightly) less terrible.
This particular hackery came as I was researching how to fix an ‘ASIC hang happened’ issue. I haven’t yet figured that out, but I did find how to over/under clock my graphics card, and stress test it, using the proprietary ATI drivers.
DISCLAIMER: Overclocking your machine is dangerous. Don’t do it.
So, to overclock your card, here are a few helpful commands, and what they do:
aticonfig --adapter 0 --od-getclocksList adapter 0’s current clock information, including peak ranges. See
aticonfig --list-adaptersto figure out which adapter you want to specify.
aticonfig --adapter 0 --od-setclocks=900,1150Set adapter 0’s core clock to 900, and memory clock to 1150. aticonfig might warn you about how dangerous this is and request you set a flag to enable overclocking.
atiode -P 600 -h $DISPLAY; echo $?Run the ATI stress testing tool for 600 seconds (10 minutes) on the current X display. Print out the return value after it’s done. See aticonfig —help for return value meanings.
while sleep 5; do aticonfig --adapter 0 --od-gettemperature --od-getclocks > atiode.log; doneLog temperatures and clocks to atiode.log; to make sure your GPU isn’t overheating during the stress test.
aticonfig --od-commitclocksI’m not really sure, but the —help suggests you should do this after running the stress tests.
Now you know how to over/under-clock your card, and stress test it. Have fun.
Purely speculatively, if you get this “ASIC hang happened” issue, you might try underclocking the card. I haven’t tested this thoroughly enough to tell if it will help, but something I read in the overclock warnings suggested it might help