Jump to content

Editing Custom connector info for Intel HD 3000 Graphics (sandy bridge, OSX Lion)


  • Please log in to reply
211 replies to this topic

#41
dougaa

dougaa

    InsanelyMac Geek

  • Donators
  • 179 posts

I noticed bcc mention that this might be different for boards without a display port. Mine has only three connectors. VGA/DVI/HDMI. When the above layout I (01, 02, 03, 04, 00) I get both VGA and DVI to work. Didn't test HDMI. I'll try different combos i guess 03 first and then 04 first and see it makes a different.

I'm assuming you are also changing the information in info.plist you add your device id. Mine is 0x0112. Or are no alterations being made to info.plist.

Also was curios in smbios.plist what mac model and and smproductid are people using?

By injecting the device in the DSDT I don't have to change info.plist. Mine is also 0x0112, but I used 0x0116 in the DSDT, which the kexts support. 0x0116 is the mobile version of 0x0112. Here is my smbios.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>SMfamily</key>
	<string>MacBook Pro</string>
	<key>SMproductname</key>
	<string>MacBookPro8,1</string>
	<key>SMboardproduct</key>
	<string>Mac-94245B3640C91C81</string>
	<key>SMserial</key>
	<string>C02F93FQDH2G</string>
	<key>SMbiosversion</key>
	<string>MBP81.0047.B0E</string>
	<key>SMmemspeed</key>
	<string>1333</string>
</dict>
</plist>


#42
rimmi2002

rimmi2002

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts

By injecting the device in the DSDT I don't have to change info.plist. Mine is also 0x0112, but I used 0x0116 in the DSDT, which the kexts support. 0x0116 is the mobile version of 0x0112. Here is my smbios.plist:


Dougaa thanks for your help. Do you have any helpful links on how to inject a device id in the dsdt? I have followed instructions and done basic dsdt editing before to get my video card in the dsdt. Don't know how to do device injection. Thanks.

#43
rimmi2002

rimmi2002

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts
Alrite tried all there combos (02... first and then 03.... first and the 04.....first) doesnt make a difference. All get full resolution via DVI (which happens to be display # "02") but no video display. This is what I get in console when I try to run VLC.

Jul 24 16:16:51 macintosh [0x0-0xa00a].org.videolan.vlc[125]:  m_el[mi_level] == NULL
Jul 24 16:16:51 macintosh [0x0-0xa00a].org.videolan.vlc[125]:  arrrrrrrrrrrrrg Up cannot escape itself
Jul 24 16:16:51 macintosh [0x0-0xa00a].org.videolan.vlc[125]:  m_el[mi_level] == NULL
Jul 24 16:16:51 macintosh [0x0-0xa00a].org.videolan.vlc[125]:  arrrrrrrrrrrrrg Up cannot escape itself
Jul 24 16:16:51 macintosh [0x0-0xa00a].org.videolan.vlc[125]: No accelerated IMDCT transform found

For XBMC the program does not even run: This is the error

Jul 24 16:20:25 Macintosh XBMC[285]: invalid pixel format
Jul 24 16:20:25 Macintosh XBMC[285]: invalid context
Jul 24 16:20:25 Macintosh [0x0-0x2c02c].com.teamxbmc.xbmc[285]: ERROR: Unable to create application. Exiting
Jul 24 16:20:25 Macintosh XBMCHelper[294]: XBMCHelper 0.7 starting up...
Jul 24 16:20:25 Macintosh [0x0-0x2c02c].com.teamxbmc.xbmc[285]: 2011-07-24 16:20:25.781 XBMCHelper[294:707] XBMCHelper 0.7 starting up...
Jul 24 16:20:25 Macintosh XBMCHelper[294]: [ERROR] Driver has not found any remotes it could use. Will use remotes as they become available.
Jul 24 16:20:25 Macintosh [0x0-0x2c02c].com.teamxbmc.xbmc[285]: 2011-07-24 16:20:25.791 XBMCHelper[294:707] [ERROR] Driver has not found any remotes it could use. Will use remotes as they become available.
Jul 24 16:20:25 Macintosh [0x0-0x2c02c].com.teamxbmc.xbmc[285]: Asking helper to start


Right now only way I can get full resolution is by changing one the setting in info.plist to 0x0112. Maybe the way to go is to inject a valid apple device Id into the DSDT. If someone can teach me how to do or link me to a place that has info on it...that'll be great. Thanks for your help!

#44
dougaa

dougaa

    InsanelyMac Geek

  • Donators
  • 179 posts

Dougaa thanks for your help. Do you have any helpful links on how to inject a device id in the dsdt? I have followed instructions and done basic dsdt editing before to get my video card in the dsdt. Don't know how to do device injection. Thanks.

Here's what I did for the DSDT. Where these lines are in the DSDT:
Device (IGD0)
			{
				Name (_ADR, 0x00020000)
				OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
insert a method after the Name line:
Device (IGD0)
			{
				Name (_ADR, 0x00020000)

				Method (_DSM, 4, NotSerialized)	  // ***** graphics fix
				{
					Store (Package (0x02)
						{
							"device-id",
							Buffer (0x04)
							{
								0x16, 0x01, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}

				OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
The 0x16, 0x01 makes the device id 0x0116, which you can verify in System Profiler or IORegistryExplorer.

#45
rimmi2002

rimmi2002

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts

The 0x16, 0x01 makes the device id 0x0116, which you can verify in System Profiler or IORegistryExplorer.



AWESOME!!! Thanks Dougaa. Works like a charm now. Have both QE/CI and full resolution. I used device ID 0x0126 instead of 0x0116 cause my MBP was 0x0126 and I had the smbios of the a MBP. I was gettings few artifacts with 0x0116. Its pristine clean with 0x0126. Had all 3 ports VGA/DVI and HDMI working. No HDMI audio though wasn't expecting so not a biggy!

Since Bcc9 was wondering how things works with motherboards without displayport. My "02" display tracks to both the DVI and VGA (I connected the same monitor via both VGA and HDMI and both seems to work through the "02").

I did dual monitor with DVI and HDMI. DVI was "02" display and HDMI was on "04" Not sure what "03" is. It might be useless since in yours it tracks to display port and since my mobo does not have a displayport. Not sure if I can dual monitor with VGA and DVI. I don't have two monitors to test it out.

Thanks for all the help. My weekend been spent trying to figure this out and it feels good to finish it! Thanks Dougaa!

#46
dougaa

dougaa

    InsanelyMac Geek

  • Donators
  • 179 posts

AWESOME!!! Thanks Dougaa. Works like a charm now. Have both QE/CI and full resolution. I used device ID 0x0126 instead of 0x0116 cause my MBP was 0x0126 and I had the smbios of the a MBP. I was gettings few artifacts with 0x0116. Its pristine clean with 0x0126. Had all 3 ports VGA/DVI and HDMI working. No HDMI audio though wasn't expecting so not a biggy!

Since Bcc9 was wondering how things works with motherboards without displayport. My "02" display tracks to both the DVI and VGA (I connected the same monitor via both VGA and HDMI and both seems to work through the "02").

I did dual monitor with DVI and HDMI. DVI was "02" display and HDMI was on "04" Not sure what "03" is. It might be useless since in yours it tracks to display port and since my mobo does not have a displayport. Not sure if I can dual monitor with VGA and DVI. I don't have two monitors to test it out.

Thanks for all the help. My weekend been spent trying to figure this out and it feels good to finish it! Thanks Dougaa!

Glad to hear you were successful. Sometimes, but not all the time, I get minor artifacts with 0x0116, so I'll have to try 0x0126 and see if it makes a difference. 0x0126 is the mobile version of HD3000+, instead of HD3000 like we have. It seemed to make more sense to use 0x0116, but sometimes these things don't work out the way you might expect.

#47
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

Glad to hear you were successful. Sometimes, but not all the time, I get minor artifacts with 0x0116, so I'll have to try 0x0126 and see if it makes a difference. 0x0126 is the mobile version of HD3000+, instead of HD3000 like we have. It seemed to make more sense to use 0x0116, but sometimes these things don't work out the way you might expect.

See also my posts about getting reduced opengl benchmark results if you pick the wrong pci id to map to.

#48
rimmi2002

rimmi2002

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts

I did a quick check with VLC in both Snow Leopard and Lion, and didn't notice any problems. I used a .mp4 file with no DRM. I'm using device-id injection in the DSDT. For Lion I patched the connector list in AppleIntelSNBGraphicsFB.kext (as described in this thread), and for Snow Leopard I used device-properties in the boot plist to define AAPL,os-info. I have a GA-H67A-UD3H-B3 motherboard and i5-2500K CPU, and I'm using the DVI connector.


Hi Dougaa, thanks for your help with getting HD3000 up and running fully in Lion. I am thinking about ditching Lion and going back to SL. You mentioned you had a method of having HD3000 working in SL. Can you please explain how you did it if possible? Thanks for your help again! Appreciate it!

#49
stealthblade

stealthblade

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
I'm trying to inject the device-id into my DSDT. But i can't find IGD0 / GFX0 section in my DSDT. Maybe someone can help me ?

Monitor resolutions are working for me, except QE/CI.
Motherboard is a P8H67-M PRO.

Attached Files



#50
rimmi2002

rimmi2002

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 153 posts
Thanks for getting back! I guess I try that as well. I was wondering did you ever consider copying the edited AppleIntelSNBGraphicsFB kext from lion into SL and see if that makes a difference. I know integrated graphics are handeled differently in both, but I guess worth a shot. I'll try it once I reload. Thanks!

#51
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male
There is already a separate thread about using os-info to get working qe/ci support under 10.6. Please could we keep newbie & 10.6 discussion out of this thread?

#52
stealthblade

stealthblade

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

There is already a separate thread about using os-info to get working qe/ci support under 10.6. Please could we keep newbie & 10.6 discussion out of this thread?

Are you referring to me?

I'm running OSX Lion with you're custom connector trick (thanx for that) otherwise my driver would get stuck every 5 seconds. The only thing that is not working is QE/CI, and i see a lot of people had success on editing there device-id in their DSDT.

#53
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

Are you referring to me?

I'm running OSX Lion with you're custom connector trick (thanx for that) otherwise my driver would get stuck every 5 seconds. The only thing that is not working is QE/CI, and i see a lot of people had success on editing there device-id in their DSDT.

I guess not since you're on 10.7 :D
I'm also guessing you must have edited the driver's info.plist to get the pci matching working without dsdt, otherwise I'm confused about your situation.
Also I'm not sure which device entry (if any) in your dsdt matches the graphics hardware, I don't see an obvious device. Check the pci address for your display with lspci, and find the matching _ADR statement in your dsdt. And or check your ioregisty. If there is no matching device present in your dsdt, you may need to add the entire Device subtree for the graphics hardware, just like you typically do for discrete graphics hardware.

No idea why you say might not have working qe/ci, with no debug info.

#54
dougaa

dougaa

    InsanelyMac Geek

  • Donators
  • 179 posts

Thanks for getting back! I guess I try that as well. I was wondering did you ever consider copying the edited AppleIntelSNBGraphicsFB kext from lion into SL and see if that makes a difference. I know integrated graphics are handeled differently in both, but I guess worth a shot. I'll try it once I reload. Thanks!

I agree with bcc9 about keeping this thread for Lion. I deleted my previous reply. Instead, see my posting in the other thread at http://www.insanelym...p...t&p=1721025

#55
stealthblade

stealthblade

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
I did some more research and i have found the address (0x00020000).

Also i've found out that i don't need to customize the connector info when i use macpro3.1 as smbios.
Only with the macbookpro8.1 smbios my driver will hang every 5 seconds and i need to customize the connectors.

Also i have to remove the AppleIntelHDGraphicsGLDriver.bundle otherwise the driver will hang after verbose mode on the apple logo with my mouse enabled, doesn't matter which smbios i use.

I'm using a Core i3 2100 / HD2000.

Error log with AppleIntelHDGraphicsGLDriver.bundle installed
kernel[0]: WaitForStamp: Overflowed waiting for stamp 0x62 on Main ring: called from
kernel[0]: timestamp = 0x000e
kernel[0]: ****  Debug info for apparent hang in Main graphics engine  ****
kernel[0]: ring head	= 0x00000578, wrap count = 0x 0
kernel[0]: ring tail	= 0x00002d80 ring control = 0x00003001   enabled, auto report disabled, $
kernel[0]: timestamps = 0x000e
kernel[0]: Semaphore register values:
kernel[0]: VRSYNC: (0x12044) = 0xe
kernel[0]: BRSYNC: (0x22040) = 0x0
kernel[0]: RVSYNC: (0x 2040) = 0x0
kernel[0]: BVSYNC: (0x22044) = 0x0
kernel[0]: RBSYNC: (0x 2044) = 0x0
kernel[0]: VBSYNC: (0x12040) = 0x0
kernel[0]: kIPEHR: 0x2000000
kernel[0]: kINSTDONE: 0xff88fffb
kernel[0]: kINSTDONE_1: 0x9bf8ffff


#56
sketcher

sketcher

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
I modify the table to be like this.

0000000: 0102 0300 1007 0000 1007 0000 ............
000000c: 0100 0000 0004 0000 3000 0000 ........0...
0000018: 0205 0000 0004 0000 0700 0000 ............
0000024: 0406 0000 0008 0000 0600 0000 ............
0000030: 0000 0000 0000 0000 0000 0000 ............

Hopefully to enable my VGA port but it's not. Any idea?

#57
himac59

himac59

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
see:
http://www.tonymacx8...=...370&start=0

#58
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

I modify the table to be like this.

0000000: 0102 0300 1007 0000 1007 0000 ............
000000c: 0100 0000 0004 0000 3000 0000 ........0...
0000018: 0205 0000 0004 0000 0700 0000 ............
0000024: 0406 0000 0008 0000 0600 0000 ............
0000030: 0000 0000 0000 0000 0000 0000 ............

Hopefully to enable my VGA port but it's not. Any idea?

I don't think this framebuffer works via a separate VGA port. If your hardware has VGA&DVI tied together, then the framebuffer output should work via the DVI connector config (per rimmi's post). Otherwise, I'm not aware of anyone who has the VGA port working other than for bios/bootup output.



Only with the macbookpro8.1 smbios my driver will hang every 5 seconds and i need to customize the connectors.

That, and the error log you showed, are the default behavior you get when you haven't edited the connectors per post #1 (and you're not employing a workaround such as hotplugging the connector or having 2 connectors plugged in at once).


Also i have to remove the AppleIntelHDGraphicsGLDriver.bundle otherwise the driver will hang after verbose mode on the apple logo with my mouse enabled, doesn't matter which smbios i use.

Interesting, I assume you don't have working opengl without that driver, thus it's better to patch the connector info.

#59
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

see:
http://www.tonymacx8...=...370&start=0

@rimmi:
No credit or reference to this thread where I detailed how to modify the kext in the first place?? Just says "my [rimmi's] modified AppleIntelSNBGraphicsFB", and now it's called tony/rimmi's solution? That AppleIntelSNBGraphicsFB modification would not be possible were it not for the information I carefully documented here (after developing the solution in the first place).

I was also the person to come up with the device-id injection via dsdt method for this driver.

It's really intellectually dishonest to not give credit where credit's due.

Not to mention, posting a binary patched AppleIntelSNBGraphicsFB instead of just a reference to how to do it oneself leaves the users depending upon you for updates for every minor OSX release.
:)

#60
sketcher

sketcher

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts

@rimmi:
No credit or reference to this thread where I detailed how to modify the kext in the first place?? Just says "my [rimmi's] modified AppleIntelSNBGraphicsFB", and now it's called tony/rimmi's solution? That AppleIntelSNBGraphicsFB modification would not be possible were it not for the information I carefully documented here (after developing the solution in the first place).

I was also the person to come up with the device-id injection via dsdt method for this driver.

It's really intellectually dishonest to not give credit where credit's due.

Not to mention, posting a binary patched AppleIntelSNBGraphicsFB instead of just a reference to how to do it oneself leaves the users depending upon you for updates for every minor OSX release.
:)


Big sorry to you bcc9 i should have known that without you there may still be no possibility for HD3000. I'll never forgot to give u credits ever again.

Back to the topic of HD3000. Did u happen to have a problem with graphic glitches occur sometimes and that might cause system to hang?





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy