Help - Search - Members - Calendar
Full Version: Nvclock Darwin Port + Mapmemory Driver + Source
Project OS X Forums > Snow Leopard Guides & Tutorials > Tools
Pages: 1, 2
alphamerik
nvclock 0.8b5_7 (experimental) adds many new device ids and internal temperature reading fixes.
Nvclock and mapMemory binaries: Click to view attachment nvclock source: Click to view attachment
Added these devices: http://pastebin.com/ZR5RHRxU
If no i2c devices are found G92 and GT200 chips try Asus internal temp method, then G84 method, then NV50 method with correction bitshift by 2.
Attempt NV40 i2c bus unlock method on all chips.

If your card is reported as "Unknown Nvidia card" or contains "[?]" please post your device-id and card name.
If your card uses "NV50 GPU Internal Sensor" please report if your correction is too high.
If possible please report if 'sensors-detect' can find your nVidia i2c chipset from Linux if any "Internal Sensor" is used.
Also i2c may show attached to display in IOReg (as IOFramebufferI2CInterface), please report this presence if "Internal Sensor" is used.

Make sure to use the '-f' flag if your device is not recognized.

nvclock 0.8b5_6 (stable) fixes memory size and PRAMIN (BIOS info) reading!
Nvclock and mapMemory binaries: Click to view attachment nvclock source: Click to view attachment
mapMemoryDriver_0.2 adds more advanced options for dumping from client.
mapMemory driver source: Click to view attachment
LOADING
Load as normal kext, mapMemoryDriverClient will verify the driver is loaded.
CODE
alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ sudo chown -R 0:0 mapMemoryDriver.kext/

alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ sudo kextload mapMemoryDriver.kext/
kextload: mapMemoryDriver.kext/ loaded successfully

alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ ./mapMemoryDriverClient
1 : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci-bridge@1/IOPCI2PCIBridge/display@0


USING NVCLOCK
nvclock must be run with root privilege by default.
Gtk and qt3 variants build and run, but not all options may be available (ie nvcontrol extension).
CODE
alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ ./nvclock -f -i
Error: Unable to connect with driver! (are you root?)

alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ sudo ./nvclock -f -i
-- General info --
Card:           Unknown Nvidia card
Architecture:   G92 A2
PCI id:         0x0611
Subvendor id:   0x3842
GPU clock:      601.712 MHz
Bustype:        PCI-Express

-- Shader info --
Clock: 1512.000 MHz
Stream units: 112 (01111111b)
ROP units: 16 (1111b)
-- Memory info --
Amount:         512 MB
Type:           256 bit DDR3
Clock:          899.996 MHz

-- PCI-Express info --
Current Rate:   16X
Maximum rate:   16X

-- Sensor info --
Sensor: NV50 GPU Internal Sensor (correction=32)
GPU temperature: 66C

-- VideoBios information --
Version: 62.92.24.00.27
Signon message: GeForce 8800 GT VGA BIOS
Performance level 0: gpu 600MHz/shader 1512MHz/memory 900MHz/0.00V/100%
VID mask: 3
Voltage level 0: 0.95V, VID: 0
Voltage level 1: 1.00V, VID: 1
Voltage level 2: 1.05V, VID: 2
Voltage level 3: 1.10V, VID: 3


alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ sudo ./smartdimmer  -g
Error!
Smartdimmer is only supported on certain (HP/SamsungSony/Zepto) laptops using a Geforce 6200/7x00Go/8x00Go. If you want support on your laptop contact the author.


ADVANCED MAPMEMORY OPTIONS
The mapMemory driver requires that requests be done by the root user, if you are sure you want to expose the mapMemory driver to any user you can edit the Info.plist "RequireRoot" property.
Modifying the "IONameMatch" property will allow the driver to attach with other devices.
mapMemoryDriverClient has advanced options like dumping memory, THIS MAY CAUSE YOUR COMPUTER TO FREEZE. You have been warned. wink.gif
CODE
alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ ./mapMemoryDriverClient
1 : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEX1@1C,1/IOPCI2PCIBridge/ethernet@0
2 : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/USBE@1D,7
3 : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IDE1@1F,2
4 : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/AZAL@1B
5 : IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci-bridge@1/IOPCI2PCIBridge/display@0

alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ ./mapMemoryDriverClient -?

Usage: ./mapMemoryDriverClient [-S] [-d] [-n num] [-o offset] [-s max_size] [-p payload_size]

  [ -S ]              Print to screen
  [ -d ]              Dump to file
  [ -n num ]          Driver number
  [ -o offset ]       Start offset
  [ -s max_size ]     Max output length
  [ -p payload_size ] Chunking size


alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $ sudo ./mapMemoryDriverClient -S -o 0x10020c -s 4
      Offset = 0x0010020c (1049100)
    Max Size = 0x00000004 (4)
Payload Size = 32

Output: 1-display-10de-0611.bin
0x0010020c : 00 00 00 20

alphamerik@valhalla /tmp/nvclock0.8b5_7-bin-universal $


Special thanks to arwyn @ irc.freenode.org#macdev for patience and guidance.

Happy hacking! smile.gif
гык-sse2
Can't compile on 10.6 'cause it compiles i386 nvclock and tries to link x86_64/
Binary doesn't work - mapmemory finds GFX0@0, and nvclock says no nvidia cards.
THe KiNG
Same here, dosen't work on x86_64 sad.gif
Can someone fix it?
alphamerik
I think it just needs -arch x86_64 added to the compile flags, unfortunately the configure/Makefiles ignore CFLAGS or CXXFLAGS.
Will see what I can do to make those variables work.
alphamerik
Okay a Universal build of nvcontrol binaries have been added and the source updated, configured like this:
CODE
./configure CFLAGS="-arch i386 -arch x86_64" CXXFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" --disable-nvcontrol --disable-gtk


If someone can post a Universal build of mapMemoryDriver it would be appreciated, xcode doesn't have the proper headers for 10.5.
гык-sse2
you are still on 10.5?
But it still doesn't find video card. Of course, I run as root.
alphamerik
Does it say no video card found or does it say no drivers found?
If it says that no driver is found try recompiling from source, and remove the -arch i386 flag.

Hopefully I will be upgrading to 10.6 soon. smile.gif

EDIT: Also - it looks for a device name of "display", is your device name GFX?
гык-sse2
It says no video card.
Memmapclient finds it OK. Property "name" of IOPCIDevice GFX0 is "display". My system is not 64 'cause of GF7300, but it runs 64-bit applications.
Slice
Memory access for x86_64 requires much more efforts then just recompilation.
alphamerik
Edit:
64-bit isn't such a big deal here, the only difference is in the pointer types for IOConnectMapMemory, and you can see the ifdef in the code, otherwise nvclock works with only <32-bit types from casts.

The problem is that I am using IORegistryEntryGetName which probably doesn't look at the properties for the name, it is probably more analogous to the basename of the path. Will modify it tonight to get the name from the properties dictionary instead.
alphamerik
Ok guys, I changed from using IORegistryEntryGetName to reading "IOName" from the properties.
Also a fix with x86_64 reading PRAMIN (forgot some parenthesis - 'doh).
Files up top have been updated.

The newest binary zip has x86_64 nvclock/smartdimmer with old i386 kext, yes they play nice together.

Please let me know if this fixes your detection problems.

Somebody please post a x86_64 build of mapMemoryDriver so I can lipo it with my build. Thanks. smile.gif

Anyone notice their graphics fan boots with 30% manual setting?
Changing the fan to auto it stabilizes at ~ 63%, board goes from 58c to 53c, gpu 73c to 64c.
Probably a good thing to do in nvSmcMonitor startup.
mitchde
THANKS updating binary+kext for 64 bit ("...also fixed accidental PRAMIN read on x86_64".
C2D + 8800GTX + 10.6.3 (64 Bit kernel mode) gets kextload error of
"nvclock0.8b5_3-bin/mapMemoryDriver.kext failed to load - (libkern/kext) requested architecture/executable not found; "
Perhaps i dont understand right the "64 Bit fixes"- does the kext needs to boot in 32 Bit Kernelmode ?
гык-sse2
It Works!!! And OCing also.
Yes, in 32bit.
Memory overclocking and underclocking gives artifacts and mouse pointer, then KP (with artifaqcts)
alphamerik
QUOTE (mitchde @ Jun 12 2010, 04:40 AM) *
Perhaps i dont understand right the "64 Bit fixes"- does the kext needs to boot in 32 Bit Kernelmode ?


Correct, I can't compile an x86_64 version of the kext (because I am on 10.5), but if someone posts their x86_64 build of the kext driver I can create a universal version from it.
Thanks
Trauma
Here is the x86_64 version of the kext. Tested and working as the i386 build here.
Click to view attachment
alphamerik
Thanks Trauma, downloads have been updated with source build fixes (minor) and universal binaries.
real3x
This is really great, now i can verify if the gpu throttle work or not, and the answer is : it work smile.gif
I've to use a legacy AGPM.
I ve attach 2 screens, idle and in an openGL bench.

mitchde
Thanks for 10.6/64 Bit kext.

nvclock -i works : only the Amount of VRAM (768 MB) is listed as 0 MB
Also using the two legacy kexts for PM (iMac5,1) for PM / GPU PM and so i now can first!!! see that it works also .

CODE
bash-3.2#nvclock -i
-- General info --
Card: nVidia Geforce 8800GTX
Architecture: NV50/G80 A2
PCI id: 0x191
GPU clock: 256.500 MHz
Bustype: PCI

-- Shader info --
Clock: 675.000 MHz
Stream units: 128 (11111111b)
ROP units: 24 (111111b)
-- Memory info --
Amount: 0 MB
Type: 384 bit DDR2
Clock: 396.000 MHz

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 44C
GPU temperature: 56C
Fanspeed: 1449 RPM
Fanspeed mode: manual
PWM duty cycle: 60.0%

nvclock -i
-- General info --
Card: nVidia Geforce 8800GTX
Architecture: NV50/G80 A2
PCI id: 0x191
GPU clock: 567.000 MHz
Bustype: PCI

-- Shader info --
Clock: 1350.000 MHz
Stream units: 128 (11111111b)
ROP units: 24 (111111b)
-- Memory info --
Amount: 0 MB
Type: 384 bit DDR2
Clock: 899.996 MHz

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 44C
GPU temperature: 58C
Fanspeed: 1430 RPM
Fanspeed mode: manual
PWM duty cycle: 60.0%

aschar
works here too with my gtx 275 amount of memory 896 is shown as 0 and i have no fan connected to my gfx is shown as 41 rpm
CODE
-- General info --
Card: Unknown Nvidia card
Architecture: GT200 B1
PCI id: 0x5e6
GPU clock: 648.000 MHz
Bustype: PCI

-- Shader info --
Clock: 1458.000 MHz
Stream units: 240 (11111111b)
ROP units: 28 (01111111b)
-- Memory info --
Amount: 0 MB
Type: 448 bit DDR2
Clock: 1188.000 MHz

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 42C
GPU temperature: 47C
Fanspeed: 41 RPM
Fanspeed mode: manual
PWM duty cycle: 40.0%
FormerlyKnownAs
Works here too bar RAM size - AGPM with iMac9,1
CODE
Card: nvidia GeForce GTX 260
Architecture: GT200 B1
PCI id: 0x5e2
GPU clock: 576.000 MHz
Bustype: PCI

-- Shader info --
Clock: 1242.000 MHz
Stream units: 216 (01111111b)
ROP units: 28 (01111111b)
-- Memory info --
Amount: 0 MB
Type: 448 bit DDR2
Clock: 1007.996 MHz

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 45C
GPU temperature: 55C
Fanspeed: 1333 RPM
Fanspeed mode: manual
PWM duty cycle: 40.0%
QUOTE (aschar @ Jun 12 2010, 10:12 PM) *
works
alphamerik
Glad to see it is working!

Re RAM size, I need to modify mapMemoryDriverClient to dump specific ranges but maybe we can figure it out for OSX.
alphamerik
Ok guys, new 0.85b_5 version.
This time with BIOS and memory reading fixes!
Yeah, I was doing some bad pointer math... sad.gif

Sorry for all the updates, thanks guys for testing!
гык-sse2
But I think with AGPM overclocking doesn't work?
alphamerik
Hmmm... pretty sure I couldn't have broken anything... the error I fixed was very basic.
Maybe try the different backends? Perhaps nvclock is doing something different now that it has more info.

EDIT:
Which chip are you using гык-sse2?
mitchde
I compiled latest mem.kext (0.2) for Snow Leo as 32/64 Bit.

Click to view attachment

Perfect nvclock !!! THANKS very much smile.gif

CODE
nvclock -i
-- General info --
Card: nVidia Geforce 8800GTX
Architecture: NV50/G80 A2
PCI id: 0x191
GPU clock: 256.500 MHz
Bustype: PCI-Express

-- Shader info --
Clock: 675.000 MHz
Stream units: 128 (11111111b)
ROP units: 24 (111111b)
-- Memory info --
Amount: 768 MB
Type: 384 bit DDR3
Clock: 396.000 MHz

-- PCI-Express info --
Current Rate: 16X
Maximum rate: 16X

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 41C
GPU temperature: 45C
Fanspeed: 82 RPM
Fanspeed mode: manual
PWM duty cycle: 60.0%

-- VideoBios information --
Version: 60.80.06.00.02
Signon message: G80 P355 SKU 0000 VGA BIOS
VID mask: 3
Voltage level 0: 1.10V, VID: 0
Voltage level 1: 1.20V, VID: 1
Voltage level 2: 1.30V, VID: 2
bash-3.2#
alphamerik
QUOTE (гык-sse2 @ Jun 13 2010, 05:25 AM) *
But I think with AGPM overclocking doesn't work?


Sorry гык-sse2, I cleaned up nv30.c warnings and I think I did it wrong (needed signed int for bitshifts).
Please try it again. smile.gif Uploaded 0.85b_6
mitchde
Hi, i first tried to test OC on my 8800GTX NV50 but get those message. // Beta 6
sudo nvclock -m 300
Error: NVClock doesn't offer lowlevel overclocking on NV50/G8x/G9x/GT200 hardware (yet).
If you want to overclock your card using the Nvidia drivers instead add the line:
Option "Coolbits" "1" to the screen or device section in your xorg.conf and then try NVClock again.


So nvclock didnt support most used nvidia gpus yet ?
blackosx
Wow.. great work going on here guys.
I might not be too clever with low level technical details, but if it's any use then here's my results from using nvclock0.8b5_6.
CODE
-- General info --
Card: nVidia Geforce 8800GT
Architecture: G92 A2
PCI id: 0x611
GPU clock: 663.428 MHz
Bustype: PCI-Express

-- Shader info --
Clock: 1674.000 MHz
Stream units: 112 (11111011b)
ROP units: 16 (1111b)
-- Memory info --
Amount: 512 MB
Type: 256 bit DDR3
Clock: 950.400 MHz

-- PCI-Express info --
Current Rate: 16X
Maximum rate: 16X

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 37C
GPU temperature: 52C
Fanspeed: 1317 RPM
Fanspeed mode: manual
PWM duty cycle: 45.1%

-- VideoBios information --
Version: 62.92.23.00.00
Signon message: GeForce 8800 GT VGA BIOS
Performance level 0: gpu 660MHz/shader 1650MHz/memory 950MHz/0.00V/100%
VID mask: 3
Voltage level 0: 0.95V, VID: 0
Voltage level 1: 1.00V, VID: 1
Voltage level 2: 1.05V, VID: 2
Voltage level 3: 1.10V, VID: 3

If there's anything else I can help with then just ask. smile.gif
alphamerik
Hey guys, just as an aside, I upgraded my BIOS to 62.92.24.00.27 because of the high temps and low fan speed and it seems to work well.
Here is where I got the update for my EVGA 8800GT:
http://www.evga.com/forums/tm.aspx?&m=15622&mpage=1

Overclocking is only supported on older chips (please report back with your experiences to make sure I didn't break anything).
Hopefully nvclock will be updated in the future, but it may take some reverse engineering of rivatuner (or collaboration) for that to happen.
mitchde
Yep, OC by editing the Psates in BIOS is also OK. Perhaps not even needed to flash if using the chameloen VGA-BIOS option (with oc modded bios file) which loads and uses that insted the orig. BIOS ?
Has anyone used that VGA-BIOS option already ?
Trauma
I tried OC with Chameleon in the past, and it was not working. (if i remember well).

BTW, mitchde, i'm enable to activate 2D mode on my G80 (8800 GTS). Any clue/trick would be appreciated.
mitchde
QUOTE (Trauma @ Jun 13 2010, 04:54 PM) *
I tried OC with Chameleon in the past, and it was not working. (if i remember well).
BTW, mitchde, i'm enable to activate 2D mode on my G80 (8800 GTS). Any clue/trick would be appreciated.

? Do you mean your card dont get in idle /2D mode and you want to know how that legacy .kext will help ?
Trauma
QUOTE (mitchde @ Jun 13 2010, 09:34 PM) *
? Do you mean your card dont get in idle /2D mode and you want to know how that legacy .kext will help ?


I'm wondering if it's possible to activate Pstate on every G80 boards or not. I've moded my bios in order to have 2 different Pstates. Everest and Nclock report them both, but either in windows or osx the freq. stays at max level.

Here is my Nvclock output:
CODE
-- General info --
Card:         nVidia Geforce 8800GTS
Architecture:     NV50/G80 A2
PCI id:     0x193
GPU clock:     540.000 MHz
Bustype:     PCI-Express

-- Shader info --
Clock: 1512.000 MHz
Stream units: 96 (11111100b)
ROP units: 20 (111110b)
-- Memory info --
Amount:     640 MB
Type:         320 bit DDR3
Clock:         899.996 MHz

-- PCI-Express info --
Current Rate:     16X
Maximum rate:     16X

-- Sensor info --
Sensor: Analog Devices ADT7473
Board temperature: 46C
GPU temperature: 48C
Fanspeed: 675000 RPM
Fanspeed mode: manual
PWM duty cycle: 40.0%

-- VideoBios information --
Version: 60.80.13.00.82
Signon message: GeForce 8800 GTS VGA BIOS
Performance level 0: gpu 400MHz/shader 1500MHz/memory 400MHz/1.10V/40%
Performance level 1: gpu 550MHz/shader 1500MHz/memory 900MHz/1.30V/100%
VID mask: 3
Voltage level 0: 1.10V, VID: 0
Voltage level 1: 1.20V, VID: 1
Voltage level 2: 1.30V, VID: 2


BTW it seems like temps have drop from 56° to 48° since i've modified the bios.
mitchde
If also windows cant activate the idle / 2D clocks something maybe wrong with the bios ?
8800GTs should be similar to 8800GTX - both are hot cards and like lowering gpu/vram clock /Vid .
alphamerik
Hmmm, I wonder if it is possible to use NiBitor offsets to dynamically overclock.

Does anyone know how the BIOS flashing procedure works?
гык-sse2
QUOTE (alphamerik @ Jun 13 2010, 08:41 AM) *
Hmmm... pretty sure I couldn't have broken anything... the error I fixed was very basic.
Maybe try the different backends? Perhaps nvclock is doing something different now that it has more info.

EDIT:
Which chip are you using гык-sse2?

I'm using an NV46 7300LE (u may say GS - the only difference is core and memory speed). I don't have any AGPM, I was speaking about those 8800, but as u said it's impossible. And I know why - in Windows they're OCed through nVidia driver (ForceWare or how is it called now). And we don't have connection to nV drivers, that's why if we somehow lowlevel OC 'em, driver will reset the speed when we start/finish 3D application.
NV30 support is quite silly - there are no drivers 4 'em in Mac OS X, why are they needed? There was a driver in Tiger, but I think it was PowerPC only.
Slice
QUOTE (гык-sse2 @ Jun 14 2010, 08:48 AM) *
I'm using an NV46 7300LE (u may say GS - the only difference is core and memory speed). I don't have any AGPM, I was speaking about those 8800, but as u said it's impossible. And I know why - in Windows they're OCed through nVidia driver (ForceWare or how is it called now). And we don't have connection to nV drivers, that's why if we somehow lowlevel OC 'em, driver will reset the speed when we start/finish 3D application.
NV30 support is quite silly - there are no drivers 4 'em in Mac OS X, why are they needed? There was a driver in Tiger, but I think it was PowerPC only.

Yes, Tiger only.
Click to view attachment
If it's needed there is a possibility to compile our FakeSMC for Tiger just change dependencies and replace snprintf to sprinf.
гык-sse2
QUOTE (Slice @ Jun 14 2010, 11:51 AM) *
replace snprintf to sprinf.

Or implement a snprintf function.

QUOTE (alphamerik @ Jun 13 2010, 06:38 PM) *
Overclocking is only supported on older chips (please report back with your experiences to make sure I didn't break anything).
Hopefully nvclock will be updated in the future, but it may take some reverse engineering of rivatuner (or collaboration) for that to happen.

No, reversing RivaTuner won't give us anything useful, 'cause it's nVidia driver that switches 2D/3D and resets speeds if we do anything with them. That's why only reversing drivers can give us this possibility.
гык-sse2
And what was changed from 3 to 6 beta?
alphamerik
Most important fix is in map_mem_card pointer math, but I don't know if these cards use anything other than PMC to read the info we want for FakeSMCnVclockPort anyways.
гык-sse2
QUOTE (alphamerik @ Jun 16 2010, 03:11 PM) *
Most important fix is in map_mem_card pointer math, but I don't know if these cards use anything other than PMC to read the info we want for FakeSMCnVclockPort anyways.

They use PMC, PROM and i2c.
Burninator
Apparently my GPU is colder than absolute zero. It shows up in iStat Menus around 250F.

CODE
$ sudo ./nvclock -i
Unhandled init script entry with id '?' at c7d8
-- General info --
Card: nVidia Geforce 9800GT
Architecture: G92 A2
PCI id: 0x614
GPU clock: 555.428 MHz
Bustype: PCI-Express

-- Shader info --
Clock: 1350.000 MHz
Stream units: 112 (01111111b)
ROP units: 16 (1111b)
-- Memory info --
Amount: 512 MB
Type: 256 bit DDR3
Clock: 899.996 MHz

-- PCI-Express info --
Current Rate: 4X
Maximum rate: 16X

-- Sensor info --
Sensor: GPU Internal Sensor
GPU temperature: -389C


-- VideoBios information --
Version: 62.92.89.00.90
Signon message: NVIDIA GeForce 9800 GT VGA BIOS
Performance level 0: gpu 300MHz/shader 600MHz/memory 100MHz/0.95V/100%
Performance level 1: gpu 550MHz/shader 1375MHz/memory 900MHz/1.20V/100%
VID mask: 1
Voltage level 0: 0.95V, VID: 0
Voltage level 1: 1.20V, VID: 1
alphamerik
Thanks for the info Burninator. What brand is the card? There are some comments in the code about Asus cards possibly not having the correct BIOS data, so it uses the "GPU Internal Sensor" when i2c cannot find a valid sensor. It looks like an XFX version of the card works ok:

http://www.linuxjournal.com/content/adjust...a-graphics-card

I will add some debug output info in i2c in the next version to see if there is anything useful.

Please post your bios*.rom from ~/.nvclock also, Burninator (or anyone else with "Unhandled init script entry" messages) .
wojnar
Geforce8800 GTS Laptop

CODE
bash-3.2# ./mapMemoryDriverClient
1 : IOService:/AppleACPIPlatformExpert/PCI0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/VGA@0
bash-3.2# ./nvclock -i
-- General info --
Card:         nVidia Geforce 8800M GTS
Architecture:     G92 A2
PCI id:     0x609
GPU clock:     540.000 MHz
Bustype:     PCI-Express

-- Shader info --
Clock: 1350.000 MHz
Stream units: 64 (00001111b)
ROP units: 16 (1111b)
-- Memory info --
Amount:     512 MB
Type:         256 bit DDR3
Clock:         864.000 MHz

-- PCI-Express info --
Current Rate:     16X
Maximum rate:     16X

-- Sensor info --
Sensor: GPU Internal Sensor
GPU temperature: -379C

-- VideoBios information --
Version: 62.92.1e.00.06
Signon message: G92 E396 NB8E-GT VGA BIOS Sku01
Performance level 0: gpu 275MHz/shader 550MHz/memory 301MHz/0.85V/100%
Performance level 1: gpu 383MHz/shader 767MHz/memory 301MHz/0.85V/100%
Performance level 2: gpu 500MHz/shader 1250MHz/memory 799MHz/1.00V/100%
VID mask: 3
Voltage level 0: 0.85V, VID: 1
Voltage level 1: 1.00V, VID: 2


CODE
bash-3.2# ./mapMemoryDriverClient -S -o 0x10020c -s 4 -d
      Offset = 0x0010020c (1049100)
    Max Size = 0x00000004 (4)
Payload Size = 32

Output: 1-VGA-10de-0609.bin
0x0010020c : 00 00 00 20


bin file uploaded,
is this a bios file ???

Thanks
Click to view attachment
alphamerik
This is not the bios file, the command which you ran simply shows how much memory the card has. (00 00 00 20 = 512MB)

To create the bios file run 'nvclock -i', the file will be saved as ~/.nvclock/bios*.rom

Also, what model laptop / video-card manufacturer is this?
wojnar
QUOTE
This is not the bios file, the command which you ran simply shows how much memory the card has. (00 00 00 20 = 512MB)

To create the bios file run 'nvclock -i', the file will be saved as ~/.nvclock/bios*.rom

Also, what model laptop / video-card manufacturer is this?


Now it's OK.

CODE
bash-3.2# ./nvclock -i
-- General info --
Card:         nVidia Geforce 8800M GTS
Architecture:     G92 A2
PCI id:     0x609
GPU clock:     540.000 MHz
Bustype:     PCI-Express

-- Shader info --
Clock: 1350.000 MHz
Stream units: 64 (00001111b)
ROP units: 16 (1111b)
-- Memory info --
Amount:     512 MB
Type:         256 bit DDR3
Clock:         864.000 MHz

-- PCI-Express info --
Current Rate:     16X
Maximum rate:     16X

-- Sensor info --
Sensor: GPU Internal Sensor
GPU temperature: -380C

-- VideoBios information --
Version: 62.92.1e.00.06
Signon message: G92 E396 NB8E-GT VGA BIOS Sku01
Performance level 0: gpu 275MHz/shader 550MHz/memory 301MHz/0.85V/100%
Performance level 1: gpu 383MHz/shader 767MHz/memory 301MHz/0.85V/100%
Performance level 2: gpu 500MHz/shader 1250MHz/memory 799MHz/1.00V/100%
VID mask: 3
Voltage level 0: 0.85V, VID: 1
Voltage level 1: 1.00V, VID: 2


Click to view attachment

This is a Gateway p-6831fx laptop.
I don't know what is a manufacturer sad.gif , maybe dump from lspci tell you something.

CODE
01:00.0 VGA compatible controller [0300]: nVidia Corporation G92 [GeForce 8800M GTS] [10de:0609] (rev a2) (prog-if 00 [VGA controller])
    Subsystem: Gateway 2000 Unknown device [107b:0690]
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at ce000000 (32-bit, non-prefetchable)
    Region 1: Memory at d0000000 (64-bit, prefetchable)
    Region 3: Memory at cc000000 (64-bit, non-prefetchable)
    Region 5: I/O ports at 2000
    Capabilities: [60] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
        Address: 00000000fee00000  Data: 4096
    Capabilities: [78] Express (v2) Endpoint, MSI 00
        DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <4us
            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
        DevCtl:    Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
            RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta:    CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
        LnkCap:    Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <1us
            ClockPM- Suprise- LLActRep- BwNot-
        LnkCtl:    ASPM L0s L1 Enabled; RCB 128 bytes Disabled- Retrain- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta:    Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    Capabilities: [100] #10de
    Capabilities: [060] #6801


Thank you
Burninator
QUOTE (alphamerik @ Jun 18 2010, 11:54 AM) *
Thanks for the info Burninator. What brand is the card? There are some comments in the code about Asus cards possibly not having the correct BIOS data, so it uses the "GPU Internal Sensor" when i2c cannot find a valid sensor. It looks like an XFX version of the card works ok:

http://www.linuxjournal.com/content/adjust...a-graphics-card

I will add some debug output info in i2c in the next version to see if there is anything useful.

Please post your bios*.rom from ~/.nvclock also, Burninator (or anyone else with "Unhandled init script entry" messages) .


It's an EVGA card.

Here's the bios0.rom zipped up. Click to view attachment
Slice
QUOTE (wojnar @ Jun 18 2010, 11:10 PM) *
Now it's OK.

This is a Gateway p-6831fx laptop.
I don't know what is a manufacturer sad.gif , maybe dump from lspci tell you something.

The manufacturer is Gateway
wojnar
QUOTE (Slice @ Jun 19 2010, 06:00 PM) *
The manufacturer is Gateway


rolleyes.gif
Notebook Yes, i am not sure Gateway is manufacturer of GPU.
munerf
Hi,

I'm having the same issue with the sensors. I've got an ASUS 9800 GT.
(I've attached the rom file)


-- General info --
Card: nVidia Geforce 9800GT
Architecture: G92 A2
PCI id: 0x614
GPU clock: 601.712 MHz
Bustype: PCI-Express

-- Shader info --
Clock: 1512.000 MHz
Stream units: 112 (11111101b)
ROP units: 16 (1111b)
-- Memory info --
Amount: 1024 MB
Type: 256 bit DDR3
Clock: 899.996 MHz

-- PCI-Express info --
Current Rate: 16X
Maximum rate: 16X

-- Sensor info --
Sensor: GPU Internal Sensor
GPU temperature: -395C

-- VideoBios information --
Version: 62.92.72.00.00
Signon message: ASUS EN9800GT VB Ver 62.92.72.00.AS14
Performance level 0: gpu 600MHz/shader 1500MHz/memory 900MHz/1.15V/100%
VID mask: 3
Voltage level 0: 1.05V, VID: 0
Voltage level 1: 1.15V, VID: 1
Voltage level 2: 1.25V, VID: 2
Voltage level 3: 1.35V, VID: 3
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.