Jump to content

Geforce GTS 450 2GB VRAM - Palit - Case Study


bgrau
 Share

14 posts in this topic

Recommended Posts

Since we are here also to learn ;) this is a place holder of my experience getting NVidia GeForce running on my (now) old rig Dell 9200 (even if I purchased it not long ago on ebay at an excellent low price...

 

My aim was / is to get full HDMI working for my monitor which has an HDMI input (it is an LG CINEMA 3D D2343)...

 

but - depending on the VGA output, I found out I needed sometimes a separate editing of org.chameleon.Boot.plist -

 

I also did some editing of the DSDT.aml injecting some info on the card (needed it seems for HDMI)...

 

The setup up of the (3) output ports of the Palit GF 450 GTS are (start closest to mobo):

 

DVI-I, VGA, HDMI

 

What I have achieved so far:

 

1. DVI-I to DVI fully working.

 

2. DVI-I to VGA fully working.

 

3. VGA to VGA fully working.

 

4. DVI-I to HDMI fully working.

 

5. HDMI to HDMI working, with often starting up on HDMI Sleep Mode - and this is what I want to elucidate, and hopefully fix.

 

These issues I also experienced with a previous card I returned which was even worse: GF GTX 550 Ti...

 

I will be including all my settings as I go along, plist's, ioregister and DSDT (relevant vga section and full)...

 

Here is to start with: NVCAP peculiarity...

 

It seems the NVCAP vaule depends on the output port chosen, as the ioregistry output gave me different NVCAP depending if I use DVI-I, VGA or HDMI...

 

I recorded 3:

 

NVCAP 1: 04 00 00 00 00 00 03 00 0C 00 00 00 00 00 00 07 00 00 00 00

 

NVCAP 2: 04 00 00 00 00 00 03 00 04 00 00 00 00 00 00 07 00 00 00 00

 

NVCAP 3: 05 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 0E 00 00 00 00

 

In DSDT and chameleon plist we remove the spaces...

 

Just this for now:

 

NVCAP 2 comes from the NVCAP Make v1.4 -

 

NVCAP 1 is listed by the ioregister output if you boot with it or with NVCAP 2, when DVI-I (output) is used...

 

I suppose NVCAP 2 is for VGA output to VGA (need to double check)...

 

Surprisingly,

 

NVCAP 3 gets recorded by the ioregister output when using HDMI to HDMI with NVCAP 2.

NVCAP 3 can then be used for HDMI2HDMI... but works only while hot rebooting LOL!

NVCAP 2 is more reliable for HDMI2HDMI, but ioregister registers always the NVCAP output

as NVCAP 3... go figure!

 

It will be interesting to see if it is possible to improve Chameleon to take care of these discrepancies by detecting output / input ports...

 

Well, more later, with relevant outputs and attachments...

 

bye for now...

Link to comment
Share on other sites

Another thing that gave me grief was getting the HDMI sound...

 

I used VoodooHDA - a combination of v2.7.3 and v2.7.4 with AppleHDADisabler.kext (Slice) - editing of Info.plist of VooddoHDA.kext and DSDT.aml ...

 

The result, 4 instances of HDMI audio sound output with 2 channels each, so 8 channels in total, but the occasional kernel panic at boot up, and no system control of the sound...

however, the hdmi sound can be controlled from within media apps (such as VLC) - sound is quite good though...

 

So here it is my end result...

 

full gfx with TV and hdmi Audio for the GF 450 GTS Palit, with some caveats:

 

- using NVCAP 05 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 0E 00 00 00 00 for pure HDMI Video

 

- using NVCAP 04 00 00 00 00 00 03 00 0C 00 00 00 00 00 00 07 00 00 00 00 for DVI-I to HDMI Video and HDMI to HDMI...

 

- using VoodooHDA with occasional kernel panics and no control of sound at system level...

 

and before I forget, that was on Mountain Lion on a C2D Dell Dimension 9200...

 

In the next post, I will post changes and files I used...

 

As for my favourite (the less troublesome) which gives still a hdmi output, it is dvi-i to hdmi...

 

Another interesting finding:

 

If macpro 3,1 is used as smbios identifier, hdmi2hdmi does not work, but no probs with dvi-i2hdmi.

 

with mac-mini 5,2 hdmi2hdmi work but as I said, with occosional KP's at boot for VoodooHDA...

 

(so there might be a check on the actual machine to allow for some functionalities to be enabled or disabled, as for instance for MacPro of 2008, hdmi was not available, probably?)...

Link to comment
Share on other sites

Extra info:

 

I just found out that it was USB Audio that was causing the kernel panics at boot up for VoodooHDA (in my case)...

 

the way around it is to disconnect the usb audio (I use a Creative USB which is natively recognised by ML as an onboard audio device!!! with both input and output!)

 

and then reconnecting it only when the PC has fully booted up cures the problem...

Link to comment
Share on other sites

Here are the tools I used:

 

1. fassl DSDT Patcher v.1.0.1e to extract DSDT.aml

 

2. EVODSDTSE for patching and modding DSDT.aml

 

3. EFI Studio 1.0 and 1.1 to get and edit efi strings.

 

4. Kext Utility v.2.5.1 for fast permissions repair

 

5. TextMate for editing plists

 

6. VoodooHDA.kext and AppleHDADisabler.kext (I did not remove the vanilla AppleHDA.kext) -

VoodooHDA v.2.7.3 gives the less problems, and I combined some ideas from Slice 2.7.4 in the Info.plist with HDMI section

and IOPCIPrimaryMatch sections (Dev_Id Ven_ID)

 

7. The HIDEF DSDT device section ripped from another DSDT...

 

Result no sound control for HDMI sound, but works within apps that use it with control of sound in them...

 

No activation of the on-board hidef audio despite giving the Dev_Id Ven_Id of the Sigmatel STAC9227 onboard chip (maybe I have the wrong codec id?)...

 

So there comes the codes - welcome to help for improvement :)

Link to comment
Share on other sites

HDMI2HDMI

 

org.chameleon.Boot.plist

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Boot Banner</key>
<string>No</string>
<key>CSTUsingSystemIO</key>
<string>Yes</string>
<key>EHCIacquire</key>
<string>Yes</string>
<key>EnableC2State</key>
<string>Yes</string>
<key>EnableC3State</key>
<string>Yes</string>
<key>EnableC4State</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>ForceHPET</key>
<string>Yes</string>
<key>ForceWake</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1920x1080x32@60</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Instant Menu</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>rd=disk0s2 -v -f npci=0x2000 darkwake=0</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>NVCAP_DEVICEID</key>
<string>0400000000000300040000000000000700000000</string>
<key>PCIRootUID</key>
<string>1</string>
<key>QuietBoot</key>
<string>Yes</string>
<key>ShowInfo</key>
<string>Yes</string>
<key>SystemType</key>
<string>1</string>
<key>UHCIreset</key>
<string>Yes</string>
<key>USBLegacyOff</key>
<string>No</string>
<key>UseKernelCache</key>
<string>Yes</string>
<key>UseMemDetect</key>
<string>No</string>
<key>Wake</key>
<string>Yes</string>
<key>device-properties</key>
<string>450000000100000001000000390000000100000002010c00d041030a040000000101060000197fff0400160000006200750069006c0074002d0069006e0000000500000001</string>
</dict>
</plist>

 

SMBios.plist (MacMini 5,2 or MacPro 3,1 or 4,1 seem all ok)

 

DSDT.dsl relevant sections:

 

At the top:

DTGP definition needed:

 

/*
* Intel ACPI Component Architecture
* AML Disassembler version 20091214
*
* Disassembly of ./dsdt.aml, Fri Nov 16 08:18:59 2012
*
*
* Original Table Header:
*	 Signature	 "DSDT"
*	 Length		 0x000036A8 (13992)
*	 Revision		 0x01 **** ACPI 1.0, no 64-bit math support
*	 Checksum		 0x49
*	 OEM ID		 "DELL"
*	 OEM Table ID	 "dt_ex"
*	 OEM Revision	 0x00001000 (4096)
*	 Compiler ID	 "INTL"
*	 Compiler Version 0x20091214 (537465364)
*/
DefinitionBlock ("./dsdt.aml", "DSDT", 1, "DELL", "dt_ex", 0x00001000)
{
Method (DTGP, 5, NotSerialized)
{
 If (LEqual (Arg0, Buffer (0x10)
		 {
			 /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
			 /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
		 }))
 {
	 If (LEqual (Arg1, One))
	 {
		 If (LEqual (Arg2, Zero))
		 {
			 Store (Buffer (One)
				 {
					 0x03
				 }, Arg4)
			 Return (One)
		 }

		 If (LEqual (Arg2, One))
		 {
			 Return (One)
		 }
	 }
 }

 Store (Buffer (One)
	 {
		 0x00
	 }, Arg4)
 Return (Zero)
}

Method (DBIN, 0, NotSerialized)
{
 Noop
}

 

 

>---> snip >--->

 

inside

Device (PCI0) section

Video card here as Device PEGP:

 

Scope (_SB)
{
 Device (PCI0)
 {
	 Name (_HID, EisaId ("PNP0A03"))
	 Name (_UID, One)
	 Name (_ADR, Zero)
	 Name (_BBN, Zero)
	 Name (_PRW, Package (0x02)
	 {
		 0x0D,
		 0x05
	 })
	 Method (_S1D, 0, NotSerialized)
	 {
		 Return (One)
	 }

	 Method (_S3D, 0, NotSerialized)
	 {
		 If (HACK ())
		 {
			 Return (0x03)
		 }
		 Else
		 {
			 Return (0x02)
		 }
	 }

	 Device (PEGP)
	 {
		 Name (_ADR, 0x00010000)
		 Name (_PRW, Package (0x02)
		 {
			 0x09,
			 0x05
		 })
		 Device (GFX0)
		 {
			 Name (_ADR, Zero)
			 Name (_SUN, One)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x3E)
					 {
						 "AAPL,gart-width",
						 Buffer (0x03)
						 {
							 "40"
						 },

						 "AAPL,slot-name",
						 Buffer (0x0D)
						 {
							 "PCI-E x16"
						 },

						 "device-id",
						 Buffer (0x04)
						 {
							 0x00, 0x06, 0x00, 0x00
						 },

						 "vendor-id",
						 Buffer (0x04)
						 {
							 0xDE, 0x10, 0x00, 0x00
						 },

						 "@0,compatible",
						 Buffer (0x0B)
						 {
							 "NVDA,NVMac"
						 },

						 "@0,connector-type",
						 Buffer (0x04)
						 {
							 0x00, 0x08, 0x00, 0x00
						 },

						 "@0,device_type",
						 Buffer (0x08)
						 {
							 "display"
						 },

						 "@0,name",
						 Buffer (0x0F)
						 {
							 "NVDA,Display-A"
						 },

						 "@1,compatible",
						 Buffer (0x0B)
						 {
							 "NVDA,NVMac"
						 },

						 "@1,connector-type",
						 Buffer (0x04)
						 {
							 0x00, 0x08, 0x00, 0x00
						 },

						 "@1,device_type",
						 Buffer (0x08)
						 {
							 "display"
						 },

						 "@1,name",
						 Buffer (0x0F)
						 {
							 "NVDA,Display-B"
						 },

						 "NVCAP",
						 Buffer (0x18)
						 {
							 /* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
							 /* 0008 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
							 /* 0010 */ 0x00, 0x00, 0x00, 0x00
						 },

						 "NVPM",
						 Buffer (0x20)
						 {
							 /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0018 */ 0x00, 0x00, 0x00, 0x00
						 },

						 "VRAM,totalsize",
						 Buffer (0x04)
						 {
							 0x00, 0x00, 0x00, 0x80
						 },

						 "device_type",
						 Buffer (0x0C)
						 {
							 "NVDA,Parent"
						 },

						 "model",
						 Buffer (0x1C)
						 {
							 "NVIDIA GeForce 450 GTS"
						 },

						 "rom-revision",
						 Buffer (0x0F)
						 {
							 "preset 1.0.0"
						 },

						 "reg",
						 Buffer (0x78)
						 {
							 /* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,
							 /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
							 /* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,
							 /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,
							 /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
							 /* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
							 /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,
							 /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
							 /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
						 },

						 "hda-gfx",
						 Buffer (0x0A)
						 {
							 "onboard-1"
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }
		 }

		 Device (HDAU)
		 {
			 Name (_ADR, One)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x02)
					 {
						 "hda-gfx",
						 Buffer (0x0A)
						 {
							 "onboard-1"
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }
		 }
	 }

	 Method (_STA, 0, NotSerialized)
	 {
		 Return (0x0F)
	 }

	 Device (PCI4)

 

>---> snip >--->

 

still inside

Device (PCI0) section

HDEF Section for audio (not needed for VoodooHDA? but necessary if use AppleHDA):

 

	 Device (HDEF)
	 {
		 Name (_ADR, 0x001B0000)
		 Name (_PRW, Package (0x02)
		 {
			 0x09,
			 0x05
		 })
		 Method (_DSM, 4, NotSerialized)
		 {
			 Store (Package (0x04)
				 {
					 "layout-id",
					 Buffer (0x04)
					 {
						 0x01, 0x00, 0x00, 0x00
					 },

					 "PinConfigurations",
					 Buffer (Zero) {}
				 }, Local0)
			 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			 Return (Local0)
		 }
	 }

 

VoodooHDA 2.7.3

Info.plist:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>VoodooHDA</string>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooHDA</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.7.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.7.4</string>
<key>IOKitPersonalities</key>
<dict>
<key>VoodooHDA</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>IOClass</key>
<string>VoodooHDADevice</string>
<key>IOMatchCategory</key>
<string>VoodooHDADevice</string>
<key>IOPCIPrimaryMatch</key>
<string>0x76188086</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>IOUserClientClass</key>
<string>VoodooHDAUserClient</string>
<key>InhibitCache</key>
<true/>
<key>MixerValues</key>
<dict>
<key>PCM</key>
<string>90</string>
<key>Rec</key>
<string>70</string>
<key>iGain</key>
<string>0</string>
<key>iMix</key>
<string>0</string>
</dict>
<key>NodesToPatch</key>
<array/>
<key>Noise</key>
<integer>2</integer>
<key>Vectorize</key>
<true/>
<key>VoodooHDAEnableHalfMicVolumeFix</key>
<true/>
<key>VoodooHDAEnableHalfVolumeFix</key>
<true/>
<key>VoodooHDAEnableMuteFix</key>
<true/>
<key>VoodooHDAEnableVolumeChangeFix</key>
<true/>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
</dict>
<key>HDMI</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>IOClass</key>
<string>VoodooHDADevice</string>
<key>IOMatchCategory</key>
<string>VoodooHDADevice</string>
<key>IOPCIPrimaryMatch</key>
<string>0x0bee10de</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>IOUserClientClass</key>
<string>VoodooHDAUserClient</string>
<key>NodesToPatch</key>
<array/>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOAudioFamily</key>
<string>1.1fc9</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>2.1</string>
<key>com.apple.kpi.iokit</key>
<string>9.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
<key>com.apple.kpi.mach</key>
<string>9.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>9.0.0</string>
</dict>
</dict>
</plist>

 

I also used some modding of

AppleGraphicsPowerManagement.kext and removed AppleTyMCEDriver.kext

 

but MacPro4,1 needed as SMBios.plist id.

 

The mod is:

add to Info.plist

<key>Vendor10deDevice1245</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>250</integer>
<key>SensorOption</key>
<integer>1</integer>
<key>SensorSampleRate</key>
<integer>4</integer>
<key>TargetCount</key>
<integer>5</integer>
<key>Threshold_High</key>
<array>
<integer>100</integer>
<integer>90</integer>
<integer>90</integer>
<integer>0</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>90</integer>
<integer>90</integer>
<integer>0</integer>
</array>
</dict>
<key>LogControl</key>
<integer>0</integer>
<key>control-id</key>
<integer>18</integer>
</dict>

 

Well that is it overall - you are welcome to improve on this...

 

finally credit is to whom credit is due...

I mainly did copy, paste, compile and test, patience and time :)

Link to comment
Share on other sites

System Profiler Outputs:

 

Hardware Overview:

 

Model Name: Mac Pro

Model Identifier: MacPro4,1

Processor Name: Intel Core 2 Duo

Processor Speed: 2.76 GHz

Number of Processors: 1

Total Number of Cores: 2

L2 Cache: 2 MB

Memory: 4 GB

Bus Speed: 544 MHz

Boot ROM Version:

SMC Version (system):

Serial Number (system):

Hardware UUID:

 

Audio:

 

Devices:

 

SB Live! 24-bit External:

 

Default Input Device: Yes

Input Channels: 2

Manufacturer: Creative Technology

Output Channels: 2

Current SampleRate: 44100

Transport: USB

 

Digital-out (HDMI):

 

Default Output Device: Yes

Manufacturer: Voodoo

Output Channels: 16

Current SampleRate: 192000

Transport: Unknown

 

Digital-out (HDMI):

 

Default System Output Device: Yes

Manufacturer: Voodoo

Output Channels: 16

Current SampleRate: 192000

Transport: Unknown

 

Digital-out (HDMI):

 

Manufacturer: Voodoo

Output Channels: 16

Current SampleRate: 192000

Transport: Unknown

 

Digital-out (HDMI):

 

Manufacturer: Voodoo

Output Channels: 16

Current SampleRate: 192000

Transport: Unknown

 

NVIDIA GeForce GTS 450:

 

Chipset Model: NVIDIA GeForce GTS 450

Type: GPU

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 2048 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x1245

Revision ID: 0x00a1

ROM Revision: preset 70.26.27.00.00

Displays:

D2343:

Resolution: 1920 x 1080 @ 60 Hz

Pixel Depth: 32-Bit Color (ARGB8888)

Display Serial Number:

Main Display: Yes

Mirror: Off

Online: Yes

Rotation: Supported

Television: Yes

 

SATA

 

Intel ICH10 RAID:

 

Vendor: Intel

Product: ICH10 RAID

Link Speed: 3 Gigabit

Negotiated Link Speed: 3 Gigabit

Description: AHCI Version 1.10 Supported

 

SanDisk SDSSDX120GG25:

 

Capacity: 120.03 GB (120,034,123,776 bytes)

Model: SanDisk SDSSDX120GG25

Revision: R201

Serial Number: 121029401743

Native Command Queuing: Yes

Queue Depth: 32

Removable Media: No

Detachable Drive: No

BSD Name: disk0

Medium Type: Solid State

TRIM Support: Yes

Partition Map Type: GPT (GUID Partition Table)

S.M.A.R.T. status: Verified

Volumes:

disk0s1:

Capacity: 209.7 MB (209,715,200 bytes)

BSD Name: disk0s1

Content: EFI

MLion:

Capacity: 40.01 GB (40,012,750,848 bytes)

Available: 27.36 GB (27,358,646,272 bytes)

Writable: Yes

File System: Journaled HFS+

BSD Name: disk0s2

Mount Point: /

Content: Apple_HFS

Volume UUID: A7B793BE-5969-3915-BF7F-BE565CF2412B

Lion:

Capacity: 40.01 GB (40,011,374,592 bytes)

Available: 39.85 GB (39,854,043,136 bytes)

Writable: Yes

File System: Journaled HFS+

BSD Name: disk0s3

Mount Point: /Volumes/Lion

Content: Apple_HFS

Volume UUID: EE27D161-3BFB-3A92-B6E8-F2814256ECF8

Backup:

Capacity: 39.4 GB (39,397,588,992 bytes)

Available: 39.24 GB (39,240,359,936 bytes)

Writable: Yes

File System: Journaled HFS+

BSD Name: disk0s4

Mount Point: /Volumes/Backup

Content: Apple_HFS

Volume UUID: BCF179E8-6143-373A-B206-6CE2F92FE46F

 

System Software Overview:

 

System Version: OS X 10.8.2 (12C60)

Kernel Version: Darwin 12.2.0

Boot Volume: MLion

Boot Mode: Normal

User Name: bgrau

Secure Virtual Memory: Enabled

Time since boot: 1:41

 

and the peculiar ioreg nvcap output when connected using hdmi2hdmi: (use plist editor to see the hex data values)

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AAPL,gart-width</key>
<integer>64</integer>
<key>AAPL,interrupts</key>
<data>
EAAAAAcAAAA=
</data>
<key>AAPL,iokit-ndrv</key>
<data>
IK3lgH////8=
</data>
<key>AAPL,ndrv-dev</key>
<true/>
<key>AAPL,ndrv-interrupt-set</key>
<string>IONDRVInterruptSet is not serializable</string>
<key>IOChildIndex</key>
<integer>1</integer>
<key>IODeviceMemory</key>
<array>
<array>
<dict>
<key>address</key>
<integer>3690987520</integer>
<key>length</key>
<integer>33554432</integer>
</dict>
</array>
<array>
<dict>
<key>address</key>
<integer>3355443200</integer>
<key>length</key>
<integer>134217728</integer>
</dict>
</array>
<array>
<dict>
<key>address</key>
<integer>3489660928</integer>
<key>length</key>
<integer>67108864</integer>
</dict>
</array>
<string>IOSubMemoryDescriptor is not serializable</string>
<array>
<dict>
<key>address</key>
<integer>3755999232</integer>
<key>length</key>
<integer>524288</integer>
</dict>
</array>
</array>
<key>IOHibernateState</key>
<data>
AAAAAA==
</data>
<key>IOInterruptControllers</key>
<array>
<string>io-apic-0</string>
<string>IOPCIMessagedInterruptController</string>
</array>
<key>IOInterruptSpecifiers</key>
<array>
<data>
EAAAAAcAAAA=
</data>
<data>
AwAAAAAAAQA=
</data>
</array>
<key>IONVRAMProperty</key>
<true/>
<key>IOName</key>
<string>display</string>
<key>IOPCIExpressASPMDefault</key>
<integer>0</integer>
<key>IOPCIExpressLinkCapabilities</key>
<integer>339201</integer>
<key>IOPCIExpressLinkStatus</key>
<integer>4353</integer>
<key>IOPCIMSIMode</key>
<true/>
<key>IOPCIResourced</key>
<true/>
<key>IOPMIsPowerManaged</key>
<true/>
<key>IOPowerManagement</key>
<dict>
<key>ChildrenPowerState</key>
<integer>2</integer>
<key>CurrentPowerState</key>
<integer>2</integer>
<key>MaxPowerState</key>
<integer>2</integer>
</dict>
<key>NVCAP</key>
<data>
BQAAAAAA/////wAAAAAADgAAAAA=
</data>
<key>NVCLASS</key>
<string>NVDA</string>
<key>NVDA,Features</key>
<data>
AAgAAA==
</data>
<key>NVDA,gart-width</key>
<integer>64</integer>
<key>NVDA,noEFI</key>
<data>
dHJ1ZQA=
</data>
<key>NVKernelLoaded</key>
<data>
AQAAAA==
</data>
<key>VRAM,totalMB</key>
<data>
AAgAAA==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAgA==
</data>
<key>assigned-addresses</key>
<data>
EAABggAAAAAAAADcAAAAAAAAAAIUAAHCAAAAAAAAAMgAAAAAAAAACBwAAcIAAAAAAAAA
0AAAAAAAAAAEJAABgQAAAACA3AAAAAAAAIAAAAAwAAGCAAAAAAAA4N8AAAAAAAAIAA==
</data>
<key>attached-gpu-control-path</key>
<string>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCI1@1/IOPCI2PCIBridge/display@0/NVDA,Display-A@0/NVDA/AGPM</string>
<key>class-code</key>
<data>
AAADAA==
</data>
<key>com-master-varp</key>
<data>
AOBHaoD///8=
</data>
<key>compatible</key>
<data>
cGNpMTBkZSwxMjQ1AHBjaWNsYXNzLDAzMDAwMAA=
</data>
<key>device-id</key>
<data>
RRIAAA==
</data>
<key>device_type</key>
<data>
TlZEQSxQYXJlbnQA
</data>
<key>driver-ist</key>
<data>
gEnZC4D///8BAAAAgP///4BJ2QuA////AgAAAID///+ASdkLgP///wMAAACA////
</data>
<key>model</key>
<data>
TlZJRElBIEdlRm9yY2UgR1RTIDQ1MAA=
</data>
<key>name</key>
<data>
ZGlzcGxheQA=
</data>
<key>pcidebug</key>
<string>1:0:0</string>
<key>reg</key>
<data>
AAABAAAAAAAAAAAAAAAAAAAAAAAQAAECAAAAAAAAAAAAAAAAAAAAAhQAAUIAAAAAAAAA
AAAAAAAAAAAIHAABQgAAAAAAAAAAAAAAAAAAAAQkAAEBAAAAAAAAAAAAAAAAgAAAADAA
AQIAAAAAAAAAAAAAAAAAAAgA
</data>
<key>revision-id</key>
<data>
oQAAAA==
</data>
<key>rm_board_number</key>
<data>
AAAAAA==
</data>
<key>rm_multiboard_capable</key>
<data>
AQAAAA==
</data>
<key>rom-revision</key>
<data>
cHJlc2V0IDcwLjI2LjI3LjAwLjAwAA==
</data>
<key>saved-config</key>
<data>
DwhMAhAAAACgAG0eWSoAAwL/gAc4BJgIWACEAGUEBAAJAAAAAjp0QAAAAAABAAAAAAAA
AAAEAAAAAAAAAAAAABAqAAQBAIAHOASABzgEAAAAAgAAAQAAAAAAAA8AgAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA==
</data>
<key>subsystem-id</key>
<data>
EAAAAA==
</data>
<key>vendor-id</key>
<data>
3hAAAA==
</data>
</dict>
</plist>

Link to comment
Share on other sites

Finally for dvi-i 2 hdmi, same as above with just changing the efi string in chameleon plist to also inject the nvidia gfx string and in my case the hex code is:

 

a50200000100000002000000600200000d00000002010c00d041030a040000000101060000010101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002e0000006e5669646961204765466f7263652034353020475453204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e00560043004100500000001800000004000000000003000400000000000007000000000e0000006e0061006d00650000000b000000646973706c617914000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001a0000006e5669646961204765466f72636520343530204754530e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000008020000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e74390000000100000002010c00d041030a040000000101060000197fff0400160000006200750069006c0074002d0069006e0000000500000001

 

corresponding to xml plist code (using EFI Studio):

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PciRoot(0x4)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,compatible</key>
<string>NVDA,NVMac</string>
<key>@0,device_type</key>
<string>display</string>
<key>@0,name</key>
<string>NVDA,Display-A</string>
<key>@1,compatible</key>
<string>NVDA,NVMac</string>
<key>@1,device_type</key>
<string>display</string>
<key>@1,name</key>
<string>NVDA,Display-B</string>
<key>NVCAP</key>
<data>
BAAAAAAAAwAEAAAAAAAABwAAAAA=
</data>
<key>NVPM</key>
<data>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
<key>VRAM,totalsize</key>
<string>0x80000000</string>
<key>device_type</key>
<string>NVDA,Parent</string>
<key>model</key>
<string>nVidia GeForce 450 GTS</string>
<key>name</key>
<string>display</string>
<key>rom-revision</key>
<string>nVidia GeForce 450 GTS OpenGL Engine [EFI]</string>
</dict>
<key>PciRoot(0x4)/Pci(0x19,0x0)</key>
<dict>
<key>built-in</key>
<string>0x01</string>
</dict>
</dict>
</plist>

Link to comment
Share on other sites

The versions of Chameleon I used were all post 2.1, and now 2.2, precisely 3394-Enoch-rev.2121 ...

 

Now, noticing that on the hardware register the graphics card was actually located at PCI1@1, I again made a change to the DSDT as follows, to take this into account (the result seems still same, but it might have stopped the voodoohda kernel craches, none experienced so far since change, and the system looks faster)

of course as I also use GE = Yes, hard to say which is doing the job...

 

	 Device (PCI1)						 <--- patch PEGP here instead of before Device (PCI0)
	 {
		 Method (_S1D, 0, NotSerialized)
		 {
			 Return (One)
		 }

		 Method (_S3D, 0, NotSerialized)
		 {
			 If (HACK ())
			 {
				 Return (0x03)
			 }
			 Else
			 {
				 Return (0x02)
			 }
		 }

		 Method (_S4D, 0, NotSerialized)
		 {
			 If (HACK ())
			 {
				 Return (0x03)
			 }
			 Else
			 {
				 Return (0x02)
			 }
		 }

		 Method (_S5D, 0, NotSerialized)
		 {
			 If (HACK ())
			 {
				 Return (0x03)
			 }
			 Else
			 {
				 Return (0x02)
			 }
		 }

		 Method (_ADR, 0, NotSerialized)
		 {
			 Store (0x00010000, Local0)
			 Return (Local0)
		 }

		 Name (_UID, 0x19)
		 Name (_PRW, Package (0x02)
		 {
			 0x1B,
			 0x05
		 })
		 OperationRegion (RSTS, PCI_Config, 0xC0, 0x04)
		 Field (RSTS, ByteAcc, NoLock, Preserve)
		 {
			 PID0, 8,
			 PID1, 8,
			 PMXS, 8,
			 PNUS, 8
		 }

		 Method (_PRT, 0, NotSerialized)
		 {
			 Store (API1, Local0)
			 If (LNot (PICF))
			 {
				 Store (PIC1, Local0)
			 }

			 Return (Local0)
		 }

		 Device (PEGP)							 <-- patch
		 {
			 Name (_ADR, 0x00010000)
			 Name (_PRW, Package (0x02)
			 {
				 0x09,
				 0x05
			 })
			 Device (GFX0)
			 {
				 Name (_ADR, Zero)
				 Name (_SUN, One)
				 Method (_DSM, 4, NotSerialized)
				 {
					 Store (Package (0x3E)
						 {										 ...etc ( careful with matching { } 's )

 

I now attach my full last DSDT.aml ...DSDT.aml.zip

Link to comment
Share on other sites

Great work! I got the same graphic card and i sometimes get the voodoohda kernel panic on boot, I'd really love to have applehda native hdmi audio and if possible unstretch logo, tried to modified bios with nibitor but no luck..

  • Like 1
Link to comment
Share on other sites

VoodooHDA - I had to use separate Dev_Id, Ven_Id from the Sigmatel one, see here:

 

http://www.insanelym...gts-hdmi-sound/

 

edit: KP's can be avoided by loading VoodooHDA after start-up by using this:

 

voodoo-launcher - An alternate fix to the widespread VoodooHDA KP - Google Project Hosting

http://code.google.com/p/voodoo-launcher/

Link to comment
Share on other sites

  • 2 weeks later...

Thanx for your answer Bgrau. I currently use voodoo loader as u told me before, but sometimes when it loads the xext after login it freezes and I have to manually reboot. But I guess this thing is related to the nvidia video card, cause sometimes I got some freeze and I surf the web it's is a problem many people have got on mountain lion and in lion with fermi cards.

 

Your card is working fine? Do u use particular kext or only retail one?

Thanx

  • Like 1
Link to comment
Share on other sites

Thanx for your answer Bgrau. I currently use voodoo loader as u told me before, but sometimes when it loads the xext after login it freezes and I have to manually reboot. But I guess this thing is related to the nvidia video card, cause sometimes I got some freeze and I surf the web it's is a problem many people have got on mountain lion and in lion with fermi cards.

 

Your card is working fine? Do u use particular kext or only retail one?

Thanx

 

I have returned GTX 450, and purchased in ebay GTX 470... much better compatibility in Snow Leo, Lion and MLion...

for the drivers, I use the ones provided by NVIDIA themselves, but HDMI gives me trouble with my LCD, maybe I need to inject the EDID somewhere,

but DVI-I to HDMI works perfect, and sound is carried through HDMI, even if it is with DVI 2 HDMI adapter :)

with this setting, I need to put a gfx string for the graphics card...

 

with pure HDMI I do not need to, but it is pain because many attempts of boot until I get the signal through...

when there is a hook with the video signal, it is very stable...

 

My moniitor is LG, and they warned about use HDMI with some systems, I guess Mac OS X is one of them ;)

Link to comment
Share on other sites

 Share

×
×
  • Create New...