bitcoin python OpenCL mining setup on Ubuntu 11.04

Credits: Thanks to Syke's article on!!!

0. Install Ubuntu/Drivers/APPSDK/pyopencl

  • Install Ubuntu 11.04 (desktop edition is recommended) on your disk, and install the 3rd party AMD/ATI graphic driver through "System->Administration->Additional Drivers".
  • $ sudo apt-get install python-pyopencl subversion git
  • Download AMD APP SDK for your platform (either 32bits or 64bits), and extracted to somewhere (referred as $SDK_HOME), remove the symbol link /usr/lib/ (links to nvidia implementation), and cp the *.so files in $SDK_HOME/lib/x86 to /usr/lib; extract the $SDK_HOME/icd-registration.tgz archive, and copy the *.icd files to /etc/OpenCL/vendors.
  • if you have multiple GPU, run $ aticonfig --adapter=all --initial, and relogin, then run $SDK_HOME/bin/x86/clinfo, to check if you have all GPU recognized.

1. Install python-jsonrpc

  • $ svn checkout
  • $ cd python-jsonrpc/
  • $ sudo python install

2. Retrieve and run poclbm mining scripts

  • $ git clone
  • $ cd poclbm
  • $ python -d 0 --user un --pass pw

3. aticonfig over ssh (the easiest way)

  • $ sudo apt-get install openssh-server
  • set autologin when you install/configure ubuntu gdm display manager
  • export DISPLAY=:0.0 after you connected to remote miner machine via ssh/telnet

4. Useful aticonfig commands

  • $ aticonfig --od-enable (enable overdrive)
  • $ aticonfig --odgc --adapter=all (get clocking information for all adapters)
  • $ aticonfig --odgt --adapter=all (get temperature for all adapters)
  • $ aticonfig --adapter=0 --pplib-cmd 'get fanspeed 0' (get speed of fan #0 on adapter #0)
  • $ aticonfig --odsc=950,1225 --adapter=1 (change the peak clock of adapter #1 to 950MHz)

5. Over-clocking with AMDOverdriveCtrl

  • Download and install the deb package here, and install depended wxgtk packages
  • $ AMDOverdriveCtrl -h (check which graphic card is active, and remember the index)
  • $ AMDOverdirveCtrl -i <card index> (you need to run it in native X11 environment), tune the parameters, and save it as default.
  • move the $HOME/.AMDOverdirveCtrl/default.ovdr to different location, then configure another card
  • add AMDOverdirveCtrl -b -i <card index> <profile_file> in your miner start script, note the profile_file must be in the current working directory.

Note: If you run the miner on multiple GPUs with overclocking, the master branch of poclbm seems not very stable as I experienced, the GPU stops to process anymore after running for a while, that I need a hard reset on my machine. Phoenix (though with poclbm kernel) seems much more stable, and comes up with better performance.