ProjectOSX

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

5 Pages V   1 2 3 > »   
Start a new topic Add Reply
> Nvclock Darwin Port + Mapmemory Driver + Source
alphamerik
post Jun 10 2010, 05:24 PM
Post #1
nvclock 0.8b5_7 (experimental) adds many new device ids and internal temperature reading fixes.
Nvclock and mapMemory binaries: Attached File  nvclock0.8b5_7_bin_universal.zip ( 184.74K ) Number of downloads: 1954
nvclock source: Attached File  nvclock0.8b5_7_darwin.zip ( 423.91K ) Number of downloads: 540

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: Attached File  nvclock0.8b5_6_bin_universal.zip ( 177.02K ) Number of downloads: 961
nvclock source: Attached File  nvclock0.8b5_6_darwin.zip ( 421.12K ) Number of downloads: 213

mapMemoryDriver_0.2 adds more advanced options for dumping from client.
mapMemory driver source: Attached File  mapMemoryDriver_0.2.zip ( 8.96K ) Number of downloads: 318

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

This post has been edited by alphamerik: Jun 21 2010, 12:10 PM
гык-sse2
post Jun 11 2010, 11:02 AM
Post #2
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.
UEFI is a great way to get the best of the best in the world of imagination and creativity. ©Google Scribe
THe KiNG
post Jun 11 2010, 11:39 AM
Post #3
Same here, dosen't work on x86_64 sad.gif
Can someone fix it?
alphamerik
post Jun 11 2010, 01:11 PM
Post #4
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.

This post has been edited by alphamerik: Jun 11 2010, 10:21 PM
alphamerik
post Jun 11 2010, 01:52 PM
Post #5
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.

This post has been edited by alphamerik: Jun 11 2010, 01:56 PM
гык-sse2
post Jun 11 2010, 02:47 PM
Post #6
you are still on 10.5?
But it still doesn't find video card. Of course, I run as root.

This post has been edited by гык-sse2: Jun 11 2010, 02:53 PM
UEFI is a great way to get the best of the best in the world of imagination and creativity. ©Google Scribe
alphamerik
post Jun 11 2010, 03:42 PM
Post #7
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?

This post has been edited by alphamerik: Jun 11 2010, 10:47 PM
гык-sse2
post Jun 11 2010, 04:22 PM
Post #8
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.
UEFI is a great way to get the best of the best in the world of imagination and creativity. ©Google Scribe
Slice
post Jun 11 2010, 04:31 PM
Post #9
Memory access for x86_64 requires much more efforts then just recompilation.
i3-2120 GA-H61M-S1 UEFI, Radeon HD6670-UEFI, ALC887(VoodooHDA 2.8.6), OS⌘10.9.4, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
alphamerik
post Jun 11 2010, 04:44 PM
Post #10
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.

This post has been edited by alphamerik: Jun 11 2010, 10:20 PM
alphamerik
post Jun 11 2010, 09:27 PM
Post #11
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.

This post has been edited by alphamerik: Jun 11 2010, 11:56 PM
mitchde
post Jun 12 2010, 04:40 AM
Post #12
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 ?

This post has been edited by mitchde: Jun 12 2010, 04:41 AM
гык-sse2
post Jun 12 2010, 07:21 AM
Post #13
It Works!!! And OCing also.
Yes, in 32bit.
Memory overclocking and underclocking gives artifacts and mouse pointer, then KP (with artifaqcts)

This post has been edited by гык-sse2: Jun 12 2010, 07:46 AM
UEFI is a great way to get the best of the best in the world of imagination and creativity. ©Google Scribe
alphamerik
post Jun 12 2010, 09:59 AM
Post #14
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

This post has been edited by alphamerik: Jun 12 2010, 03:08 PM
Trauma
post Jun 12 2010, 02:47 PM
Post #15
Here is the x86_64 version of the kext. Tested and working as the i386 build here.
Attached File  mapMemoryDriver.kext.zip ( 10.71K ) Number of downloads: 155

alphamerik
post Jun 12 2010, 03:15 PM
Post #16
Thanks Trauma, downloads have been updated with source build fixes (minor) and universal binaries.


This post has been edited by alphamerik: Jun 12 2010, 10:41 PM
real3x
post Jun 12 2010, 04:41 PM
Post #17
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.



This post has been edited by real3x: Jun 12 2010, 04:47 PM
GA Z68a-D3H-b3 - i7 2600k stock - 16gb ddr3 - hd3000/GTX460
mitchde
post Jun 12 2010, 05:12 PM
Post #18
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%



This post has been edited by mitchde: Jun 12 2010, 06:11 PM
aschar
post Jun 12 2010, 09:10 PM
Post #19
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%
GA EX58 UD5 Core i7 920 CPU Nvidia GTX275 Highpoint Rocketraid 3520 12GB Ram OCZ 1600 Platinum
FormerlyKnownAs
post Jun 12 2010, 10:24 PM
Post #20
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


This post has been edited by FormerlyKnownAs: Jun 13 2010, 06:57 PM
10.6.4 retail, SW RAID0, Chameleon 2 (Some variant of!), DSDT tickled a little b1t
Intel Core 2 Quad Processor Q9450
MSI Platinum/ Zilent P45 - EFI BIOS v1.0 current backup - asus p5q pro turbo
XFX Radeon HD5770 1GD DDR5
4GB Crucial DDR2 PC2 8500 1066MHz

5 Pages V   1 2 3 > » 
Add Reply Start a new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members: