Folks,
sorry to bump this almost-dead thread.
It really bothers me to be restricted to fully control my GPUs when driving them with Linux. Most serious miners should agree that operating their GPUs with cgminer under Linux is the ideal setup (free, robust, head-less, efficient, etc.) -- if one could control clocks and voltages as freely as it is doable with Windows tools.
Right now cgminer uses the ADL library to control those values, but it is restricted to what AMD finds to be 'sane' values, that is e.g.: a max clock delta of 125MHz between core and mem clocks for 69xx and 150MHz for 79xx. From manufacturer's perspective there for sure are good reasons to restrict users' access to the controlling chips and prevent him from frying his cards, while OTOH it is completely insane to burn significantly more energy for mining on Linux than on Windows.
The latest Tahiti cards are equipped with the CHiL CHL8228G VRM. MSI Afterburner and GPU-Z recently added support for the latest AMD cards when those devices got supported. For Linux we'd need the same direct I2C-support to all controlling chips. Sadly, for that VRM only a product brief document is available at [1]. I poked around and it is not possible to get the full data sheet, even under NDA. Obviously MSI as card manufacturer has access to the specs to support it in Afterburner, but evenly obvious the GPU-Z folks had to reverse engineer to get their support implemented.
It is illusory to assume Linux folks will get access to the specs, even if we hint that bitcoin miners love ATI cards and we promise to be very careful (its just too dangerous to give users access at that HW level). Therefore, reverse engineering is the way we must take. We could:
- reverse engineer MSI Afterburner or GPU-Z to unveil the command sequences required for full control
- hook into Windows I2C driver and trace the I2C commands issued
- social engineering (know someone at ATI research, MSI, CHiL, etc.)
The first approaches require deep Windows system knowledge, plus some cracking capabilities for the first approach or some DDK experience for the second (assuming there are no I2C sniffer already available).
My active times with Windows passed by long ago, but I know that this is a many-weeks job - no way to get the efforts compensated by bounties or crowd funding. Anyone willing to support here needs to do it for the glory (and you'd help saving the world by greatly reducing mining energy consumption
). Ideally we should end up with an ADL replacement that gives unrestricted access to the controlling chips. BTW, my own capabilities are limited to the Linux side, i.e. as soon as I get the specs I would work out a library to be included in cgminer (if OP or runeks aren't to take the glory).
Any supporters?
[1]
http://www.irf.com/product-info/datasheets/data/pb-chl8225.pdf