FredWst Posted October 16, 2010 Share Posted October 16, 2010 The "display-connect-flags" is a ATI / NVIDIA only flag. Verify this yourself with grep -r -e display-connect-flags . which dumps something like: Binary file ./ATI1300Controller.kext/Contents/MacOS/ATI1300Controller matches ... Binary file ./ATI5000Controller.kext/Contents/MacOS/ATI5000Controller matches Binary file ./ATIFramebuffer.kext/Contents/MacOS/ATIFramebuffer matches Binary file ./IONDRVSupport.kext/IONDRVSupport matches And activate your framebuffer can be done by adding the following snippet to _DSM in your DSDT: "AAPL,os-info", Buffer (0x10) { 0x30, 0x49, 0x01, 0x11, 0x01, 0x10, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff } Or by using this info in the booter. Yes you're Ok Buffer (0x14) not 0x10 I do it in gma.c Fred Link to comment Share on other sites More sharing options...
FredWst Posted October 16, 2010 Share Posted October 16, 2010 The kext was released by apple in 10.6.3 and i didnt see anyone working on it.. If anyone have get the gma to work in snow leopard please share here.. i think most of us will appreciate you.. Thanks. here is the kext from original 10.6.4 Mac OSX.. http://www.mediafire.com/download.php?nt2iterfjaz Edit : Uploaded Original DSDT from MacbookPro 2010 model with gforce 330m / Intel HD graphics. Thanks to one guy in x4500 thread for upload this.. Regards. The most important thing is to get ioreg dump with Intel HD Enable. Fred Link to comment Share on other sites More sharing options...
kizwan Posted October 16, 2010 Share Posted October 16, 2010 The most important thing is to get ioreg dump with Intel HD Enable. Fred This is IOReg & System Profiler dump from MacBookPro6,1:- http://www.mediafire.com/?aiisfr5y1a6uyjl http://www.mediafire.com/?57c24iqpp3ketld Buffer (0x14) not 0x10 I believe this is just a typo. Not a critical mistake. Link to comment Share on other sites More sharing options...
FredWst Posted October 16, 2010 Share Posted October 16, 2010 Yes I agree with you not so important. Does dump of ioregistry was made with Intel HD enable ? Fred Link to comment Share on other sites More sharing options...
kizwan Posted October 16, 2010 Share Posted October 16, 2010 Does dump of ioregistry was made with Intel HD enable ? Fred Yes, it is with Intel HD graphics enabled. My friend gave it to me. It is from MacBookPro6,1 with switchable graphics, Intel HD & Nvidia GPU. I'm not on my Mac now to double check it but I believe it have Intel Core i5 or i7-620M Link to comment Share on other sites More sharing options...
Time2Retire Posted October 16, 2010 Share Posted October 16, 2010 Yes you're Ok Buffer (0x14) not 0x10 Hi Fred, Good catch. Fixed. Thanks for spotting my error. I do it in gma.c Fred Don't have gma.c What is it? Link to comment Share on other sites More sharing options...
FredWst Posted October 16, 2010 Share Posted October 16, 2010 Yes, it is with Intel HD graphics enabled. My friend gave it to me. It is from MacBookPro6,1 with switchable graphics, Intel HD & Nvidia GPU. I'm not on my Mac now to double check it but I believe it have Intel Core i5 or i7-620M Strange, if you open MacBook_Pro-6.1.ioreg you can see in GFX0 -> AAPL,ndrv-dev Boolean True. In IGPU nothing I suppose that ndrv-dev means Native driver Device ? It could be nice to do both dump one with Nvidia enable, one with Intel Hd enable. And after do a binary compare to see what have change. Regards Fred Hi Fred, Good catch. Fixed. Thanks for spotting my error. Don't have gma.c What is it? Gma.c is part of meklort Job. You can get it from : svn co http://forge.voodooprojects.org/svn/chameleon/ Regards Fred Link to comment Share on other sites More sharing options...
kizwan Posted October 16, 2010 Share Posted October 16, 2010 It could be nice to do both dump one with Nvidia enable, one with Intel Hd enable. Too bad. I only have one with Intel HD enabled. If I'm not mistaken there is MacBook with Intel HD only. On notebook with switchable graphics, it use multiplexer(s) (except for Optimus powered notebook) between GPUs & LVDS (also HDMI, VGA, etc). Output from Intel HD is handled by PCH & connected to multiplexer(s) while discrete GPU connected to multiplexer(s) directly. I don't know whether Apple also use multiplexer(s) on their MacBookPro (with swtichable graphics) or not. But looking on how the GPUs switched in MacBookPro, look like it does use multiplexer but I might be mistaken. I don't think Intel released special processor for macbook. So this ruled out the possibility of differences between macbook's Intel HD & ours. The problem maybe lies on how macbook relay the output to display which might be different with ours. Link to comment Share on other sites More sharing options...
fmac Posted October 16, 2010 Share Posted October 16, 2010 Would you mind attaching a IORegistry Explorer dump for me? Thanks a lot! To all: See what I found out so far at: http://www.insanelymac.com/forum/index.php?showtopic=232968 Hi Here is my ioregdump Link to comment Share on other sites More sharing options...
fmac Posted October 16, 2010 Share Posted October 16, 2010 And activate your framebuffer can be done by adding the following snippet to _DSM in your DSDT: "AAPL,os-info", Buffer (0x14) { 0x30, 0x49, 0x01, 0x11, 0x01, 0x10, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff } Or by using this info in the booter. Hi Please can anybody help me ? where to put in the code above in dsdt ? when i try in Device_VID (my graphics device in dsdt) via DSM methode i have compile errors Thanks Link to comment Share on other sites More sharing options...
fmac Posted October 16, 2010 Share Posted October 16, 2010 Hi another try i get AppleIntelHDGraphics.kext and AppleIntelHDGraphicsFB.kext loaded but no output on screen,only remote is working whats wrong ?????????????????????????????????? Link to comment Share on other sites More sharing options...
Time2Retire Posted October 17, 2010 Share Posted October 17, 2010 Hi Please can anybody help me ? where to put in the code above in dsdt ? when i try in Device_VID (my graphics device in dsdt) via DSM methodei have compile errors Thanks Hi fmac. Here's an example: OperationRegion (GFXH, PCI_Config, 0x00, 0x40) // See Intel Datasheet Field (GFXH, ByteAcc, NoLock, Preserve) { VID0, 16, DID0, 16 } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) // Might Not Be Required! { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LNotEqual (And (VID0, 0xFFFF), 0xFFFF)) // Might Not Be Required! { Store (Package (0x08) // Change Buffer Length (0x08 here) Accordantly { "AAPL,aux-power-connected", // MagSafe Power Adapter Status Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL,display-alias", // Fix Framebuffer Alias Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, "AAPL,os-info", // Kernel Graphics Info Buffer (0x14) { /* 0000 */ 0x30, 0x49, 0x01, 0x11, 0x01, 0x10, 0x08, 0x00, 0x00, 0x01, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff }, "hda-gfx", // Device Audio Linkage Buffer (0x0A) { "onboard-1" } // No Comma Here! }, Local0) [color="#FF0000"] MCDP (Arg2, RefOf (Local0)) [/color] // Master Chief's Shortcut Return (Local0) } } Return (0x80000002) // Prevent Control Path Return Value Compiler Warning } } Inject this at the bottom of the Device with: Name (_ADR, 0x00020000) and replace DTGP with this: Method (MCDP, 2, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Buffer (One) { 0x03 }, Arg1) } } And fix the callers of DTGP. Change them into MCDP (note the arguments) and you should be fine. You should also have: Scope (_SB) { [color="#2E8B57"]Device (PNLF) { Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 0x0A) Name (_STA, 0x0B) }[/color] Where the green lines really matter. The rest is just to let you see where, in which scope it should reside. And lastly. There's something like this which you need: Device (MCHC) // ACPI SMC Connect Link { Name (_ADR, 0x00) } Which btw I think is the living proof that Master Chief really worked for Intel. Like he said he did. Well. That should cover it. Link to comment Share on other sites More sharing options...
fmac Posted October 17, 2010 Share Posted October 17, 2010 Hi fmac. Here's an example: OperationRegion (GFXH, PCI_Config, 0x00, 0x40) // See Intel Datasheet Field (GFXH, ByteAcc, NoLock, Preserve) { VID0, 16, DID0, 16 } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) // Might Not Be Required! { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LNotEqual (And (VID0, 0xFFFF), 0xFFFF)) // Might Not Be Required! { Store (Package (0x08) // Change Buffer Length (0x08 here) Accordantly { "AAPL,aux-power-connected", // MagSafe Power Adapter Status Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "AAPL,display-alias", // Fix Framebuffer Alias Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, "AAPL,os-info", // Kernel Graphics Info Buffer (0x14) { /* 0000 */ 0x30, 0x49, 0x01, 0x11, 0x01, 0x10, 0x08, 0x00, 0x00, 0x01, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff }, "hda-gfx", // Device Audio Linkage Buffer (0x0A) { "onboard-1" } // No Comma Here! }, Local0) [color="#ff0000"] MCDP (Arg2, RefOf (Local0)) [/color] // Master Chief's Shortcut Return (Local0) } } Return (0x80000002) // Prevent Control Path Return Value Compiler Warning } } Inject this at the bottom of the Device with: Name (_ADR, 0x00020000) and replace DTGP with this: Method (MCDP, 2, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Buffer (One) { 0x03 }, Arg1) } } And fix the callers of DTGP. Change them into MCDP (note the arguments) and you should be fine. You should also have: Scope (_SB) { [color="#2e8b57"]Device (PNLF) { Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 0x0A) Name (_STA, 0x0B) }[/color] Where the green lines really matter. The rest is just to let you see where, in which scope it should reside. And lastly. There's something like this which you need: Device (MCHC) // ACPI SMC Connect Link { Name (_ADR, 0x00) } Which btw I think is the living proof that Master Chief really worked for Intel. Like he said he did. Well. That should cover it. I cant get it Please can you help me untouched dsdt file is atteched Link to comment Share on other sites More sharing options...
FredWst Posted October 17, 2010 Share Posted October 17, 2010 Hello, Scope (\_SB.PCI0) { Device (VID) { Name (_ADR, 0x00020000) Name (IVD5, Buffer (0x03) {}) CreateByteField (IVD5, 0x00, IVD6) CreateByteField (IVD5, 0x01, IVD7) CreateByteField (IVD5, 0x02, IVD8) OperationRegion (PCS, PCI_Config, 0x00, 0x0100) Field (PCS, AnyAcc, NoLock, WriteAsZeros) { VVID, 16, Offset (0x0A), DCLS, 16 } *************************************** Put your code here Method (_DSM, 4, NotSerialized) { } *************************************** Method (VINI, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (0x00, IVD6) Store (DCLS, Local1) If (LEqual (DCLS, 0x0300)) { Store (0x01, IVD6) Store (\_SB.LID._LID (), Local0) \_SB.PCI0.GFX0.GLID (Local0) } } } Fred Link to comment Share on other sites More sharing options...
fmac Posted October 17, 2010 Share Posted October 17, 2010 Hello, Scope (\_SB.PCI0) { Device (VID) { Name (_ADR, 0x00020000) Name (IVD5, Buffer (0x03) {}) CreateByteField (IVD5, 0x00, IVD6) CreateByteField (IVD5, 0x01, IVD7) CreateByteField (IVD5, 0x02, IVD8) OperationRegion (PCS, PCI_Config, 0x00, 0x0100) Field (PCS, AnyAcc, NoLock, WriteAsZeros) { VVID, 16, Offset (0x0A), DCLS, 16 } *************************************** Put your code here Method (_DSM, 4, NotSerialized) { } *************************************** Method (VINI, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (0x00, IVD6) Store (DCLS, Local1) If (LEqual (DCLS, 0x0300)) { Store (0x01, IVD6) Store (\_SB.LID._LID (), Local0) \_SB.PCI0.GFX0.GLID (Local0) } } } Fred Thanks will give it a try Link to comment Share on other sites More sharing options...
fmac Posted October 17, 2010 Share Posted October 17, 2010 Ok I got it but it is a nogo for me no Display only remote Link to comment Share on other sites More sharing options...
kizwan Posted October 17, 2010 Share Posted October 17, 2010 Ok I got it but it is a nogo for me no Display only remote I can help you if you want. This will be an experiment though. Since you can remote, please provide me IOreg dump using IORegistryExplorer application. The one you gave earlier is text base IOreg dump, it is difficult to read. I assume the DSDT you gave earlier is the original DSDT, right? I'm also want EDID value for the internal LCD. You can get it using MonInfo application. The "Raw Data" is the EDID value. Link to comment Share on other sites More sharing options...
fmac Posted October 17, 2010 Share Posted October 17, 2010 I can help you if you want. This will be an experiment though. Since you can remote, please provide me IOreg dump using IORegistryExplorer application. The one you gave earlier is text base IOreg dump, it is difficult to read. I assume the DSDT you gave earlier is the original DSDT, right? I'm also want EDID value for the internal LCD. You can get it using MonInfo application. The "Raw Data" is the EDID value. Yes please All infos you request are in the zip file I added an output of "system info" to the dsdt is untouched, without any modifications the EDID is an export of "switch resx 4" native resolution of my display is 1600x900 Kind regards Link to comment Share on other sites More sharing options...
FredWst Posted October 17, 2010 Share Posted October 17, 2010 Hi, So i go back to seven to get proper EDID my screen is 1920x1080. And will test with correct value. Hope it will work. I also have life battery trouble under OSX about 5 hours, Seven or Linux is 9 hours. ( Battery 9 cells ) Fred Link to comment Share on other sites More sharing options...
kizwan Posted October 17, 2010 Share Posted October 17, 2010 Yes please All infos you request are in the zip file I added an output of "system info" to the dsdt is untouched, without any modifications the EDID is an export of "switch resx 4" native resolution of my display is 1600x900 Kind regards Thanks. You got the EDID value from SwitchResX. Can you obtain it in windows? Since Mac OS X cannot properly detect the internal LCD, the EDID value taken in it may/will not be accurate. The best way is to obtain it in windows. Thank you. Link to comment Share on other sites More sharing options...
fmac Posted October 17, 2010 Share Posted October 17, 2010 Thanks. You got the EDID value from SwitchResX. Can you obtain it in windows? Since Mac OS X cannot properly detect the internal LCD, the EDID value taken in it may/will not be accurate. The best way is to obtain it in windows. Thank you. Ok I do Link to comment Share on other sites More sharing options...
FredWst Posted October 17, 2010 Share Posted October 17, 2010 Re For Pannel 1920x1080 extract under seven 64 bits. EDID is : 00,FF,FF,FF,FF,FF,FF,00,30,E4,00,00,00,00,00,00, 00,13,01,04,95,22,13,78,02,15,D5,9E,59,50,98,26, 0E,50,54,00,00,00,01,01,01,01,01,01,01,01,01,01, 01,01,01,01,01,01,CA,35,80,92,70,38,1F,40,30,20, 35,00,58,C2,10,00,00,18,22,24,80,A0,70,38,1F,40, 30,20,35,00,58,C2,10,00,00,18,00,00,00,FE,00,44, 48,30,39,31,80,31,35,36,57,46,31,0A,00,00,00,00, 00,00,41,31,1E,00,00,00,00,09,01,0A,20,20,00,D6 Fred Link to comment Share on other sites More sharing options...
fmac Posted October 17, 2010 Share Posted October 17, 2010 Ok here´s all Monitor Asset Manager Report, generated 17.10.2010 (5.1.2600) Copyright © 1995-2010, EnTech Taiwan. --------------------------- Hardware data BUS_SLOT = PCI00000.PCI00004.PCI00008.PCI0000C.PCI00010.PCI00014.PCI00018.PCI0001C 00000000 = 00448086.20900006.06000002.00000000.00000000.00000000.00000000.00000000 00000010 = 00468086.00900007.03000002.00000000.F0000004.00000000.E000000C.00000000 000000B0 = 3B648086.00100006.07800006.00800000.F69B0004.00000000.00000000.00000000 000000B3 = 3B678086.00B80000.07000206.00000000.000070A1.F6990000.00000000.00000000 000000C8 = 10EA8086.00100007.02000005.00000000.F6900000.F6980000.00007041.00000000 000000D0 = 3B3C8086.02900006.0C032005.00000000.F6970000.00000000.00000000.00000000 000000D8 = 3B568086.00100006.04030005.00000010.F6960004.00000000.00000000.00000000 000000E0 = 3B428086.00100007.06040005.00810010.00000000.00000000.00010100.20006060 000000E8 = 3B348086.02900006.0C032005.00000000.F6950000.00000000.00000000.00000000 000000F0 = 24488086.00100007.060401A5.00010000.00000000.00000000.000B0B00.228000F0 000000F8 = 3B078086.02100007.06010005.00800000.00000000.00000000.00000000.00000000 00000200 = 422C8086.00100006.02800035.00000010.F4100004.00000000.00000000.00000000 00000300 = E4761180.00100007.06070002.00820000.F2C40000.020000A0.00040403.F2CFE000 00000301 = E8221180.00100006.08050103.00800010.F2C30000.00000000.00000000.00000000 00000304 = E8321180.00100006.0C001003.00800010.F2C00000.00000000.00000000.00000000 00003F00 = 2C628086.00000006.06000002.00800000.00000000.00000000.00000000.00000000 00003F01 = 2D018086.00000006.06000002.00800000.00000000.00000000.00000000.00000000 00003F10 = 2D108086.00000006.06000002.00800000.00000000.00000000.00000000.00000000 00003F11 = 2D118086.00000006.06000002.00800000.00000000.00000000.00000000.00000000 00003F12 = 2D128086.00000006.06000002.00800000.00000000.00000000.00000000.00000000 00003F13 = 2D138086.00000006.06000002.00800000.00000000.00000000.00000000.00000000 -------- --------------------------- Monitor #1 [Real-time 0x0100] Manufacturer............. LGD Plug and Play ID......... LGD029E Data string.............. P727R€156WD1 Serial number............ n/a Manufacture date......... 2009, ISO week 0 ------------------------- EDID revision............ 1.4 Input signal type........ Digital (DisplayPort) Color bit depth.......... 6 bits per primary color Color encoding formats... RGB 4:4:4 Screen size.............. 340 x 190 mm (15,3 in) Power management......... Not supported Extension blocs.......... None ------------------------- DDC/CI................... Not supported Color characteristics Default color space...... Non-sRGB Display gamma............ 2,20 Red chromaticity......... Rx 0,617 - Ry 0,349 Green chromaticity....... Gx 0,314 - Gy 0,597 Blue chromaticity........ Bx 0,151 - By 0,057 White point (default).... Wx 0,313 - Wy 0,329 Additional descriptors... None Timing characteristics Range limits............. Not available GTF standard............. Not supported Additional descriptors... None Preferred timing......... Yes Native/preferred timing.. 1600x900p at 60Hz Modeline............... "1600x900" 96,000 1600 1648 1680 1728 900 903 908 926 -hsync -vsync Detailed timing #1....... 1600x900p at 40Hz Modeline............... "1600x900" 64,200 1600 1648 1680 1740 900 903 908 922 -hsync -vsync Standard timings supported Report information Date generated........... 17.10.2010 Software revision........ 2.52.0.857 Data source.............. Real-time 0x0100 Operating system......... 5.1.2600.2.Service Pack 3 Raw data 00,FF,FF,FF,FF,FF,FF,00,30,E4,9E,02,00,00,00,00,00,13,01,04,95,22,13,78,02,1B,E5,9E,59,50,98,26, 0E,50,54,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,80,25,40,80,60,84,1A,30,30,20, 35,00,58,C2,10,00,00,18,14,19,40,8C,60,84,16,30,30,20,35,00,58,C2,10,00,00,18,00,00,00,FE,00,50, 37,32,37,52,80,31,35,36,57,44,31,0A,00,00,00,00,00,00,41,31,19,00,00,00,00,09,01,0A,20,20,00,DA Thanks Link to comment Share on other sites More sharing options...
kizwan Posted October 17, 2010 Share Posted October 17, 2010 I also have life battery trouble under OSX about 5 hours, Seven or Linux is 9 hours. ( Battery 9 cells ) Try check your SMBUS (SBUS) & LPC device in DSDT. SBUS communicate with thermal sensors, fan control, etc. LPC also does the same thing. If Mac OS X read sensors correctly, it will improve power management & this will increase the battery life/usage to almost similar what you get in windows. LPC can make the processor run much cooler. So basically, make sure AppleSMBUS* & AppleLPC kexts is loaded. I believe you already know this. Raw data 00,FF,FF,FF,FF,FF,FF,00,30,E4,9E,02,00,00,00,00,00,13,01,04,95,22,13,78,02,1B,E5,9E,59,50,98,26, 0E,50,54,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,80,25,40,80,60,84,1A,30,30,20, 35,00,58,C2,10,00,00,18,14,19,40,8C,60,84,16,30,30,20,35,00,58,C2,10,00,00,18,00,00,00,FE,00,50, 37,32,37,52,80,31,35,36,57,44,31,0A,00,00,00,00,00,00,41,31,19,00,00,00,00,09,01,0A,20,20,00,DA Thanks. I'll start working on it as soon as possible. Link to comment Share on other sites More sharing options...
Time2Retire Posted October 17, 2010 Share Posted October 17, 2010 ... Thanks. I'll start working on it as soon as possible. I wonder what you are going to change p.s. People with NVIDIA graphics might want to try: 30 49 01 01 01 00 08 00 00 00 00 00 00 00 00 00 FF FF FF FF To see if this selects the other GPU (found in AppleIntelHDGraphicsFB.kext). Link to comment Share on other sites More sharing options...
Recommended Posts