Jump to content

Intel HD 4000 On Surface Pro Washed Out Screen From AppleIntelFrameBufferCapri


  • Please log in to reply
17 replies to this topic

#1
VampireHunter_D

VampireHunter_D

    InsanelyMac Protégé

  • Members
  • PipPip
  • 61 posts

I am looking for any suggestions on how to resolve an issue I have where the screen is distored, blurred, hazy, or washed out with an intel hd 4000 on a surface pro. I have attached two DSDTs one with ig-platform-id 4 and the other with 9 and some screen shots.

 

platform-id-4.jpg is what the washed out display looks like and gfxinject.jpg is an image taken if I use an older version of clover with a slightly patched DSDT and NullCPU (I can not get this combo to work on the newer versions of Clover nor do I really want to since there is no APM among other issues).

 

The kernel options I am passing are

 

-v npci=0x2000 slide=0 dart=0

 

To boot I am using Clover 1974, and using a MacBookPro10.1 SMBIOS definition. 

 

The Surface Pro appears to have two ports, 0 is the internal display and 1 is a mini displayport.

 

I have tried every ig-platform-id. The best I get is using platform id 1660004 which seems to match the hardware pretty closely with 32mb (as Windows reports) and one port. With this platform id and no modification to AppleIntelFrameBufferCapri I get the washed out display as shown in platform-id-4.jpg. Sleep and speed stepping all seem to work fine, just the display is incorrect.

 

Based upon what Windows reports as the card being a Rev.9 and when looking at the system profiler it sees it as a 1660009 I have also focused on this platform. If I hack AppleIntelFrameBufferCapri I still get the same results as using ig-platform-id 4 with booting to a washed out screen. 

 

Below are the mods I have tried on AppleInteFrameBufferCapri

 

Defaults are

AAPL,ig-platform-id: 01660004, Stolen RAM for FB: 32MB, Pipes: 3, Ports: 1, FBMem: 1
@0, 05 03 00 00 02 00 00 00 30 02 00 00 // (LVDS)

AAPL,ig-platform-id: 01660009, Stolen RAM for FB: 64MB, Pipes: 3, Ports: 3, FBMem: 3 - 0mb VRAM
@0, 01 00 00 00 02 00 00 00 30 00 00 00 // (LVDS)
@1, 02 05 00 00 00 04 00 00 07 01 00 00 // (DisplayPort)
@2, 03 04 00 00 00 04 00 00 07 01 00 00 // (DisplayPort) 

 For 01660004 here are the mods I have tried on port 0

 

//Switch the port from 02 00 to 00 04. Boot is the same washed out

05 03 00 00 00 04 00 00 30 02 00 00

 

//Remove Dual Link?? It is necessary but I figured I would try. Boots to black screen

05 03 00 00 02 00 00 00 30 00 00 00

 

//Use LVDS from platform id-9. Boots to black screen

01 00 00 00 02 00 00 00 30 00 00 00

 

//Use LVDS from platform id-9 and add dual link??? Boots to black screen

01 00 00 00 02 00 00 00 30 02 00 00

 

 

For 01660009 here are the mods I have tried on port 0

 

//Add dual link??? to lvds. Boots to black screen

01 00 00 00 02 00 00 00 30 02 00 00

 

//Use LVDS from platform id 4. Boots to washed out screen

05 03 00 00 02 00 00 00 30 02 00 00

 

//Use LVDS from platform id 4 with port from 02 00 to 00 04. Boots to washed out screen

05 03 00 00 00 04 00 00 30 02 00 00

 

 

I tried a few other random combinations with no success, and honestly I was just guessing. I either got a black screen or no display. 

 

If anyone has any thoughts are suggestions I am open to anything. At this point I am not sure what else to try. If there is a piece of important information I forgot to include please feel free to ask.

 

Thanks.

Attached Files



#2
VampireHunter_D

VampireHunter_D

    InsanelyMac Protégé

  • Members
  • PipPip
  • 61 posts

So I kind of gave up messing with the connector properties since that seems like somewhat of dead end especially with 10.8.5 and a new AppleIntelFrameBufferCapri coming.  

 

However after some poking I was able to create a DSDT that boots using the EDID from Clover's GFX injection. The issue is when using this EDID AppleBackLightDisplay fails to load and subsequently sleep and display brightness fail and the only resolution that works is 1920x1080. 

 

So here is where I am currently at. 

 

Using ig-platform-id of 4 and using the monitors original EDID I can boot to a washed out screen that is barely legible. All resolutions work and sleep and brightness work.

 

Using ig-platform-id of a or b with the EDID from Clover's injection I can boot to a normal looking screen that only supports 1920x1080, brightness does not work, and sleep does not work. 

 

I have attached a zip file containing two DSDTs, one set to ig-platform-id of 4 and the original EDID for the surface and the other set to ig-platform-id of a with Clover's EDID , otherwise they are identical. Both have the common set of back light data in their IGPU/_DSM section. Also included in the zip are two ioreg text dumps from when booted with these DSDTs and the config.plist that Clover is using.

 

For reference here is the hex and Base64 for both EDIDs

 

Surface Pro EDID:

                                    /* 0000 */    0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
		                    /* 0008 */    0x4C, 0xA3, 0x42, 0x32, 0x00, 0x00, 0x00, 0x00,
		                    /* 0010 */    0x00, 0x16, 0x01, 0x03, 0x80, 0x17, 0x0D, 0x78,
		                    /* 0018 */    0x0A, 0x87, 0xF5, 0x94, 0x57, 0x4F, 0x8C, 0x27,
		                    /* 0020 */    0x27, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
		                    /* 0028 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
		                    /* 0030 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2A, 0x35,
		                    /* 0038 */    0x80, 0xA0, 0x70, 0x38, 0x0B, 0x40, 0x18, 0x10,
		                    /* 0040 */    0x35, 0x00, 0xEB, 0x84, 0x00, 0x00, 0x00, 0x19,
		                    /* 0048 */    0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
		                    /* 0050 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xDC, 0x03,
		                    /* 0058 */    0x74, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x53,
		                    /* 0060 */    0x41, 0x4D, 0x53, 0x55, 0x4E, 0x47, 0x0A, 0x20,
		                    /* 0068 */    0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE,
		                    /* 0070 */    0x00, 0x31, 0x30, 0x36, 0x48, 0x4C, 0x30, 0x31,
		                    /* 0078 */    0x2D, 0x30, 0x30, 0x31, 0x0A, 0x20, 0x00, 0xEA

AP///////wBMo0IyAAAAAAAWAQOAFw14Cof1lFdPjCcnUFQAAAABAQEBAQEBAQEBAQEBAQEBKjWAoHA4C0AYEDUA64QAAAAZAAAADwAAAAAAAAAAAETcA3QAAAAA/gBTQU1TVU5HCiAgICAgAAAA/gAxMDZITDAxLTAwMQogAOo=

 

 

 

Clover EDID:

                                    /* 0000 */    0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
		                    /* 0008 */    0x36, 0x7F, 0x03, 0x00, 0x0F, 0x00, 0x00, 0x00, 
		                    /* 0010 */    0x00, 0x0C, 0x01, 0x03, 0x80, 0x00, 0x00, 0xFF, 
		                    /* 0018 */    0x2F, 0x00, 0x00, 0xA0, 0x57, 0x49, 0x9B, 0x26, 
		                    /* 0020 */    0x10, 0x48, 0x4F, 0x00, 0x00, 0x00, 0x01, 0x01, 
		                    /* 0028 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
		                    /* 0030 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3A, 
		                    /* 0038 */    0x80, 0x18, 0x71, 0x38, 0x2D, 0x40, 0x58, 0x2D, 
		                    /* 0040 */    0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 
		                    /* 0048 */    0x00, 0x00, 0x00, 0xFC, 0x00, 0x4E, 0x6F, 0x74, 
		                    /* 0050 */    0x65, 0x62, 0x6F, 0x6F, 0x6B, 0x50, 0x61, 0x6E, 
		                    /* 0058 */    0x65, 0x6C, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x3C, 
		                    /* 0060 */    0x3D, 0x43, 0x44, 0x0F, 0x01, 0x00, 0x00, 0x00, 
		                    /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 
		                    /* 0070 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
		                    /* 0078 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBC

AP///////wA2fwMADwAAAAAMAQOAAAD/LwAAoFdJmyYQSE8AAAABAQEBAQEBAQEBAQEBAQEBAjqAGHE4LUBYLTYAAAAAAAAeAAAA/ABOb3RlYm9va1BhbmVsAAAA/QA8PUNEDwEAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALw=

 

 

My thought is there might be some mod I can do to the EDID that might get the AppleBackLightDisplay booted when using ig-platform-id a. So if anyone has any thoughts or any good references about fixing the AppleBackLightDisplay from EDID issues please let me know.

 

Thanks.

 

 

 

Attached Files



#3
VampireHunter_D

VampireHunter_D

    InsanelyMac Protégé

  • Members
  • PipPip
  • 61 posts

I made a clean install and update to Mavericks, and there has been a slight change. Using Platform IDs of 01660000, 01660001, 01660002, 01660008, and 01660009 I am able to boot and right when the display initializes it freezes at the apple logo. All off these ids use this port configurations in AppleIntelFrameBufferCapri

01 00 00 00 02 00 00 00 30 00 00 00

Using platform IDs 01660004 still results in the white tinted washed out screen with full sleep support and 0166000A boots to a normal screen with no Power Management since it thinks the display is a desktop monitor.

 

Attached are the latest DSDT I am using. DSDT.aml.4 is using the native EDID from the Suface Pro display that has been run through FixEdid, and DSDT.aml.a is using the EDID from Clover that has been run through FixEDID. 

 

So the problems to solve are fixing a HD4000 with a white tint or washed out screen, OR, fix the issue when the display freezes on initialization, OR, get power management to work with a monitor the OS thinks is a desktop display (ACPIBackLight.kext does not seem to work).

 

I am open to trying any suggestions, Thanks.

Attached Files



#4
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

@ VampireHunter_D

 

well I don't know much about hackintoshing but,

after lots of trail and error, here's what i use and what works for me:

the dsdt and ssdt from the "surface 1 & 2" mavericks guide as well as all the kext included in the thread, with the latest clover releases.

injectEDID is always enabled.

 no sleep support by default, and I've changed the color profile to "Generic RGB" to get rid of the Glow. 

Lastly I use "Brightness slider"(screen filer app from the appstore)  to dim the screen, since brightness does not seem to work.

 

 

but I'm interested in what you're doing, I'll try your DSDTs and report.

It'd would be really sweet to get proper sleep and brightness.



#5
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

VampireHunter_D

 

Great news  :lol:

 

Using "4_DSDT.aml( with the native EDID )", in your 3rd post and the settings below(  in the latest clover release); I was able to successfully get a working brightness slide, sleep and all resoluttions , with no visual artifacts ( No max brightness though, and brightness level resets to around 70% after every reboot  :/  ).

 

Clover settings: 
    No DSDT Fixes( at least no dsdt USB Fix : will cause kernel panic)
    Drop all OEM ssdt (ssdt: Drop OEM)
    graphics: No EDID injection, inject Intel
    SMBIOS : macbook air 5,2 2012

the rest are defaults.

 

 

you should contact  JahStories after testing, so that he'd incorporate it into the guide. 

 

Edit: As you mentioned, no power management...  No battery status.

Attached Files



#6
Michael Shaw

Michael Shaw

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts
  • Gender:Male
Abosolutely great news!!!!!!

#7
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

@Michael Shaw

Please report in a reply here, if it worked or not; if not, include details  about your problem.

blew are the configurations i'm using.

 

clover Install options:

surface pro clover.jpg

 

Current configuration-clover Configurator(in the attachments):

 

Attached Files



#8
JahStories

JahStories

    Brainstormers killer.

  • Moderators
  • 1,756 posts
  • Gender:Male
  • Location:Sicily, Egypt.
  • Interests:Everything that got a screen on it, Hoverboarding, Broken CrossFaders, Commodore Amigas and repl...

Nice osx lander, i had tried that dsdt but i did not figured out what was causing the kernel panics!

 

Thanks, now we have sleep and buildin display, still early to update the file package since backlight is at the lowest state and it's not dimmable, even if there is a slider...



#9
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

@JahStories

That's weird! :o

Even though there aren't many brightness levels,  the slider works pretty good for me!



#10
JahStories

JahStories

    Brainstormers killer.

  • Moderators
  • 1,756 posts
  • Gender:Male
  • Location:Sicily, Egypt.
  • Interests:Everything that got a screen on it, Hoverboarding, Broken CrossFaders, Commodore Amigas and repl...

?!?!



#11
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

?!?!

Am I misunderstanding something here ?!



#12
JahStories

JahStories

    Brainstormers killer.

  • Moderators
  • 1,756 posts
  • Gender:Male
  • Location:Sicily, Egypt.
  • Interests:Everything that got a screen on it, Hoverboarding, Broken CrossFaders, Commodore Amigas and repl...

no sorry, probably i've messed my kexts trying to patch the backlight...

i can't adjust the brightness, i don't even get the slider under monitor, but its builtin and sleep works, btw i got an auto rewake issue caused by: GLAN XHC1


do you have this issue too?



#13
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

well, 

you can always extract the original kexts from BaseSystemBinaries.pkg located in the "BaseSystem.dmg/packages" folder.



#14
JahStories

JahStories

    Brainstormers killer.

  • Moderators
  • 1,756 posts
  • Gender:Male
  • Location:Sicily, Egypt.
  • Interests:Everything that got a screen on it, Hoverboarding, Broken CrossFaders, Commodore Amigas and repl...

yeap i know....but i've updated to 10.9.1 btw i think i'll do that...

Btw it seems that sleep works pertfectly removing the extsdcard ;)



#15
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

great,

I've never had any issues with sleep.

Do you have battery status with this dsdt? cause battery worked quite nicely before with DSDT from your guide.



#16
JahStories

JahStories

    Brainstormers killer.

  • Moderators
  • 1,756 posts
  • Gender:Male
  • Location:Sicily, Egypt.
  • Interests:Everything that got a screen on it, Hoverboarding, Broken CrossFaders, Commodore Amigas and repl...

ok, i've replaced applebacklightexpert.kext with a non patched one and now i can dim the brightness...

but the maximum resolution isn't enought, it's just half the original...

btw i've asked rehabman to apply the battery patch to the dsdt, that should fix it...

if you want you can post the config.plist and the dsdt to the guide thread as a test package, so others can try...

 

when proper brightness and battery will be fixed i'll update the file package to v0.3 finally...

 

Thanks



#17
osxlander

osxlander

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts
  • Gender:Male

i have all resolutions! you might have meant max Brightness. if so yes; you can't get full brightness, but it's at least easier on the eyes.

will post my files later :)

thanks



#18
JahStories

JahStories

    Brainstormers killer.

  • Moderators
  • 1,756 posts
  • Gender:Male
  • Location:Sicily, Egypt.
  • Interests:Everything that got a screen on it, Hoverboarding, Broken CrossFaders, Commodore Amigas and repl...

Thanks osxlander i've fixed max brightness and battery, it was useless without full backlight...

btw i never had problem with resolutions, always had every since ver0.0 XD

UPDATE TO THE MAIN POST

 

V0.3 UPDATE (FullProperBacklightSleepandBattery)

link

How to install:

  • Use KextDrop (provided) to install ACPIBacklight.kext and VoodooBattery.kext
  • Delete AppleSmartBatteryManager.kext efrom System/Library/Extensions/
  • Copy the provided dsdt.aml to efi/clover/acpi/patched
  • Copy the config.plist to efi/clover






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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