Dear forum visitors, Almost 9 years past since the day when I realized that I'm not satisfied with the possibilities of my Riva 128 driver's control panel. RivaTuner was the first name that came into my mind that day together with the idea of writing a tool of my dream. This way RivaTuner, my primary hobby of the past years, was born. I lived completely offline that time and was not even thinking about making it public, so the utility resided just on my home PC during almost two years. But one day magic word "Internet" came into my life, drastically changed my lifestyle and gave me the ability of exchanging experience with the same enthusiasts like me. During discussing graphics hardware in one of the forums I suddenly mentioned some of the tweaks I did with my own tool, and I was surprised to see that these things are completely new for the people there. So I decided to share my hobby and results of my findings with the community and started writing special public version of tool, which was called RivaTuner v2.0. I've sent the first beta version of the tool to a few graphics hardware related websites where it was published and soon have been contacted by Hilbert Hagedoorn of the Guru of 3D and gladly accepted his kind offer to make this place official RivaTuner's homepage. A few days later we announced it for you here at the Guru of 3D. So the second public part of RivaTuner's life started. During subsequent 7 years the utility was publicly updated more than 40 times, more than 200 private builds were tested by approximately 70 beta-testers. More than 10 helper tools were designed and developed special to assist RivaTuner development, total size of source code backups and reverse engineered code overcame 20 gigabytes. But all these numbers are in the past now, RivaTuner development cycle came to the end and we're glad to present you the final release of RivaTuner v2.0. In the end of this long way I'd like to thank everybody who ever contributed this project development anywise. Thanks goes to beta testers team for trying to make public releases as trouble free as it is possible. You perfectly did your job, guys, and I thank your for that. Thanks goes to Hilbert Hagedoorn for hosting RivaTuner here and providing RivaTuner's discussion forums. Thanks goes to Andrew Worobiew, Hilbert Hagedoorn, Patrick Kan and people from NVIDIA, ATI, HIS, Sapphire and Forsa for assisting project development, giving the feedback and providing hardware for testing and development. Without you I won't ever be able to support so many different display adapters. Big thanks goes to great professionals and authors of many competing hardware tuning related products, which I met during these years: Johannes Tuemler / GTU, Ashley Saldanha / PowerStrip, Arne Seifert / aTuner, Tamas Miklos / Everest, W1zzard / ATITool, Eugene Azarov / RaBiT and many others. It was the real honor to cooperate with you, guys, and I enjoyed it. Thanks to my wife Olga for allowing me to have such a nice hobby and tolerating my "just a second, honey, I'll just finish examining new GPU" during so many years. And of course my greatest thanks goes to you, thousands of RivaTuner fans I met every day during supporting the project in www.guru3d.com, www.nvnews.net, www.rage3d.com, www.beyond3d.com, www.ixbt.com, www.overclockers.ru, www.nvworld.ru, www.radeon.ru and many other forums. Thank your for your suggestions, for your feedback, for your kind words, for your moral support and the most important for your wish to learn something new. One of the tasks I put in front of myself during developing RivaTuner was getting over my own knowledge limits with each new release, finding something undocumented inside hardware and drivers, sharing it with you and teaching you to do the same yourself. And seeing like many of you were able to progress from rookies to experienced users with much deeper understanding of graphics hardware and software internals, I'm just happy and feel that I've not wasted these years. Talking about the future of project and answering your "How final is final?" question, I cannot give you any promises right now. Currently I'm going to have a good rest, take a break and quit the development and support forums for a few months. Anyway, I hope that one day we'll meet again. Thank you for paying your attention to the utility during all these years, RivaTuner simply won't be able to exist so long without your interest to the project and without your trust in it. I hope you enjoyed using it as much as I enjoyed creating it. I wish you Merry Christmas, happy New Year and good luck in the contest! Version 2.0 Final Release: Minor bugfixes: - Removed obsolete warning message, offering user to enable alternate startup daemon mode when applying custom LowPower 3D clock frequencies at Windows startup. New alternate daemon usage approach is no longer compatible with switching alternate startup mode on the fly, so now LowPower 3D clock controls are simply blocked when alternate startup daemon mode is disabled. - Minor UI and localization fixes. What's new: - Added ForceWare 97.28 and 97.44 drivers support. - Updated databases for Detonator and ForceWare drivers. Added databases for ForceWare 93.28 and 97.44 drivers. - Added ForceWare 97.44 compatible gamma corrected antialiasing control. - Added Catalyst 6.12 drivers detection. - Updated Catalyst 6.12 certified SoftR9x00 patch scripts. - Updated PCI DeviceID database for NVIDIA graphics processors. - Added workaround for G80 memory clock frequency generation bug of the ForceWare 97.28 and newer drivers. Unfortunately a lot of gamers with GeForce 8800 graphics adapters seem to be unable to understand the principles of multiple hardware clocking and aggressively react on any attempts to explain it. Due to that reason now by default RivaTuner displays memory clock of the only memory clock frequency generator programmed by all versions of the ForceWare drivers. The clocks of the rest two generators, which are erroneously left by the driver in BIOS default 400MHz state, are now hidden from eyes of beginners. The power users still can monitor independent clocks of all 3 memory clock frequency generators on G80 via GPUProbe.dll plugin. And the gamers unable to get technical details may relax and continue "fellas, my new 8800 is so cool" related discussions in the forums. - Previously available experimental driver-level overclocking workaround is now enabled by default on RV560 and RV570 based display adapters. Power users may disable it with EnableDriverLevelClockControl registry entry. - Hardware monitoring module's screenshot watermark image is now stored into .\Graphics\Watermark instead of .\Watermark folder. - Updated RivaTunerStatisticsServer v2.2.0 bundled utility: - Added new pseudo 3D applications to the profiles list. - Added RivaTuner styled startup links checking, aimed to prevent conflicts between multiple simultaneously installed versions of the server. Now the server checks the startup registry link and offers you to correct it, it if is referring to other folder. - Added workaround for 3D applications, wasting CPU time into erroneous page flip calls (e.g. Company of Heroes during movies rendering). Now the server checks flip call status and throws failed page flip calls from the statistics to avoid registering abnormally high framerate in such applications. Improved hardware monitoring plugin API. Now the plugins can directly access NVIDIA driver resource manager's internal configuration and extended configuration data. - Improved hardware monitoring module: - The list of active hardware monitoring plugins is stored in the registry instead of the configuration file. This allows avoiding reenabling the plugins when reinstalling RivaTuner while keeping the previous version's settings. - Previously available experimental OSD and tray tooltip values grouping modes are now enabled by default. Power users may disable these modes with EnableOSDGroups and EnableTooltipGroups registry entries. - The font used to display hardware monitoring statistics in system tray icon is no longer fixed and can be customized by user. By default RivaTuner uses intelligent font size selection algorithm and automatically chooses the best font for currently selected display mode (large 7x9 pixels raster font for 1600x... and greater display modes, medium 7x7 pixels raster font for 1280x... and greater display modes and previously used small 5x7 pixels raster font for display modes below 1280x...). However, power users may redefine this behavior and select desired font manually by editing TrayFont registry entry. Furthermore, all the fonts are stored in .\Graphics\Tray folder as bitmap files so you can easily create your own font if necessary and force RivaTuner to use it with TrayFont registry entry. - Improved tray icon text fitting algorithm. Now RivaTuner is able to display negative values in tray icon and uses more accurate algorithm when trying to fit too large values in the icon and displays as many significant digits as possible. - Added barchart mode for values displayed it system tray icon. Now RivaTuner may optionally display either text values or barcharts in tray icon. Barchart mode is useful for the graphs, reflecting CPU usage, memory usage, etc. - Now "Show ... in tray icon tooltip" option affects both primary and data source icon's tooltips. Displaying text value in the data source icon's tooltip is useful in conjunction with newly introduced barchart mode. - Improved hardware monitoring plugins: - Improved GPUProbe.dll plugin. Now besides GPIO pin reading for NV1X - NV4X GPU families the plugin also provides MPLL0 - MPLL2 clock reading for G80 GPU family. Power users may use it for monitoring clocks of all G80 memory clock domains. - Added NVHwAccel.dll plugin. The plugin demonstrates developers usage of newly introduces functions for accessing NVIDIA driver resource manager's configuration and extended configuration data. The plugin accesses NV_CFGEX_PERF_MODE extended configuration data and provides hardware monitoring module "Hardware acceleration" graph, showing if any application using NVIDIA driver's hardware acceleration is currently running. Power users may define the thresholds on this graph for simple 3D application events start / stop detection, e.g. when defining a threshold for separating 2D/3D fan speeds on the cards with temperature based fan controller. - Improved low-level graphics subsystem diagnostics module: - Added boot core clocks and memory clock for G80 VGA BIOS images to "NVIDIA VGA BIOS Information" diagnostic report category. - Improved multilanguage engine debugging features for third party localization pack creators: - Added localization pack comparison mode. Now third party localization pack creators can use RivaTuner's /CL or /COMPARELOCALIZATION command line switches to generate LocalizationDifferences.log, containing the list of differences between currently selected localization pack and specified one. The list of differences allows you to see which localized files or translation database entries have to be added to or removed from your localization pack when updating it for new version of RivaTuner. Please refer to "Updating localization pack" chapter of RivaTuner SDK documentation to get more detailed information. - Special New Year present for all RivaTuner users. Direct3D triple buffering forcing feature, one of the most deeply hidden and most wanted Easter Eggs, is now unlocked and available for everybody! Deepest respect and personal thanks goes to Demirug, the developer of DXTweaker project and author of original Direct3D triple buffering concepts, for allowing it to happen. Now RivaTuner's distributive includes bundled DXTweaker concepts based D3DOverrider v1.3 tool, providing the following feature set: - Simple, effective and beginner friendly user interface. Just start the utility and it will automatically force Direct3D triple buffering in all subsequently started applications. The utility is not limited to any OS or any graphics hardware, so it can be used for forcing triple buffering on the NVIDIA as well as on ATI graphics cards. - RivaTunerStatisticsServer styled global and application specific profiles. You may globally enable or disable triple buffering forcing as well as do it for desired executable files only. - Sound indication feature. D3DOverrider uses standard OS defined success and failure beeps on each back buffer count override event, allowing you to control triple buffering forcing status really easy. - Triple buffering forcing support for fullscreen DirectDraw and DirectDraw derived Direct3D applications (DirectX7 and older). - Triple buffering forcing support for windowed and fullscreen Direct3D8 applications. - Triple buffering forcing support for windowed and fullscreen Direct3D9 applications. Please take a note that D3DOverider is also included in encrypted format in the previous versions of RivaTuner, so if you're not willing to upgrade RivaTuner to a final release due to some reason, you can extract D3DOverrider from the previous versions by adding the following key to the registry then typing "RivaTuner.exe /E D3DOverrider" in the command line: REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Unwinder\RivaTuner\EasterEggs] "86547637"=dword:72395256 Greatest thanks and the best wishes goes to all RivaTuner users, privately testing and using D3DOverrider tool during the last few years and honestly keeping their promises on not leaking it or not disclosing a key for unlocking it. I really appreciate it and deeply thank you for that. - Added new Easter Eggs. - FAQ updated. - Minor UI changes and improvements.