Jump to content
InsanelyMac Forum
bcc9

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

Recommended Posts

I thought it was clear from post #1 that this thread is about the 10.7 drivers and is not applicable to the older versions.

 

Yes you was clear, but after that came 10.6.8 that have a mix of 10.7 drivers...

 

I still need the index number to the PlatformInformationList for 10.6.8.

Anybody that knows how to find that index number?

Share this post


Link to post
Share on other sites
Advertisement

When the command no work this means that the 10.6.8 driver don't support this. But when the press is right u can get Lion on Wednesday.

Share this post


Link to post
Share on other sites

I have a GA-H67A-UD3H-B3 motherboard, and I found the connector table to use for DVI as the main display:

0000000: 0102 0300 1007 0000 1007 0000  ............
000000c: 0205 0000 0004 0000 0700 0000  ............
0000018: 0304 0000 0004 0000 0900 0000  ............
0000024: 0406 0000 0004 0000 0900 0000  ............
0000030: 0000 0000 0000 0000 0000 0000  ............

For DVI, I removed the connector entry for the LVDS display, and shifted the remaining entries up.

Share this post


Link to post
Share on other sites
For DVI, I removed the connector entry for the LVDS display, and shifted the remaining entries up.
Great, so your DVI port was in the same order as in post #7. I suspect the layout is the same for all sandy bridge desktops that have dvi&dp&hdmi. The motherboards without dp might be more interesting.

Share this post


Link to post
Share on other sites

i am downloading xcode 4.0.2 for testing how to edit conector info, i think i can do it.

 

By the way, dear bcc9, i think my MB is as same as you, GA-H67MA-UD2H-B3, if i can believe the result i will get as same as you( i mean appleintersnbgraphicsfb.kext)?

 

If the result is same, can you upload your woking kext named appleintelsnbgraphicsfb.kext? my cpu is i3 2105 ES, with HD3000 device id is 0x0112.

Thank you very much.

Share this post


Link to post
Share on other sites

Sorry, no, my modified kext will do you no good as I modified mine for displayport use, per post #1, and you just finished writing that you are using DVI. Besides, the whole point of this thread is to show you how to edit your own kext, not to offer up a binary patch that nobody understands how to maintain.

Share this post


Link to post
Share on other sites
Thanks for bcc9. i got my DVI work :P 
------------------------------------------------------------------------------------------------------------------
Last login: Tue Jul 19 13:52:16 on console
188:~ ye$ cd /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/MacOS
188:MacOS ye$ nm -arch x86_64 AppleIntelSNBGraphicsFB | grep 'D _PlatformInformationList'
0000000000029600 D _PlatformInformationList
188:MacOS ye$ lipo -detailed_info AppleIntelSNBGraphicsFB
Fat header in: AppleIntelSNBGraphicsFB
fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096
size 283552
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 290816
size 294736
align 2^12 (4096)
188:MacOS ye$ /code]

So i got the disk address is 0x29600+4096=173568.

let's go on
188:MacOS ye$ dd if=AppleIntelSNBGraphicsFB of=/tmp/table bs=1 skip=173568 count=60
60+0 records in
60+0 records out
60 bytes transferred in 0.000395 secs (151876 bytes/sec)
188:MacOS ye$ cd /tmp
188:tmp ye$ xxd -c 12 < table > hex
188:tmp ye$ cat hex
0000000: 0102 0300 1007 0000 1007 0000  ............
000000c: 0205 0000 0004 0000 0700 0000  ............
0000018: 0304 0000 0004 0000 0900 0000  ............
0000024: 0406 0000 0004 0000 0900 0000  ............
0000030: 0000 0000 0000 0000 0000 0000  ............

BY THE WAY, the code above had been edited, i want 0205 (DVI)work, so i should put it in row2, right?

xxd -c 12 -r hex >! table
% dd if=table of=/System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/MacOS/AppleIntelSNBGraphicsFB bs=1 seek=173568 conv=notrunc

here i got the information 

60+0 records 
60+0 records out

and 
% touch /System/Library/Extensions  it show me need permission, so i put sudo touch /System/Library/Extensions

i need reboot  for test.

After reboot, thanks for bcc9, i SUCCEED!  Thanks for every one!

Share this post


Link to post
Share on other sites

Hello, I have a DELL (R15) N5110 notebook which has HD3000 as one of its graphics cards. I have installed Lion DP4 on it, and it has this 5 sec delay. This was not happening on Lion DP3.

 

I wanted to ask if someone can help in fixing this issue. my table is not like the one on this post. My nm command produced something a bit different.

 

00000000000c5a9 t __GLOBAL__D_PlatformInformationList which I believe the address was 0x0c5a9 + 4096 =54697

 

My table is different, so can this technique be used the same? and how do I know which connector is causing the problem.

 

I would appreciate any help.

Share this post


Link to post
Share on other sites
00000000000c5a9 t __GLOBAL__D_PlatformInformationList which I believe the address was 0x0c5a9 + 4096 =54697

 

My table is different, so can this technique be used the same? and how do I know which connector is causing the problem.

 

I would appreciate any help.

If that's your output, it's because you didn't type the nm command as in post #1. Looks like you flubbed the grep part.

It's nonsense to think your table is different, the table is statically hard-coded into the driver.

Post #1 does already show exactly what to type for DP4, you should be able to follow along... (You could even skip the nm step as the number is going to be as shown in post #1).

 

 

 

BY THE WAY, the code above had been edited, i want 0205 (DVI)work, so i should put it in row2, right?

Yes, for dvi as the primary output, row 3 would be moved to row 2, and you'd adjust the connector count and remaining rows. Looks like you got it.

Share this post


Link to post
Share on other sites
Some prerequisites:
  • Installation of OSX Developer tools (if you need to lookup a PlatformInformationList that has not already been done by someone else)
  • Understanding of hex editing
  • Ability to troubleshoot by looking at ioregistry

As of the 10.7 developer preview code, the intel driver uses Smboardproduct (aka board-id in the ioregistry) to determine the display connectors that are available via the Intel HD 3000 graphics hardware. Actually there's also AAPL,snb-platform-id in the ioregistry that achieves the same result, but I'm going to ignore that for now.

 

Older code (10.6 including the 2011 MBP sandy bridge update) seems to strictly rely upon the os-info ioregistry entry for this information. I have not, and probably won't, look into editing os-info to change connector information.

 

With a 10.7 based version of AppleIntelSNBGraphicsFB.kext, the code uses the board-id as an index into the PlatformInformationList[] table. This table is pretty handy, and looks like:

/* 12 byte connectorinfo */
typedef struct {
   char byte0;
   char byte1; /* i2cid? */
   char unused[2];
   uint32	   connectortype;	/* The connector type, see below */
   char byte[4];
} connectorinfo_t;

/* 60 byte total */
typedef struct {
char byte0; /* Presence? */
char byte1; /* For display pipe max connector index? */
char byte2; /* Usable Connector count */
char byte3; /* Appears unused */
char byte[8];
connectorinfo_t connectors[4];
} PlatformInformationList_type;

PlatformInformationList_type PlatformInformationList[8];

where integers are represented in intel little-endian byte order, and bit 0 is the LSB.

In English, there are 8 tables in the list, each 60 bytes long. Each 60 byte table entry starts with a 12 byte header, followed by 4 connector information blocks. The connector information blocks are each 12 bytes long.

 

The connectorytype field appears to use the same codes as the ATI driver, where the only used values used by the driver thus far are:

 

#define CONNECTORTYPE_LVDS 0x00000002 /* Ie internal Low Voltage display, such as laptop */

#define CONNECTORTYPE_DP 0x00000400 /* Displayport */

#define CONNECTORTYPE_HDMI 0x00000800

 

If you don't set your board-id to a recognized value, a default connector table is instead taken from the address PlatformInformationDefault. THe default table only has 1 usable connector so this is likely to give you reduced functionality.

 

Setting SMboardproduct to various sandy bridge board-ids defines the index into PlatformInformationList[]. Interestingly only indexes 0 thru 5 are currently allowed (even though there are two more table entries...) In any case, for the purpose of this note, we'll use index 0 by setting the board-id to the MacBookPro8,1 value. In smbios.plist:

		<key>SMboardproduct</key>
	<string>Mac-94245B3640C91C81</string>

 

Unfortunately all 8 table entries use an LVDS connector for the first value, and the driver seems to malfunction if you have nothing plugged into this port. In my case I would see the kernel log fill up with errors about a stuck ring:

kernel[0]: WaitForStamp: Overflowed waiting for stamp 0x2f3 on Main ring: called from
...
kernel[0]: Looks like Main ring is stuck waiting on an event
kernel[0]: After attempt to clear wait condition = 0x00003001 no longer waiting

And it would get re-stuck every 5 seconds or so. More importantly this would make the graphics unusably slow unless I unplugged the display for > 5 seconds first. At that point the stuck ring problem would "heal"... Using a dual-head setup also seems to avoid this problem.

 

However, rather than hot-plugging the graphics display upon every boot, one can instead modify the above table to avoid this problem.

 

First we find the PlatformInformationList table. In the example below I'm using DP4:

% cd /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/MacOS
% nm -arch x86_64 AppleIntelSNBGraphicsFB | grep 'D _PlatformInformationList'
00000000000295f0 D _PlatformInformationList
% lipo -detailed_info AppleIntelSNBGraphicsFB
Fat header in: AppleIntelSNBGraphicsFB
fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096
size 283008
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 290816
size 293092
align 2^12 (4096)
%

So now we know the disk address for this table is:

0x295f0+4096=173552

Since there are 8 tables of 60 bytes, we could dump 8*60=480 bytes to see all 8 tables. Since I've chosen to work on the first entry, I'll dump just 60 bytes.

ALso since each connector is 12 bytes, I dump 12 bytes per line for our viewing pleasure.

% dd if=AppleIntelSNBGraphicsFB of=/tmp/table bs=1 skip=173552 count=60
60+0 records in
60+0 records out
60 bytes transferred in 0.000142 secs (422955 bytes/sec)
% cd /tmp
% xxd -c 12 < table > hex
% cat hex
0000000: 0102 0400 1007 0000 1007 0000  ............
000000c: 0503 0000 0200 0000 3000 0000  ........0...
0000018: 0205 0000 0004 0000 0700 0000  ............
0000024: 0304 0000 0004 0000 0900 0000  ............
0000030: 0406 0000 0004 0000 0900 0000  ............
%

In the above table you can see that 4 connectors are marked usable, 1 LVDS and 3 DP. On my h67 motherboard, I have 4 connectors: VGA, DVI, DP and HDMI. The DVI, DP and HDMI connectors all work with the DP connectortype shown in this table (the intel driver doesn't seem to use the connectortype for much).

 

I believe I can tell which of the above entries match my hardware by checking which entry has av-signal-type set, (or when AAPL,DisplayPipe != 0xffff?). I certainly can by exhausting testing of the combinations...

 

Now, to remove the problematic LVDS entry, I edit the hex file, producing:

0000000: 0102 0300 1007 0000 1007 0000  ............
000000c: 0304 0000 0004 0000 0900 0000  ............
0000018: 0205 0000 0004 0000 0700 0000  ............
0000024: 0406 0000 0004 0000 0900 0000  ............
0000030: 0000 0000 0000 0000 0000 0000  ............

In the above I moved the hex from the 3rd connector (row 4) to the first (row 2), zeroed the hex in row 5, and subtracted 1 from the connector count in row 0.

 

Now I write back the result:

xxd -c 12 -r hex >! table
% dd if=table of=/System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/MacOS/AppleIntelSNBGraphicsFB bs=1 seek=173552 conv=notrunc
% touch /System/Library/Extensions

Viola, 3 working connectors and no driver hangs, instead of 1 broken connector & 3 working connectors with driver hangs.

 

 

Great work Bcc9. I have a i2500k on GA-Z68MA-UD2H-B3 Mobo. I used your method to get my hex table.

 

Sorry I am new to hex editing and don't know how to edit the table. I was wondering if someone can please guide me.

 

I tired to find if the table file exists somewhere, but either its hidden or its exist in the /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/MacOS folder under the tmp folder. I found a few hex editors, but didn't want to go about editing the original AppleIntelSNBGraphicsFB file.

 

If someone can please tell where is the file that I need to hex edit it'll be great. I have 3 display ports only. (VGA, DVI, HDMI) so I am planning on zeroing out the the bottom two lines. Moving 0205 0000 0004 0000 0700 0000 (which I am assuming is the DVI port) as line # 2 and then subtracting the count by 2. Please let me know if this is correct. I have attached my terminal output below. Once again thanks so much for your help.

 

post-150535-1311456951_thumb.jpg

Share this post


Link to post
Share on other sites

Alrite I got hexedit and opened up AppleIntelSNBGraphicsFB and changed the entrees individually.

 

My original output for the connectors was:

 

0000000: 0102 0400 1007 0000 1007 0000  ............
000000c: 0503 0000 0200 0000 3000 0000  ........0...
0000018: 0205 0000 0004 0000 0700 0000  ............
0000024: 0304 0000 0004 0000 0900 0000  ............
0000030: 0406 0000 0004 0000 0900 0000  ............

 

Now my output looks like:

0000000: 0102 0300 1007 0000 1007 0000  ............
000000c: 0205 0000 0004 0000 0700 0000  ............
0000018: 0304 0000 0004 0000 0900 0000  ............
0000024: 0406 0000 0004 0000 0900 0000  ............
0000030: 0000 0000 0000 0000 0000 0000  ............

 

I changed one of the IOPCIPrimaryMatch device ID to 0x0112 form 0x0102.

 

I got native resolution for my monitor. However no video playback. Anyway to activate videoplayback or is this the best we can do?

 

 

Also bccc9..had a questions if you can please help me out.

 

I put in this command: (count = 96)

dd if=AppleIntelSNBGraphicsFB of=/tmp/table bs=1 skip=173568 count=96

 

This is the output I got

 

0000000: 0102 0400 1007 0000 1007 0000  ............
000000c: 0503 0000 0200 0000 3000 0000  ........0...
0000018: 0205 0000 0004 0000 0700 0000  ............
0000024: 0304 0000 0004 0000 0900 0000  ............
0000030: 0406 0000 0004 0000 0900 0000  ............
000003c: 0102 0100 1007 0000 1007 0000  ............
0000048: 0503 0000 0200 0000 3000 0000  ........0...
0000054: 0000 0000 0100 0000 4000 0000  ........@...

 

Seems like this code in the one that is execute when there is no display that is found?

 

000003c: 0102 0100 1007 0000 1007 0000  ............
0000048: 0503 0000 0200 0000 3000 0000  ........0...

 

Any benefit in changing it? I changed it to-

 

000003c: 0102 0100 1007 0000 1007 0000  ............
0000048: 0205 0000 0004 0000 0700 0000  ........0...

 

Still didn't get any video playback.

 

Also in my AppleIntelSNBGraphicsFB the code was repeated twice. One is earlier in the file (which is what is output with bcc9's method - I tested it) The second in much later in the file.

 

There were two occurences of:

 

0000000: 0102 0400 1007 0000 1007 0000  ............
000000c: 0503 0000 0200 0000 3000 0000  ........0...
0000018: 0205 0000 0004 0000 0700 0000  ............
0000024: 0304 0000 0004 0000 0900 0000  ............
0000030: 0406 0000 0004 0000 0900 0000  ............
000003c: 0102 0100 1007 0000 1007 0000  ............
0000048: 0503 0000 0200 0000 3000 0000  ........0...

 

I changed them both to

0000000: 0102 0300 1007 0000 1007 0000  ............
000000c: 0205 0000 0004 0000 0700 0000  ............
0000018: 0304 0000 0004 0000 0900 0000  ............
0000024: 0406 0000 0004 0000 0900 0000  ............
0000030: 0000 0000 0000 0000 0000 0000  ............
000003c: 0102 0100 1007 0000 1007 0000  ............
0000048: 0205 0000 0004 0000 0700 0000  ........0...

 

First time I got a kernel panic on startup telling me to restart. On restart it went through. Still no video. I tried to change all 3 occurrences of <key>IOPCIPrimaryMatch</key> <string>0x01128086</string>. Went back 1024x768. So Went back to my baseline.....

 

 

So still no luck with video playback. Any advice from anyone?

Share this post


Link to post
Share on other sites
So still no luck with video playback. Any advice from anyone?

 

When you say video playback, what exactly are you doing? Then what happens when you try? Any error message? Anything show up in the logs? (Use the Console utility to look at the logs.)

Share this post


Link to post
Share on other sites
When you say video playback, what exactly are you doing? Then what happens when you try? Any error message? Anything show up in the logs? (Use the Console utility to look at the logs.)

 

Just a black screen with audio only on mplayerx or vlc. Will check in console utility.

Share this post


Link to post
Share on other sites
Just a black screen with audio only on mplayerx or vlc. Will check in console utility.

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.

Share this post


Link to post
Share on other sites

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 difference.

 

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 curious in smbios.plist what mac model and and smproductid are people using?

Share this post


Link to post
Share on other sites
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>

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



×