Guru3D.com Forums

Go Back   Guru3D.com Forums > Affiliates > RivaTuner Advanced Discussion forum
RivaTuner Advanced Discussion forum This forum is intended for advanced comments, ideas and general discussion of the RivaTuner Utility which is hosted here at the Guru of 3D. This forum is visited by programmer himself - you can only post in this area with a minimum of 10 posts and 7 days forum membership.


Reply
 
Thread Tools Display Modes
Temperature CPU in OSD
Old
  (#1)
790
Newbie
 
790's Avatar
 
Videocard: ASUS GTX460 1Gb
Processor: Intel C2D E8500
Mainboard: ASUS Maximus II Formula
Memory: DDR2 1066MHz 2Gb
Soundcard: Creative Live! 5.1 Extern
PSU: Zalman 500w
Default Temperature CPU in OSD - 12-21-2006, 16:24 | posts: 38

I wish to see temperature of CPU in OSD. Monitoring plugin for it.
I read samples in SDK folder. I read FAQ and SDK.chm.
I don`t undestand how I can create plugin for it. My experience is not enough for it

CPU: Intel P4 3.0 GHz (531)
MB: ASUS P5GDC Pro , Sensor: Winbond W83627EHF/EHG (ISA 290h) - info from Everest UE
BIOS 1008
   
Reply With Quote
 
Old
  (#2)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 12-21-2006, 20:02 | posts: 10,312 | Location: Taganrog, Russia

If you have any K8 CPU - you can do it. But there are no plugins for Intel CPUs currently available, sorry. So you're out of luck.


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#3)
790
Newbie
 
790's Avatar
 
Videocard: ASUS GTX460 1Gb
Processor: Intel C2D E8500
Mainboard: ASUS Maximus II Formula
Memory: DDR2 1066MHz 2Gb
Soundcard: Creative Live! 5.1 Extern
PSU: Zalman 500w
Default 12-25-2006, 20:48 | posts: 38

About AMD: I think, you talk about NVSU.dll (?) But my friend has Athlon 64 X2 and MB Asus M2N-E (nForce 570 Ultra) and NVSU.dll don`t work, no monitoring. Maybe, I don`t understand what is NVIDIA System Utility SMI ? Need special driver or Asus (as always ) created own individual monitoring system and sensors?

I understand, you cannot create plugin for ever sensor , but how Everest working for all?

My congratulations with Final Riva !
   
Reply With Quote
Old
  (#4)
boogieman
Maha Guru
 
boogieman's Avatar
 
Videocard: EVGA GTX 680
Processor: i72600K @ 4.5
Mainboard: Asus P8P67 Deluxe
Memory: 2 x 4 G Skill
Soundcard: X-Fi Extremegamer
PSU: BFG Tech EX-1200
Default 12-26-2006, 00:10 | posts: 1,560 | Location: Pa

NV plugins are for Nvidia mobo's. You would have to know programming with the SDK in order to make one for other mobo's.
   
Reply With Quote
 
Old
  (#5)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 12-26-2006, 06:48 | posts: 10,312 | Location: Taganrog, Russia

Quote:
Originally Posted by 790 View Post
About AMD: I think, you talk about NVSU.dll (?) But my friend has Athlon 64 X2 and MB Asus M2N-E (nForce 570 Ultra) and NVSU.dll don`t work, no monitoring. Maybe, I don`t understand what is NVIDIA System Utility SMI ? Need special driver or Asus (as always ) created own individual monitoring system and sensors?
Nope, you're misunderstanding everything.

http://topmods.net/OMC/CpuCoreDiode.zip


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#6)
kimmy
Newbie
 
Videocard: eVGA 7600GT 256mb PCI-E
Processor: Athlon 64 Venice 3800+
Mainboard: Asrock 939Dual-Sata 2
Memory: 1Gb
Soundcard: Auzentech X-plosion 7.1
PSU: Enermax
Default 02-17-2007, 18:45 | posts: 9

Quote:
Originally Posted by Unwinder View Post
Out of curiousity, is this CPU Core Diode the same method that this "CoreTemp" program is using?

http://www.thecoolest.zerobrains.com/CoreTemp/
Quote:
Intel and AMD recently published detailed, public information about the "DTS" (Digital Thermal Sensor), which provides much higher accuracy and more relevant temperature reading than the standard thermal diode sensors do. (How it works).
Using a value that the CPU keeps internally sounds very accurate and efficient compared to polling a Winbond chip for thermometer readings.

-k
   
Reply With Quote
Old
  (#7)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default 12-26-2006, 19:13 | posts: 60 | Location: Belgrade

Is there any skeleton source code for CPU temperature monitoring? I would like to implement monitoring for Core 2 Duo CPU termal diodes.
   
Reply With Quote
Old
  (#8)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 12-26-2006, 19:18 | posts: 10,312 | Location: Taganrog, Russia

K8 CpuCoreDiode plugin is written by third party developer and unfortunately there no public sources for it. However, RivaTuner's SDK contains sources of all the plugins included in the distributive. You can use any of them as a base for your plugin. For example, you may use CPU plugin, which performs CPU frequency and usage monitoring.


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#9)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default 12-27-2006, 01:42 | posts: 60 | Location: Belgrade

I know that, I just wanted a simpler sample of I2C part. Never mind, will try to figure it out on my own.
   
Reply With Quote
Old
  (#10)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default 12-27-2006, 02:32 | posts: 60 | Location: Belgrade

Unwinder, how do I access MSR registers? Does RivaTuner export any APIs for that purpose? RDMSR can be executed only in kernel mode.
   
Reply With Quote
 
Old
  (#11)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 12-27-2006, 07:13 | posts: 10,312 | Location: Taganrog, Russia

Quote:
Originally Posted by levicki View Post
Unwinder, how do I access MSR registers? Does RivaTuner export any APIs for that purpose? RDMSR can be executed only in kernel mode.
.\SDK\Include\RivaTunerExports.h


/////////////////////////////////////////////////////////////////////////////
//
// This header file defines functions exported by RivaTuner.exe
//
/////////////////////////////////////////////////////////////////////////////

#ifndef _RIVATUNER_EXPORTS_INCLUDED_
#define _RIVATUNER_EXPORTS_INCLUDED_

#ifdef RIVATUNER_EXPORTS
#define RIVATUNER_API extern "C" __declspec(dllexport)
#else
#define RIVATUNER_API extern "C" __declspec(dllimport)
#endif

/////////////////////////////////////////////////////////////////////////////
//
// host application IDs
//
/////////////////////////////////////////////////////////////////////////////

#define RIVATUNER_HOST_APP 0x00000000
#define MONITORINGHOSTSAMPLE_HOST_APP 0x00000001

/////////////////////////////////////////////////////////////////////////////
//
// exported function names
//
/////////////////////////////////////////////////////////////////////////////

//R/O access to host application ID/version

typedef DWORD (*GET_HOST_APP_ID_PROC )();
//DWORD GetHostAppID()
typedef DWORD (*GET_HOST_APP_VERSION_PROC )();
//DWORD GetHostAppVersion()

//R/O access to current display device identification

typedef LPCSTR (*GET_DEVICE_NAME_PROC )();
//LPCSTR GetDeviceName()
typedef LPCSTR (*GET_DEVICE_ID_PROC )();
//LPCSTR GetDeviceID()

//R/W access to IO ports

typedef int (*INP_PROC )(unsigned short);
//int inp(unsigned short port)
typedef unsigned short (*INPW_PROC )(unsigned short);
//unsigned short inpw(unsigned short port)
typedef unsigned long (*INPD_PROC )(unsigned short);
//unsigned long inpd(unsigned short port)

typedef int (*OUTP_PROC )(unsigned short, int );
//int outp(unsigned short port, int data)
typedef unsigned short (*OUTPW_PROC)(unsigned short, unsigned short);
//unsigned short outpw(unsigned short port, unsigned short data)
typedef unsigned long (*OUTPD_PROC)(unsigned short, unsigned long );
//unsigned long outpd(unsigned short port, unsigned long data)

//R/W access to PCI bus configuration registers

typedef DWORD (*READ_BUS_DATA_ULONG_PROC )(DWORD, DWORD, DWORD);
//DWORD ReadBusDataUlong(DWORD bus, DWORD devfn, DWORD offset)
typedef WORD (*READ_BUS_DATA_USHORT_PROC )(DWORD, DWORD, DWORD);
//WORD ReadBusDataUshort(DWORD bus, DWORD devfn, DWORD offset)
typedef BYTE (*READ_BUS_DATA_UCHAR_PROC )(DWORD, DWORD, DWORD);
//BYTE ReadBusDataUchar(DWORD bus, DWORD devfn, DWORD offset)

typedef void (*WRITE_BUS_DATA_ULONG_PROC )(DWORD, DWORD, DWORD, DWORD);
//void WriteBusDataUlong(DWORD bus, DWORD devfn, DWORD offset, DWORD data)
typedef void (*WRITE_BUS_DATA_USHORT_PROC )(DWORD, DWORD, DWORD, WORD );
//void WriteBusDataUshort(DWORD bus, DWORD devfn, DWORD offset, WORD data)
typedef void (*WRITE_BUS_DATA_UCHAR_PROC )(DWORD, DWORD, DWORD, BYTE );
//void WriteBusDataUchar(DWORD bus, DWORD devfn, DWORD offset, BYTE data)


//R/W access to MSR

typedef BOOL (*READ_MSR_PROC )(DWORD, LPDWORD, LPDWORD);
//BOOL ReadMSR(DWORD dwIndex, LPDWORD lpHigh, LPDWORD lpLow)
typedef BOOL (*WRITE_MSR_PROC)(DWORD, DWORD, DWORD);
//BOOL WriteMSR(DWORD dwIndex, DWORD dwHigh, DWORD dwLow)


//R/W access to current display device GPU registers

typedef DWORD (*READ_REGISTER_ULONG_PROC )(DWORD);
//DWORD ReadRegisterUlong(DWORD address)
typedef WORD (*READ_REGISTER_USHORT_PROC )(DWORD);
//WORD ReadRegisterUshort(DWORD address)
typedef BYTE (*READ_REGISTER_UCHAR_PROC )(DWORD);
//BYTE ReadRegisterUchar(DWORD address)

typedef void (*WRITE_REGISTER_ULONG_PROC )(DWORD, DWORD );
//void WriteRegisterUlong(DWORD address, DWORD data)
typedef void (*WRITE_REGISTER_USHORT_PROC)(DWORD, WORD );
//void WriteRegisterUshort(DWORD address, WORD data)
typedef void (*WRITE_REGISTER_UCHAR_PROC )(DWORD, BYTE );
//void WriteRegisterUchar(DWORD address, BYTE data)

//R/O access to current display device VGA BIOS

typedef BOOL (*ENABLE_READ_BIOS_PROC )(BOOL );
//BYTE EnableReadBIOS(BOOL bEnable)
typedef BYTE (*READ_BIOS_PROC )(DWORD);
//BYTE ReadBIOS(DWORD address)

//R/W access to current display device I2C buses

typedef BYTE (*GET_I2C_BUS_NUM_PROC )();
//BYTE GetI2CBusNum()
typedef BOOL (*READ_I2C_PROC )(BYTE,BYTE,BYTE,LPBYTE);
//BOOL ReadI2C(BYTE bus, BYTE dev, BYTE off, LPBYTE lpData)
typedef BOOL (*WRITE_I2C_PROC )(BYTE,BYTE,BYTE,LPBYTE);
//BOOL WriteI2C(BYTE bus, BYTE dev, BYTE off, LPBYTE lpData)

//R/O access to current NVIDIA display device driver resource manager

typedef BOOL (*NVRM_GET_CFG_PROC )(DWORD,LPDWORD);
//BOOL NvRmGetCfg(DWORD dwIndex, LPDWORD lpData)
typedef BOOL (*NVRM_GET_CFG_EX_PROC )(DWORD,LPBYTE,DWORD);
//BOOL NvRmGetCfgEx(DWORD dwIndex, LPBYTE lpData, DWORD dwSize)

//localization

typedef void (*LOCALIZEWND_PROC )(HWND);
//void LocalizeWnd(HWND hWnd)
typedef LPCSTR (*LOCALIZESTR_PROC )(LPCSTR);
//LPCSTR LocalizeStr(LPCSTR lpStr)

#endif


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#12)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default 12-27-2006, 15:20 | posts: 60 | Location: Belgrade

I should have looked there, thanks. I have a working plugin, but I still have to figure out a few things, namely Tjunction temperature (depends on CPU model). Then I will release it.

Unwinder, what would be more proper in your opinion?

1. To detect CPU features in DllMain and abort plugin loading by returning FALSE
2. To detect CPU features in GetSourceDesc() and return FALSE

?

Last edited by levicki; 12-27-2006 at 15:42.
   
Reply With Quote
Old
  (#13)
790
Newbie
 
790's Avatar
 
Videocard: ASUS GTX460 1Gb
Processor: Intel C2D E8500
Mainboard: ASUS Maximus II Formula
Memory: DDR2 1066MHz 2Gb
Soundcard: Creative Live! 5.1 Extern
PSU: Zalman 500w
Default 12-27-2006, 21:50 | posts: 38

@levicki, make plugin for my Intel Pentium 4 530 3.0 GHz thermal diode
   
Reply With Quote
C2DTemp
Old
  (#14)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default C2DTemp - 12-27-2006, 22:58 | posts: 60 | Location: Belgrade

Quote:
Originally Posted by 790 View Post
@levicki, make plugin for my Intel Pentium 4 530 3.0 GHz thermal diode
Sorry to disappoint you but as far as I know that is not possible. Older CPU's diodes are read using Super I/O chip register and there is a myriad of them available with each having different reading procedure.

I literally hacked a quick temperature monitoring plugin for Core 2 Duo (and hopefully Core 2 Quad too). It may even work with Yonah and Core Solo.

There may be bugs so be carefull and above all, do not try to use it on older CPUs because reading model specific registers which do not exist on your particular CPU can crash your computer and cause you to lose data.

Last edited by levicki; 12-31-2006 at 03:33. Reason: Removed link, download from Guru3D
   
Reply With Quote
Old
  (#15)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 12-28-2006, 07:10 | posts: 10,312 | Location: Taganrog, Russia

Quote:
Originally Posted by levicki View Post
Sorry to disappoint you but as far as I know that is not possible. Older CPU's diodes are read using Super I/O chip register and there is a myriad of them available with each having different reading procedure.

I literally hacked a quick temperature monitoring plugin for Core 2 Duo (and hopefully Core 2 Quad too). It may even work with Yonah and Core Solo.

There may be bugs so be carefull and above all, do not try to use it on older CPUs because reading model specific registers which do not exist on your particular CPU can crash your computer and cause you to lose data.
Good job. We'll wait for some feedback from C2D owners then put it in guru3d downloads.


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#16)
Unwinder
Moderator
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 12-27-2006, 19:22 | posts: 10,312 | Location: Taganrog, Russia

Both ways are valid but the second one looks more correct for me, because the rest plugins use such logic.


Alexey Nicolaychuk aka Unwinder, RivaTuner creator
   
Reply With Quote
Old
  (#17)
790
Newbie
 
790's Avatar
 
Videocard: ASUS GTX460 1Gb
Processor: Intel C2D E8500
Mainboard: ASUS Maximus II Formula
Memory: DDR2 1066MHz 2Gb
Soundcard: Creative Live! 5.1 Extern
PSU: Zalman 500w
Default 12-28-2006, 17:16 | posts: 38

I tried to use for mine too. Does not work. (
   
Reply With Quote
Old
  (#18)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default 12-28-2006, 18:56 | posts: 60 | Location: Belgrade

Quote:
Originally Posted by 790 View Post
I tried to use for mine too. Does not work. (
Haven't I told you that it won't work?

Quote:
Originally Posted by levicki
above all, do not try to use it on older CPUs because reading model specific registers which do not exist on your particular CPU can crash your computer and cause you to lose data.
   
Reply With Quote
How to install C2DTemp plugin
Old
  (#19)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default How to install C2DTemp plugin - 12-29-2006, 09:08 | posts: 60 | Location: Belgrade

Download C2DTemp plugin.

Here are the instructions on how to install C2DTemp plugin:

1. Double-click on C2DTemp.rtu in Windows Explorer and click Ok on the following dialog



2. Start RivaTuner



3. On the Main tab click on the first Customize... button and then on the fifth icon from the popup menu (Hardware Monitoring)



4. Click on the Setup button in the lower right corner



5. Click on the Plugins button in the lower left corner



6. Place a checkmark next to the C2DTemp.dll and click Ok



7. Place a checkmark next to the newly available data sources and click Ok



8. That's it. Now your hardware monitor should look something like this:



I am waiting for your feedback.

Last edited by levicki; 12-31-2006 at 03:34.
   
Reply With Quote
Old
  (#20)
Captn
Master Guru
 
Captn's Avatar
 
Videocard: EVGA 8800GTS(G92)512 x2 S
Processor: Core 2 E8400 @ 3.6Ghz
Mainboard: EVGA 780i
Memory: 8gigs Corsair XMS 800Mhz
Soundcard: Audigy 2 ZS
PSU: Seasonic M-12 700w
Question 09-18-2007, 16:12 | posts: 154

Quote:
Originally Posted by levicki View Post
Download C2DTemp plugin.

Here are the instructions on how to install C2DTemp plugin:

1. Double-click on C2DTemp.rtu in Windows Explorer and click Ok on the following dialog



2. Start RivaTuner



3. On the Main tab click on the first Customize... button and then on the fifth icon from the popup menu (Hardware Monitoring)



4. Click on the Setup button in the lower right corner



5. Click on the Plugins button in the lower left corner



6. Place a checkmark next to the C2DTemp.dll and click Ok



7. Place a checkmark next to the newly available data sources and click Ok



8. That's it. Now your hardware monitor should look something like this:



I am waiting for your feedback.

I followed your instructions exactly, and for some reason I can't get it to install in RivaTuner 2.04 in Vista 64bit. Does this plugin work with RT 2.04 ?
   
Reply With Quote
Old
  (#21)
Hilbert Hagedoorn
Don Vito Corleone
 
Hilbert Hagedoorn's Avatar
 
Videocard: AMD | NVIDIA
Processor: Core i7 2600K
Mainboard: P67
Memory: 8GB
Soundcard: X-Fi - GigaWorks 7.1
PSU: 1200 Watt
Default 12-31-2006, 08:16 | posts: 16,923 | Location: Guru3D testlab

It's working like a charm Igor. Nice plugin.


Follow Guru3D on twitter.
Follow Guru3D on facebook.
   
Reply With Quote
Old
  (#22)
levicki
Member Guru
 
levicki's Avatar
 
Videocard: Gigabyte GTX 470
Processor: Intel Core i7-920
Mainboard: Intel DX58SO
Memory: Apacer 6GB DDR3/1333
Soundcard: Creative X-Fi TitaniumPro
PSU: Chieftec APS-650C
Default 12-31-2006, 16:28 | posts: 60 | Location: Belgrade

Quote:
Originally Posted by Hilbert Hagedoorn View Post
It's working like a charm Igor. Nice plugin.
Glad to hear that.

Now if anyone could test it with Quad Core...
   
Reply With Quote
Old
  (#23)
boogieman
Maha Guru
 
boogieman's Avatar
 
Videocard: EVGA GTX 680
Processor: i72600K @ 4.5
Mainboard: Asus P8P67 Deluxe
Memory: 2 x 4 G Skill
Soundcard: X-Fi Extremegamer
PSU: BFG Tech EX-1200
Default 12-31-2006, 23:48 | posts: 1,560 | Location: Pa

Very nice. I'll put this in my pocket until needed.
Thanks
   
Reply With Quote
Old
  (#24)
Paul Mathews
Newbie
 
Videocard:
Processor:
Mainboard:
Memory:
Soundcard:
PSU:
Default 01-01-2007, 17:10 | posts: 4

Quote:
Originally Posted by boogieman View Post
Very nice. I'll put this in my pocket until needed.
Thanks
Coool now to test it if RivaTuner will let me
   
Reply With Quote
Old
  (#25)
RossCorp
Maha Guru
 
Videocard: MSI GTX570 SLI
Processor: 2600k @ 4.5ghz
Mainboard: Asus P8P67-Deluxe
Memory: G.Skill 2x4GB 1600 7-8-7
Soundcard: SB Audigy 2 ZS
PSU: Silverstone Decathlon 850
Default 01-01-2007, 23:38 | posts: 874

Thanks for the CORE2 plugin!!! I've been looking for an app that would graph my cpu temps! RivaTuner kicksarse
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com
Copyright (c) 1995-2012, All Rights Reserved. The Guru of 3D, the Hardware Guru, and 3D Guru are trademarks owned by Hilbert Hagedoorn.