diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html
index 21ef33dc82..8060a3a1cc 100644
--- a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html
+++ b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html
@@ -4,7 +4,7 @@
Changes done for each driverversion:
-head (SVN 0.73, Rudolf)
+head (SVN 0.74, Rudolf)
- The overlay engine code now respects the B_OVERLAY_COLOR_KEY flag instead of forcing keying ON;
- Hook GET_ACCELERANT_DEVICE_INFO now returns much more detailed info about the card in use;
@@ -14,7 +14,9 @@
- Fixed driver not always finding it's VGA BIOS when started and stopped more than once per system uptime 'session';
- Fixed 'BScreen Sync-to-Retrace not working' bug that appeared on all dualhead cards when CRTC2 was used as primary CRTC. On some systems outthere this bug might have shown itself as a 'system (or app) hanging' error occuring while using apps that feature explicit retrace sync. Completely rewrote interrupt handling to now handle retrace syncs on both CRTC1 and CRTC2, although only the CRTC used as primary will be enabled (for now);
- Modified hardware 3D rendering colorspace setting for 32bit depth: this gives us upto some 11% gain on accelerated 3D rendering speed using the 3D accelerant;
-
- Added new nv.setting called 'force_sync': this option (if enabled) forces accelerated 3D rendering to be synchronized to the screen's vertical retrace (refreshrate). This option is disabled by default.
+
- Added new nv.setting called 'force_sync': this option (if enabled) forces accelerated 3D rendering to be synchronized to the screen's vertical retrace (refreshrate). This option is disabled by default;
+
- Added new nv.setting called 'gpu_clk': this TWEAK! option (if enabled) forces the requested GPU clockspeed, as long as it's within certain sanity limits. This option might be handy for 3D application developers for determining bottlenecks (via underclocking), and it might be handy for hardcore gamers to overclock their graphics card. Be carefull with overclocking though: it might DESTROY your computer!!
+
- Added new nv.setting called 'ram_clk': this TWEAK! option (if enabled) forces the requested card-memory clockspeed, as long as it's within certain sanity limits. This option might be handy for 3D application developers for determining bottlenecks (via underclocking), and it might be handy for hardcore gamers to overclock their graphics card. Be carefull with overclocking though: it might DESTROY your computer!!
nv_driver 0.67 (Rudolf)
diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/driver.c b/src/add-ons/kernel/drivers/graphics/nvidia/driver.c
index ecd9634838..86a785bfc6 100644
--- a/src/add-ons/kernel/drivers/graphics/nvidia/driver.c
+++ b/src/add-ons/kernel/drivers/graphics/nvidia/driver.c
@@ -4,7 +4,7 @@
Other authors:
Mark Watson;
- Rudolf Cornelissen 3/2002-2/2006.
+ Rudolf Cornelissen 3/2002-3/2006.
*/
/* standard kernel driver stuff */
@@ -369,6 +369,8 @@ static nv_settings current_settings = { // see comments in nv.settings
true, // dma_acc
false, // vga_on_tv
false, // force_sync
+ 0, // gpu_clk
+ 0, // ram_clk
};
static void dumprom (void *rom, uint32 size, pci_info pcii)
@@ -571,6 +573,14 @@ init_driver(void) {
current_settings.vga_on_tv = get_driver_boolean_parameter (settings_handle, "vga_on_tv", false, false);
current_settings.force_sync = get_driver_boolean_parameter (settings_handle, "force_sync", false, false);
+ item = get_driver_parameter (settings_handle, "gpu_clk", "0", "0");
+ value = strtoul (item, &end, 0);
+ if (*end == '\0') current_settings.gpu_clk = value;
+
+ item = get_driver_parameter (settings_handle, "ram_clk", "0", "0");
+ value = strtoul (item, &end, 0);
+ if (*end == '\0') current_settings.ram_clk = value;
+
unload_driver_settings (settings_handle);
}
diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/nv.settings b/src/add-ons/kernel/drivers/graphics/nvidia/nv.settings
index ef595f839f..34242e86e7 100644
--- a/src/add-ons/kernel/drivers/graphics/nvidia/nv.settings
+++ b/src/add-ons/kernel/drivers/graphics/nvidia/nv.settings
@@ -26,6 +26,8 @@ force_sync false # if true forces 3D rendering to be synchronized to the verti
unhide_fw false # if true 'unhide' cards AGP fastwrite support on cards that hide it
pgm_panel true # if false don't program DVI and laptop panel pixelclocks (refreshrates)
vga_on_tv false # if true enables VGA output on the head outputting to TV
+#gpu_clk 150 # in Mhz, (tries to) override default GPU clockspeed (be carefull!!!)
+#ram_clk 150 # in Mhz, (tries to) override default cardRAM clockspeed (be carefull!!!)
#--------- that's all.