NVfreqd

a patched version of cpufreqd for NVidia NForce2 boards

News

Now nvclock integrated - ie. you can dynamically clock your Nvidia graphics card, as well!

Introduction

"Hasw" coded two nice modules for NForce2 boards; one for frequency changes, which is already included in mainline kernel, and one module for atxp1, with which you can change Vcore of the CPU on the fly. Get the atxp1 module and get it running. I still use version 0.3 of the atxp1 module, as I had some troubles with 0.6. It is advised to look into this thread to get some tips and help. Nice thing is, upcoming 2.6.13 kernel will have atxp1 driver included. So no more patching is required.

Next, we need a daemon which changes CPU frequencies automatically. As both the NForce2 cpufreq and atxp1 module don't interact, we need a specially patched daemon doing both. Either you try autoCpuFreq or the patch presented here for cpufreqd. I like the way cpufreqd handles rules, that's why I invested some time to patch it.


Files

ebuild and patch
example configuration
atxp1 module v0.3 (by Hasw)


Installation

As I am a Gentoo user, I provide an ebuild which fetches nvclock-0.7, cpufreqd-1.2.3, patches it and installs the modified version. Keep in mind the executable is still named cpufreqd, similarly the config file. If you don't use gentoo, you need to patch and compile cpufreqd by hand. Take a look into the ebuild. It is pretty easy to understand.

Warning: My patch only works for the SYSFS interface, as I don't know how to read out current CPU frequency via old /proc interface. Keep in mind that not all NForce2 boards have an atxp1. If you want to use integrated nvclock, be warned that it doesn't prevent you from destroying your card, as it doesn't check whether clock values are set too high! If you don't have a Nvidia Graphics card, you can still use 1.2.2 version. There are no other enhancements in 1.2.3. But 1.2.3 should also work for you, just leave out the nvclock parameters.


New Parameters

[General] vcore_path Interface file created by atxp1 module which nvfreqd uses to change Vcore
[General] vcore_default As NForce2 boards only initialize the atxp1 on power-on, you need to put back default Vcore before reboot. nvfreqd sets Vcore to this value on exit
[Profile] vcore nvfreqd sets Vcore to this value, given in mV. Due to safety reasons range is limited from 1200 to 1850.
[Profile] nv_coreX nvfreqd sets core clock in MHz for Nvidia card X (X may be 0,1,2 or 3).
[Profile] nv_memX nvfreqd sets memory clock in MHz for Nvidia card X (X may be 0,1,2 or 3)

Limitations


Support

Please don't email me for support. Rather re-read the docs and post questions in the Gentoo Forum (eg. see this thread). You may report errors in this page or bugs related to this patch, though. :-)