kizwan Posted November 12, 2010 Share Posted November 12, 2010 I just updated to 10.6.5 today. You still need to use cpus=1 & busratio? I don't have HP notebook but I know it is known issue on HP notebook. I read somewhere at tonymac forum that someone already tried to patch APIC table but it didn't work. Sorry, I don't remember or save the link since it is long time ago. This is my APIC table if you're interested. If not, just ignore it. /* * Intel ACPI Component Architecture * AML Disassembler version 20101013-32 [Oct 13 2010] * Copyright © 2000 - 2010 Intel Corporation * * Disassembly of acpi_apic.bin, Fri Nov 12 20:51:04 2010 * * ACPI Data Table [APIC] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue */ [000h 0000 4] Signature : "APIC" /* Multiple APIC Description Table */ [004h 0004 4] Table Length : 0000008C [008h 0008 1] Revision : 02 [009h 0009 1] Checksum : 13 [00Ah 0010 6] Oem ID : "_ASUS_" [010h 0016 8] Oem Table ID : "Notebook" [018h 0024 4] Oem Revision : 06222004 [01Ch 0028 4] Asl Compiler ID : "MSFT" [020h 0032 4] Asl Compiler Revision : 00010013 [024h 0036 4] Local Apic Address : FEE00000 [028h 0040 4] Flags (decoded below) : 00000001 PC-AT Compatibility : 1 [02Ch 0044 1] Subtable Type : 00 [02Dh 0045 1] Length : 08 [02Eh 0046 1] Processor ID : 01 [02Fh 0047 1] Local Apic ID : 00 [030h 0048 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [034h 0052 1] Subtable Type : 00 [035h 0053 1] Length : 08 [036h 0054 1] Processor ID : 02 [037h 0055 1] Local Apic ID : 04 [038h 0056 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [03Ch 0060 1] Subtable Type : 00 [03Dh 0061 1] Length : 08 [03Eh 0062 1] Processor ID : 03 [03Fh 0063 1] Local Apic ID : 01 [040h 0064 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [044h 0068 1] Subtable Type : 00 [045h 0069 1] Length : 08 [046h 0070 1] Processor ID : 04 [047h 0071 1] Local Apic ID : 05 [048h 0072 4] Flags (decoded below) : 00000001 Processor Enabled : 1 [04Ch 0076 1] Subtable Type : 00 [04Dh 0077 1] Length : 08 [04Eh 0078 1] Processor ID : 05 [04Fh 0079 1] Local Apic ID : 04 [050h 0080 4] Flags (decoded below) : 00000000 Processor Enabled : 0 [054h 0084 1] Subtable Type : 00 [055h 0085 1] Length : 08 [056h 0086 1] Processor ID : 06 [057h 0087 1] Local Apic ID : 05 [058h 0088 4] Flags (decoded below) : 00000000 Processor Enabled : 0 [05Ch 0092 1] Subtable Type : 00 [05Dh 0093 1] Length : 08 [05Eh 0094 1] Processor ID : 07 [05Fh 0095 1] Local Apic ID : 06 [060h 0096 4] Flags (decoded below) : 00000000 Processor Enabled : 0 [064h 0100 1] Subtable Type : 00 [065h 0101 1] Length : 08 [066h 0102 1] Processor ID : 08 [067h 0103 1] Local Apic ID : 07 [068h 0104 4] Flags (decoded below) : 00000000 Processor Enabled : 0 [06Ch 0108 1] Subtable Type : 01 [i] [06Dh 0109 1] Length : 0C [06Eh 0110 1] I/O Apic ID : 02 [06Fh 0111 1] Reserved : 00 [070h 0112 4] Address : FEC00000 [074h 0116 4] Interrupt : 00000000 [078h 0120 1] Subtable Type : 02 [079h 0121 1] Length : 0A [07Ah 0122 1] Bus : 00 [07Bh 0123 1] Source : 00 [07Ch 0124 4] Interrupt : 00000002 [080h 0128 2] Flags (decoded below) : 0000 Polarity : 0 Trigger Mode : 0 [082h 0130 1] Subtable Type : 02 [083h 0131 1] Length : 0A [084h 0132 1] Bus : 00 [085h 0133 1] Source : 09 [086h 0134 4] Interrupt : 00000009 [08Ah 0138 2] Flags (decoded below) : 000D Polarity : 1 Trigger Mode : 3 Raw Table Data 0000: 41 50 49 43 8C 00 00 00 02 13 5F 41 53 55 53 5F APIC......_ASUS_ 0010: 4E 6F 74 65 62 6F 6F 6B 04 20 22 06 4D 53 46 54 Notebook. ".MSFT 0020: 13 00 01 00 00 00 E0 FE 01 00 00 00 00 08 01 00 ................ 0030: 01 00 00 00 00 08 02 04 01 00 00 00 00 08 03 01 ................ 0040: 01 00 00 00 00 08 04 05 01 00 00 00 00 08 05 04 ................ 0050: 00 00 00 00 00 08 06 05 00 00 00 00 00 08 07 06 ................ 0060: 00 00 00 00 00 08 08 07 00 00 00 00 01 0C 02 00 ................ 0070: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 ................ 0080: 00 00 02 0A 00 09 09 00 00 00 0D 00 ............ [/i] Back to topic. I use Graphics Mode to set resolution to 1280x1024. It only work on external monitor since the resolution is not supported by internal monitor. I didn't noticed the IOFBCurrentPixelClock and IOFBCurrentPixelCount properties. I'll check it later. About the ROM file, are you comparing it with MacBookPro's Intel HD ROM? Link to comment Share on other sites More sharing options...
Time2Retire Posted November 12, 2010 Share Posted November 12, 2010 I just updated to 10.6.5 today. You still need to use cpus=1 & busratio? I don't have HP notebook but I know it is known issue on HP notebook. I read somewhere at tonymac forum that someone already tried to patch APIC table but it didn't work. Sorry, I don't remember or save the link since it is long time ago. This is my APIC table if you're interested. If not, just ignore it. Hi kizan, Yup. I still need it. I patch the APIC table but it did not change anything. Seen other links about a possible DSDT patch, but there's no code (example) and thus I am stuck. p.s. Mucha made the lapic.c patch available here, and said that it was a BIOS bug, but without telling where, in which ACPI table, and what the actual bug is about so there's no way of patching it. Back to topic. I use Graphics Mode to set resolution to 1280x1024. It only work on external monitor since the resolution is not supported by internal monitor. I didn't noticed the IOFBCurrentPixelClock and IOFBCurrentPixelCount properties. I'll check it later. About the ROM file, are you comparing it with MacBookPro's Intel HD ROM? Same here. Only 1024 x 768 availble (max) for the LCD panel. Do have higher resolution also, but never tested them. Will do later tonight. And yes I am comparing the hack against the MacBookPro. I also write tools, like the one I wrote today (dminfo.c): /* cc dminfo.c -o /tmp/dminfo -framework IOKit -framework ApplicationServices -Wall -g */ #include <CoreFoundation/CoreFoundation.h> #include <IOKit/graphics/IOGraphicsLib.h> #include <ApplicationServices/ApplicationServices.h> #include <stdlib.h> #include <stdio.h> /* struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize; */ CGDirectDisplayID displays[3]; int main(int argc, char * argv[]) { uint32_t numDisplays, i, unitNumber, modelNumber, vendorNumber, flags; CGGetActiveDisplayList(3, displays, &numDisplays); for (i = 0; i < numDisplays; i++) { CGDisplayModeRef mode; CFIndex index, count; CFArrayRef modeList; CGDirectDisplayID display = displays[ i ]; printf("\nDisplay : %d\n", i); /* See also: /System/Library/Frameworks/ApplicationServices.framework/Versions/ A/Frameworks/CoreGraphics.framework/Versions/A/Headers/CGDisplayConfiguration.h */ CGDirectDisplayID displayID = CGMainDisplayID(); printf("Display ID : 0x%x (%d)\n", displayID, displayID); CGSize dimensions = CGDisplayScreenSize(display); vendorNumber = CGDisplayVendorNumber(display); printf("Vendor : 0x%x (%d)\n", vendorNumber, vendorNumber); modelNumber = CGDisplayModelNumber(display); printf("Model Number : 0x%x (%d)\n", modelNumber, modelNumber); printf("Serial Number : %d\n", CGDisplaySerialNumber(display)); printf("Width : %f mm\n", dimensions.width); printf("Height : %f mm\n", dimensions.height); printf("CGDisplayPixelsWide : %d pixels\n", (int) CGDisplayPixelsWide(display)); printf("CGDisplayPixelsHigh : %d pixels\n", (int) CGDisplayPixelsHigh(display)); /* From gaussblur.c but deprecated in 10.6 printf("CGDisplayBaseAddress : %p\n", CGDisplayBaseAddress(display)); printf("CGDisplayBytesPerRow : %d\n", (int) CGDisplayBytesPerRow(display)); */ CGImageRef image = CGDisplayCreateImage(display); printf("CGImageGetBitsPerPixel : %d\n", (int)CGImageGetBitsPerPixel(image)); printf("CGImageGetBytesPerRow : %d\n", (int)CGImageGetBytesPerRow(image)); /* Other functions (two examples) printf("CGImageGetHeight : %d\n", (int)CGImageGetHeight(image)); printf("CGImageGetWidth : %d\n", (int)CGImageGetWidth(image)); */ printf("CGDisplayIsActive : %s\n", CGDisplayIsActive(display) ? "true" : "false"); printf("CGDisplayIsAsleep : %s\n", CGDisplayIsAsleep(display) ? "true" : "false"); printf("CGDisplayIsOnline : %s\n", CGDisplayIsOnline(display) ? "true" : "false"); printf("CGDisplayIsMain : %s\n", CGDisplayIsMain(display) ? "true" : "false"); printf("CGDisplayIsBuiltin : %s\n", CGDisplayIsBuiltin(display) ? "true" : "false"); printf("CGDisplayIsInMirrorSet : %s\n", CGDisplayIsInMirrorSet(display) ? "true" : "false"); printf("CGDisplayIsAlwaysInMirrorSet : %s\n", CGDisplayIsAlwaysInMirrorSet(display) ? "true" : "false"); printf("CGDisplayIsInHWMirrorSet : %s\n", CGDisplayIsInHWMirrorSet(display) ? "true" : "false"); printf("CGDisplayMirrorsDisplay : %s\n", CGDisplayMirrorsDisplay(display) ? "true" : "false"); printf("CGDisplayUsesOpenGLAcceleration: %s\n", CGDisplayUsesOpenGLAcceleration(display) ? "true" : "false"); printf("CGDisplayIsStereo : %s\n", CGDisplayIsStereo(display) ? "true" : "false"); printf("CGDisplayPrimaryDisplay : %s\n", CGDisplayPrimaryDisplay(display) ? "true" : "false"); printf("CGDisplayUnitNumber : %d\n", unitNumber); printf("CGDisplayRotation : %f\n", CGDisplayRotation(display)); // printf("Press Enter for all display modes...\n"); modeList = CGDisplayCopyAllDisplayModes(displays[ i ], NULL); count = CFArrayGetCount (modeList); for (index = 0; index < count; index++) { mode = (CGDisplayModeRef)CFArrayGetValueAtIndex(modeList, index); long height = 0, width = 0; height = CGDisplayModeGetHeight(mode); width = CGDisplayModeGetWidth(mode); printf("\nwidth: %4ld height: %4ld", width, height); flags = CGDisplayModeGetIOFlags(mode); if (flags) // IOGraphicsTypes.h { printf(" - Flags (%d)", flags); if (flags & kDisplayModeValidFlag) // 0x00000001 printf(" Valid"); if (flags & kDisplayModeSafeFlag) // 0x00000002 printf(" Safe"); if (flags & kDisplayModeDefaultFlag) // 0x00000004 printf(" Default"); if (flags & kDisplayModeNotResizeFlag) // 0x00000010 printf(" NotResize"); if (flags & kDisplayModeRequiresPanFlag) // 0x00000020 printf(" RequiresPan"); if (flags & kDisplayModeInterlacedFlag) // 0x00000040 printf(" Interlaced"); if (flags & kDisplayModeSimulscanFlag) // 0x00000100 printf(" Simulscan"); if (flags & kDisplayModeNotPresetFlag) // 0x00000200 printf(" (geometry may need correction)"); if (flags & kDisplayModeBuiltInFlag) // 0x00000400 printf(" Builtin"); if (flags & kDisplayModeStretchedFlag) // 0x00000800 printf(" Stretched"); if (flags & kDisplayModeNotGraphicsQualityFlag) // 0x00001000 printf(" NotGraphicsQuality"); if (flags & kDisplayModeValidateAgainstDisplay) // 0x00002000 printf(" ValidateAgainstDisplay"); if (flags & kDisplayModeTelevisionFlag) // 0x00100000 printf(" Television"); if (flags & kDisplayModeValidForMirroringFlag) // 0x00200000 printf(" ValidForMirroring"); } } CFRelease(modeList); printf("\n"); CGImageRelease(image); } return (0); } Dumps something like: Display : 0 Display ID : 0x400e780 (67168128) Vendor : 0x610 (1552) Model Number : 0x39e (926) Serial Number : 0 Width : 380.000000 mm Height : 210.000000 mm CGDisplayPixelsWide : 1024 pixels CGDisplayPixelsHigh : 768 pixels CGDisplayBytesPerRow : 4096 CGDisplayIsActive : true CGDisplayIsAsleep : false CGDisplayIsOnline : true CGDisplayIsMain : true CGDisplayIsBuiltin : true CGDisplayIsInMirrorSet : false CGDisplayIsAlwaysInMirrorSet : false CGDisplayIsInHWMirrorSet : false CGDisplayMirrorsDisplay : false CGDisplayUsesOpenGLAcceleration: false CGDisplayIsStereo : false CGDisplayPrimaryDisplay : true CGDisplayUnitNumber : 0 CGDisplayRotation : 0.000000 width: 1600 height: 900 - Flags (7) Valid Safe Default width: 640 height: 480 - Flags (515) Valid Safe (geometry may need correction) width: 640 height: 480 - Flags (2563) Valid Safe (geometry may need correction) Stretched width: 800 height: 600 - Flags (515) Valid Safe (geometry may need correction) width: 800 height: 600 - Flags (2563) Valid Safe (geometry may need correction) Stretched width: 1024 height: 768 - Flags (515) Valid Safe (geometry may need correction) width: 1024 height: 576 - Flags (3) Valid Safe width: 1280 height: 720 - Flags (3) Valid Safe width: 1344 height: 756 - Flags (3) Valid Safe To see if I can spot anything wrong. All thanks to Christoff for providing the hint in post #181. Update: Did connect an external monitor (@1600 x 1200 x 32) and this is what I see (snippet): CGDisplayPixelsWide : 1600 pixels CGDisplayPixelsHigh : 1200 pixels CGDisplayBytesPerRow : 4096 Not good. Stuck at 1024 pixels width. This 4096 should be 6400 (1600 x 32 >> 3) !!! p.s. IOFBCurrentPixelClock and IOFBCurrentPixelCount change (on resolution changes) for the external monitor! @FredWst Can you boot with the newly compiled IOGraphicsFamily.kext? I can't. Get errors. Can you make a small modification in setupCursor in IOFramebuffer.cpp and see what value you get? rowBytes = info->bytesPerRow; + IOLog("rowBytes: %d", rowBytes); totalWidth = (rowBytes * 8) / info->bitsPerPixel; bytesPerPixel = info->bitsPerPixel / 8; You can inject a new value too. Examples: ((1024 * 32 = 32768) >> 3) = 4096 ((1280 * 32 = 40960) >> 3) = 5120 ((1440 * 32 = 46080) >> 3) = 5760 ((1600 * 32 = 51200) >> 3) = 6400 ((1920 * 32 = 61440) >> 3) = 7680 Link to comment Share on other sites More sharing options...
fmac Posted November 14, 2010 Share Posted November 14, 2010 Hi have you all seen this http://www.insanelymac.com/forum/index.php?showtopic=216726 "lebidou's autodetection for ati, nvidia and intel display-cfg injection added (hopefully working) " sounds good Will give it a try, when i have time Link to comment Share on other sites More sharing options...
FredWst Posted November 14, 2010 Share Posted November 14, 2010 Hi kizan, Yup. I still need it. I patch the APIC table but it did not change anything. Seen other links about a possible DSDT patch, but there's no code (example) and thus I am stuck. p.s. Mucha made the lapic.c patch available here, and said that it was a BIOS bug, but without telling where, in which ACPI table, and what the actual bug is about so there's no way of patching it. Same here. Only 1024 x 768 availble (max) for the LCD panel. Do have higher resolution also, but never tested them. Will do later tonight. And yes I am comparing the hack against the MacBookPro. I also write tools, like the one I wrote today (dminfo.c): /* cc dminfo.c -o /tmp/dminfo -framework IOKit -framework ApplicationServices -Wall -g */ #include <CoreFoundation/CoreFoundation.h> #include <IOKit/graphics/IOGraphicsLib.h> #include <ApplicationServices/ApplicationServices.h> #include <stdlib.h> #include <stdio.h> /* struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize; */ CGDirectDisplayID displays[3]; int main(int argc, char * argv[]) { uint32_t numDisplays, i, unitNumber, modelNumber, vendorNumber, flags; CGGetActiveDisplayList(3, displays, &numDisplays); for (i = 0; i < numDisplays; i++) { CGDisplayModeRef mode; CFIndex index, count; CFArrayRef modeList; CGDirectDisplayID display = displays[ i ]; printf("\nDisplay : %d\n", i); /* See also: /System/Library/Frameworks/ApplicationServices.framework/Versions/ A/Frameworks/CoreGraphics.framework/Versions/A/Headers/CGDisplayConfiguration.h */ CGDirectDisplayID displayID = CGMainDisplayID(); printf("Display ID : 0x%x (%d)\n", displayID, displayID); CGSize dimensions = CGDisplayScreenSize(display); vendorNumber = CGDisplayVendorNumber(display); printf("Vendor : 0x%x (%d)\n", vendorNumber, vendorNumber); modelNumber = CGDisplayModelNumber(display); printf("Model Number : 0x%x (%d)\n", modelNumber, modelNumber); printf("Serial Number : %d\n", CGDisplaySerialNumber(display)); printf("Width : %f mm\n", dimensions.width); printf("Height : %f mm\n", dimensions.height); printf("CGDisplayPixelsWide : %d pixels\n", (int) CGDisplayPixelsWide(display)); printf("CGDisplayPixelsHigh : %d pixels\n", (int) CGDisplayPixelsHigh(display)); /* From gaussblur.c but deprecated in 10.6 printf("CGDisplayBaseAddress : %p\n", CGDisplayBaseAddress(display)); printf("CGDisplayBytesPerRow : %d\n", (int) CGDisplayBytesPerRow(display)); */ CGImageRef image = CGDisplayCreateImage(display); printf("CGImageGetBitsPerPixel : %d\n", (int)CGImageGetBitsPerPixel(image)); printf("CGImageGetBytesPerRow : %d\n", (int)CGImageGetBytesPerRow(image)); /* Other functions (two examples) printf("CGImageGetHeight : %d\n", (int)CGImageGetHeight(image)); printf("CGImageGetWidth : %d\n", (int)CGImageGetWidth(image)); */ printf("CGDisplayIsActive : %s\n", CGDisplayIsActive(display) ? "true" : "false"); printf("CGDisplayIsAsleep : %s\n", CGDisplayIsAsleep(display) ? "true" : "false"); printf("CGDisplayIsOnline : %s\n", CGDisplayIsOnline(display) ? "true" : "false"); printf("CGDisplayIsMain : %s\n", CGDisplayIsMain(display) ? "true" : "false"); printf("CGDisplayIsBuiltin : %s\n", CGDisplayIsBuiltin(display) ? "true" : "false"); printf("CGDisplayIsInMirrorSet : %s\n", CGDisplayIsInMirrorSet(display) ? "true" : "false"); printf("CGDisplayIsAlwaysInMirrorSet : %s\n", CGDisplayIsAlwaysInMirrorSet(display) ? "true" : "false"); printf("CGDisplayIsInHWMirrorSet : %s\n", CGDisplayIsInHWMirrorSet(display) ? "true" : "false"); printf("CGDisplayMirrorsDisplay : %s\n", CGDisplayMirrorsDisplay(display) ? "true" : "false"); printf("CGDisplayUsesOpenGLAcceleration: %s\n", CGDisplayUsesOpenGLAcceleration(display) ? "true" : "false"); printf("CGDisplayIsStereo : %s\n", CGDisplayIsStereo(display) ? "true" : "false"); printf("CGDisplayPrimaryDisplay : %s\n", CGDisplayPrimaryDisplay(display) ? "true" : "false"); printf("CGDisplayUnitNumber : %d\n", unitNumber); printf("CGDisplayRotation : %f\n", CGDisplayRotation(display)); // printf("Press Enter for all display modes...\n"); modeList = CGDisplayCopyAllDisplayModes(displays[ i ], NULL); count = CFArrayGetCount (modeList); for (index = 0; index < count; index++) { mode = (CGDisplayModeRef)CFArrayGetValueAtIndex(modeList, index); long height = 0, width = 0; height = CGDisplayModeGetHeight(mode); width = CGDisplayModeGetWidth(mode); printf("\nwidth: %4ld height: %4ld", width, height); flags = CGDisplayModeGetIOFlags(mode); if (flags) // IOGraphicsTypes.h { printf(" - Flags (%d)", flags); if (flags & kDisplayModeValidFlag) // 0x00000001 printf(" Valid"); if (flags & kDisplayModeSafeFlag) // 0x00000002 printf(" Safe"); if (flags & kDisplayModeDefaultFlag) // 0x00000004 printf(" Default"); if (flags & kDisplayModeNotResizeFlag) // 0x00000010 printf(" NotResize"); if (flags & kDisplayModeRequiresPanFlag) // 0x00000020 printf(" RequiresPan"); if (flags & kDisplayModeInterlacedFlag) // 0x00000040 printf(" Interlaced"); if (flags & kDisplayModeSimulscanFlag) // 0x00000100 printf(" Simulscan"); if (flags & kDisplayModeNotPresetFlag) // 0x00000200 printf(" (geometry may need correction)"); if (flags & kDisplayModeBuiltInFlag) // 0x00000400 printf(" Builtin"); if (flags & kDisplayModeStretchedFlag) // 0x00000800 printf(" Stretched"); if (flags & kDisplayModeNotGraphicsQualityFlag) // 0x00001000 printf(" NotGraphicsQuality"); if (flags & kDisplayModeValidateAgainstDisplay) // 0x00002000 printf(" ValidateAgainstDisplay"); if (flags & kDisplayModeTelevisionFlag) // 0x00100000 printf(" Television"); if (flags & kDisplayModeValidForMirroringFlag) // 0x00200000 printf(" ValidForMirroring"); } } CFRelease(modeList); printf("\n"); CGImageRelease(image); } return (0); } Dumps something like: Display : 0 Display ID : 0x400e780 (67168128) Vendor : 0x610 (1552) Model Number : 0x39e (926) Serial Number : 0 Width : 380.000000 mm Height : 210.000000 mm CGDisplayPixelsWide : 1024 pixels CGDisplayPixelsHigh : 768 pixels CGDisplayBytesPerRow : 4096 CGDisplayIsActive : true CGDisplayIsAsleep : false CGDisplayIsOnline : true CGDisplayIsMain : true CGDisplayIsBuiltin : true CGDisplayIsInMirrorSet : false CGDisplayIsAlwaysInMirrorSet : false CGDisplayIsInHWMirrorSet : false CGDisplayMirrorsDisplay : false CGDisplayUsesOpenGLAcceleration: false CGDisplayIsStereo : false CGDisplayPrimaryDisplay : true CGDisplayUnitNumber : 0 CGDisplayRotation : 0.000000 width: 1600 height: 900 - Flags (7) Valid Safe Default width: 640 height: 480 - Flags (515) Valid Safe (geometry may need correction) width: 640 height: 480 - Flags (2563) Valid Safe (geometry may need correction) Stretched width: 800 height: 600 - Flags (515) Valid Safe (geometry may need correction) width: 800 height: 600 - Flags (2563) Valid Safe (geometry may need correction) Stretched width: 1024 height: 768 - Flags (515) Valid Safe (geometry may need correction) width: 1024 height: 576 - Flags (3) Valid Safe width: 1280 height: 720 - Flags (3) Valid Safe width: 1344 height: 756 - Flags (3) Valid Safe To see if I can spot anything wrong. All thanks to Christoff for providing the hint in post #181. Update: Did connect an external monitor (@1600 x 1200 x 32) and this is what I see (snippet): CGDisplayPixelsWide : 1600 pixels CGDisplayPixelsHigh : 1200 pixels CGDisplayBytesPerRow : 4096 Not good. Stuck at 1024 pixels width. This 4096 should be 6400 (1600 x 32 >> 3) !!! p.s. IOFBCurrentPixelClock and IOFBCurrentPixelCount change (on resolution changes) for the external monitor! @FredWst Can you boot with the newly compiled IOGraphicsFamily.kext? I can't. Get errors. Can you make a small modification in setupCursor in IOFramebuffer.cpp and see what value you get? rowBytes = info->bytesPerRow; + IOLog("rowBytes: %d", rowBytes); totalWidth = (rowBytes * 8) / info->bitsPerPixel; bytesPerPixel = info->bitsPerPixel / 8; You can inject a new value too. Examples: ((1024 * 32 = 32768) >> 3) = 4096 ((1280 * 32 = 40960) >> 3) = 5120 ((1440 * 32 = 46080) >> 3) = 5760 ((1600 * 32 = 51200) >> 3) = 6400 ((1920 * 32 = 61440) >> 3) = 7680 Can't test anymore I've sold my e6510, and i've bought a Macbook pro Regards Fred Link to comment Share on other sites More sharing options...
Time2Retire Posted November 14, 2010 Share Posted November 14, 2010 @fmac: Link is dead. Get a Board Message. Not to mention that display-cfg is NVIDIA only and that NVIDIA is supposed to be easy. I wish I had one because that would have saved me a huge amount of time, but killed the fun too @FredWst: Congratulations... and welcome on the other side. Eeks. Batteries drained too much (Apple Bluetooth keyboard and mouse). Need to find spares or... Link to comment Share on other sites More sharing options...
Fiox89 Posted November 14, 2010 Share Posted November 14, 2010 Searching wiht Google "lebidou's autodetection for ati, nvidia and intel" or cache version?? ---> link these are the Intel card supported 0x808627A2, "Mobile GMA950" 0x808627AE, "Mobile GMA950" 0x808627A6, "Mobile GMA950" 0x80862772, "Desktop GMA950" 0x80862776, "Desktop GMA950" 0x80862A02, "GMAX3100" 0x80862A03, "GMAX3100" 0x80862A12, "GMAX3100" 0x80862A13, "GMAX3100" 0x80862A42, "GMAX3100" 0x80862A43, "GMAX3100" Link to comment Share on other sites More sharing options...
Time2Retire Posted November 14, 2010 Share Posted November 14, 2010 Searching wiht Google "lebidou's autodetection for ati, nvidia and intel" or cache version?? ---> link these are the Intel card supported... Right, but I fail to see how this is going to help us with the Intel GMA5700. Link to comment Share on other sites More sharing options...
yurick Posted November 14, 2010 Share Posted November 14, 2010 nvidia optimus - asus k42JC Link to comment Share on other sites More sharing options...
Fiox89 Posted November 14, 2010 Share Posted November 14, 2010 yurick ehi, i have asus k52jc whit nvidia 310M, you can tell me how you do it? even with a pm for me it is very important, tnx Link to comment Share on other sites More sharing options...
yurick Posted November 15, 2010 Share Posted November 15, 2010 yurick ehi, i have asus k52jc whit nvidia 310M, you can tell me how you do it? even with a pm for me it is very important, tnx http://torrentmac.org/forum/viewtopic.php?t=8983 http://code.google.com/p/osx86tools/downlo...amp;can=2&q Link to comment Share on other sites More sharing options...
Fiox89 Posted November 15, 2010 Share Posted November 15, 2010 Sorry but i don't undestend this language :\ Link to comment Share on other sites More sharing options...
Time2Retire Posted November 15, 2010 Share Posted November 15, 2010 Sorry but i don't undestend this language :\ Me neither, but this is what I made of it with help of a Google translation: He advised people in that forum "to cut firewood Intel HD" (until 10.6.6 is released) and one person asked: "How?". He then added a screenshot with selected AppleIntelHD*.kext's with the context menu open on what I believe is 'Move To Trash' (3th option). Link to comment Share on other sites More sharing options...
Tomdev Posted November 15, 2010 Share Posted November 15, 2010 Just popping in here I also have the Intel HD graphics (Dell inspiron 15r with i3), and of course my graphics aren't working properly. But which kext of the three intelhdgraphics kexts is causing this problem (not booting anymore etc.)? and the most interesting why? Link to comment Share on other sites More sharing options...
icy Posted November 15, 2010 Share Posted November 15, 2010 He advised people in that forum "to cut firewood Intel HD" (until 10.6.6 is released) and one person asked: "How?". He then added a screenshot with selected AppleIntelHD*.kext's with the context menu open on what I believe is 'Move To Trash' (3th option). Yes. You translated messages and screenshot correctly. Link to comment Share on other sites More sharing options...
Fiox89 Posted November 15, 2010 Share Posted November 15, 2010 I hardly understand english... but I begin to translate what I see and I combine Link to comment Share on other sites More sharing options...
naaa354 Posted November 15, 2010 Share Posted November 15, 2010 Me neither, but this is what I made of it with help of a Google translation: He advised people in that forum "to cut firewood Intel HD" (until 10.6.6 is released) and one person asked: "How?". He then added a screenshot with selected AppleIntelHD*.kext's with the context menu open on what I believe is 'Move To Trash' (3th option). I don't c how that post help us... check the second screenshot, the Intel HD Graphics is in same situation as all of us No kext is loaded, and the resolution is stuck @ 1024x768x32 P.S dutchhockeypro I track your post since day 1 and I can say that from all what I c till now in OSX forums U r the only1 that actually did some progress.... If I can help with anything let me know... I code on .NET platform and have OSX 10.6.5 installed with Vanilla kernel - got everything working beside that damn Intel HD Graphics. btw, have u tried the latest version of Chameleon? Its detecting the card and output a msg "Not Yet supported" and I know that u can use a ROM file with it (U said that u got the ROM from a macbook pro no?) Link to comment Share on other sites More sharing options...
Fiox89 Posted November 15, 2010 Share Posted November 15, 2010 But whit the way of yurick, Intel HG Graphics have QE/CI? And the Nvidia 310M have QE/CI ?? Link to comment Share on other sites More sharing options...
yurick Posted November 16, 2010 Share Posted November 16, 2010 But whit the way of yurick, Intel HG Graphics have QE/CI? And the Nvidia 310M have QE/CI ?? There is not completed yet DSDT with seven errors. Originally it was 201! Registered 2 video cards intelHD and nVidia, with no name. Ability not have enough time now to complete this work. What should be done to fix the laptop off to disable intelHi video card or monitor connected to another card ... or wait for 10.6.6 systems profile intel pentium P6100 Intel ACPI Component ArchitectureASL Optimizing Compiler version 20100304 [Mar 9 2010] with Fix Integer bugCopyright © 2000 - 2010 Intel CorporationSupports ACPI Specification Revision 4.0 or we need to correct for the 4.0 compiler Link to comment Share on other sites More sharing options...
Time2Retire Posted November 16, 2010 Share Posted November 16, 2010 @naaa354: Thank you for your kind words. Still trying to get a grip on things, and it is very difficult to really do something. To make a change. Need more experienced hackers. And I am not using the original Chameleon, but Revolution tailored towards my needs. It is also a slightly faster booter (60+KB /boot file). @yurick: If you need help with fixing your DSDT then please visit this or this topic and ask for help. @fiox89: No. Unfortunately not. @Tomdev: Huh? Not booting anymore? You mean having a black screen? Delete AppleIntelHDGraphicsFB.kext and recreate Extensions.mkext That should give you the boot display. Link to comment Share on other sites More sharing options...
Tomdev Posted November 16, 2010 Share Posted November 16, 2010 But which kext is causing all the problems? (I want to investigate that one a bit more with otool etc.) Link to comment Share on other sites More sharing options...
Time2Retire Posted November 16, 2010 Share Posted November 16, 2010 But which kext is causing all the problems? (I want to investigate that one a bit more with otool etc.) I would say AppleIntelHDGraphicsFB.kext and AppleGraphicsControl.kext The latter doesn't even load here. We might need a FakeGMUX.kext for this ala fakesmc.kext by netkas. Link to comment Share on other sites More sharing options...
Tomdev Posted November 16, 2010 Share Posted November 16, 2010 but the crashes with this kext, I think they're not caused because of a piece of code which checks for a nvidia gpu, but it should be somehow related to this nvidia gpu(I mean if you check for a gpu and it isn't there you're not gonna make the system crash unless you're an evil coder). Or is this speculation wrong and are these crashes caused by something else? Link to comment Share on other sites More sharing options...
Time2Retire Posted November 16, 2010 Share Posted November 16, 2010 but the crashes with this kext, I think they're not caused because of a piece of code which checks for a nvidia gpu, but it should be somehow related to this nvidia gpu(I mean if you check for a gpu and it isn't there you're not gonna make the system crash :mellow: unless you're an evil coder). Or is this speculation wrong and are these crashes caused by something else? What crashes? I don't have any crashes. And the kext looking for NVIDIA is AppleGraphicsControl.kext Which isn't loading here. No wonder, because we don't have a GMUX device. You can add it in your DSDT, but that won't make it load. I tried that already. You can also change Info.plist but that won't make it load either. And just to be sure: Do you have an ATI of NVIDIA card next to the Intel HD Graphics? Do you have a BIOS (UEFI) option to select one of the cards? I have an ATI 5470m and no option in the UEFI to select either card. Link to comment Share on other sites More sharing options...
Tomdev Posted November 16, 2010 Share Posted November 16, 2010 ok not really crashes, more hangs... when I updated to 10.6.5 it just hang.... after removing intel graphics kext it also hang so maybe it' s a problem with this laptop. Beside the Intel HD graphics I've totally nothing... so no UEFI option either And now I get what you meant with fakeGMUX kext Link to comment Share on other sites More sharing options...
fmac Posted November 16, 2010 Share Posted November 16, 2010 @fmac: Link is dead. Get a Board Message. Not to mention that display-cfg is NVIDIA only and that NVIDIA is supposed to be easy. I wish I had one because that would have saved me a huge amount of time, but killed the fun too Link is working again for me "Auto resolution = Yes" is working no need for "Graphics Mode = 1600x900x32" Boot screen is 1600x900 OS X is 1600x900 but, only without IntelHD.kext with kext only remote screen is possible a small step into the right direction ? Link to comment Share on other sites More sharing options...
Recommended Posts