

Reversing NvAPI to Programmatically Overclock Nvidia GPUs - cubicfur
https://1vwjbxf1wko0yhnr.wordpress.com/2015/08/10/overclocking-tools-for-nvidia-gpus-suck-i-made-my-own/

======
infinity0
Only partially relevant to the subject, but note that this tool still requires
the nvidia proprietary drivers to work.

[https://secure.freedesktop.org/~cbrill/dri-log/dri-
devel-201...](https://secure.freedesktop.org/~cbrill/dri-log/dri-
devel-2015-08-10.log) <mupuf> and we already had this information because
nvidia-settings is open source :)

The subject post is about reversing the application/driver interface; to get
reclocking working on the FOSS nouveau driver would require reversing the
driver/hardware interface.

Background: currently newer nvidia cards boot up at a very low clock speed
(~0.1x normal speed) and require the driver to reclock it. But nvidia isn't
releasing the docs on how to do this.

[0]
[http://www.x.org/wiki/Events/XDC2014/XDC2014SplietREclock/](http://www.x.org/wiki/Events/XDC2014/XDC2014SplietREclock/)
[1] [http://nouveau.spliet.org/evoc.html](http://nouveau.spliet.org/evoc.html)
[2] [https://git.kernel.org/cgit/linux/kernel/git/stable/linux-
st...](https://git.kernel.org/cgit/linux/kernel/git/stable/linux-
stable.git/tree/drivers/gpu/drm/nouveau/nvkm/subdev/fb) [3]
[https://git.kernel.org/cgit/linux/kernel/git/stable/linux-
st...](https://git.kernel.org/cgit/linux/kernel/git/stable/linux-
stable.git/tree/drivers/gpu/drm/nouveau/nvkm/subdev/clk)

------
rubbingalcohol
This is great reverse engineering, and awesome the author put up the source
code, but I wonder if Nvidia will try to take it down on "copyright claims"?
Either way I've saved a copy of the article for later use. The author is right
that the existing "approved" overclocking tools are garbage.

~~~
timboslice
MSI Afterburner runs pretty well. Not sure if it is "approved" or not, but I'd
assume so as MSI is an Nvidia partner.

~~~
rubbingalcohol
I've found that simply having Afterburner installed would cause bluescreens on
my Maxwell card, even if no settings were altered. Although many people are
blaming TDR issues in Nvidia's recent drivers, so who knows. Either way,
Afterburner is a hog, has terrible UI and plenty of unneeded features (for me
:). Other similar apps, like EVGA Precision appear to be re-skins of the exact
same codebase.

------
Fede_V
I wonder why nvidia refuses to release their public API unless you sign an
NDA. Are they just worried people will buy cheaper cards and overclock them?

~~~
lbotos
Isn't that what already happens? I've done it a few times in my life.

~~~
timboslice
I was looking at the GTX 980 but settled on a GTX 970. It overclocks pretty
well and I put the money I saved into a new SSD :)

------
warcode
NVIDIA Inspector and GPU-Z both have simple, clean UIs and have been all I've
needed in my GPU overclocking and custom bios adventures.

~~~
creshal
Neither is open source though, as far as I know.

~~~
kcbanner
It seems that any implementation would need to use the closed source NvAPI.

------
kistaro
_Not everyone buying those graphics cards is a 14yo xXX_l33thaxor1ny0ma|\
/|4_XXx who wants dragons and giant robots on their packaging._

I'm a professional software engineer and I want dragons and giant robots on
_my_ packaging. :(

(writing backends for web services that will never see the light of day
outside where I work, of course, so I don't even have any packaging to make a
branding argument about.)

Spot on about the UI, though. I just want my _command line tools_ to have
dragons and giant robots on their packaging.

------
dkersten
_It probably serves as a convenient layer for not breaking the API across
updates and also for obfuscating the entry points where the goods are to be
found._

It sounds like its actually just the QueryInterface from COM[1]

[1]
[https://en.wikipedia.org/wiki/Component_Object_Model](https://en.wikipedia.org/wiki/Component_Object_Model)

------
shade23
Am i the only one who is fascinated by the choice of: -the website name -the
about section -the contact email id ?

~~~
balls2you
No. I noticed it too. In the license he revealed his possibly real name and
email id, but tried to be anonymous in the blog by using an ID looking like a
Bitcoin address. Or maybe he just wants you to send him more Bitcoin for the
code.

------
castratikron
Cool

~~~
castratikron
I actually thought this was really cool. I could have chosen better wording.

------
rancur
this is fantastic

------
irascible
Well done sir.

