Jump to content

[FIXED] Intel GMA HD 5700MHD


All Kand
 Share

107 posts in this topic

Recommended Posts

if am not mistaken requested architecture/executable not found means your not booting in 32bits am not sure if lion is only 64bit since ive used it for just couple of days n switch back to snow. but after all it might not work like iwin32 coz your display is not 1366x768 natively am going to add user inputs in info.plist so that every one can add his/her settings of the panel

Thanks for your infos. I think mountain lion is 64bit only. My screen is natively 1366x768x32. This is the res I get in w7. I don't understand why chameleon is only picking up some resolutions and not others. Maybe the edid is lacking some res or the video bios is malformed. With a working framebuffer this problem would be bypassed.

 

Cheers!

Link to comment
Share on other sites

The framebuffer is what G62 has originally been working on. Correct, G62?

 

G62, just continue to do what you were doing originally; get the Intel HD graphics chip outputting custom resolutions! :)

yes am working on both since the begining the hardware settings as well as the framebuffer

the chip is already outputting custom resolution but the os does not, thats why if i load the kext it shows 3/4 coz the os is producing image in 1024x768, let me try to prove my point horizontal active pixels for my panel is 1366 and vertical lines is 768

so if i find the ratio of the full displayed desktop part and the total active pixels width in terms of pixels its 1024/1366 which is 3/4 and verticaly the screen is not divided coz the os is at 768 and hardware is at the same setting as i said in my previous post if i change hardware registers entry to 1024x768 the screen show full width and height coz the os also is at tthe same resolution so the real challenge right now is to make the os produce larger image and that where a framebuffer comes in, am not well informed of how framebuffer works in os x so its kinder of working while learning so the process might take some time to prove success or failure

guys who wait for user input wait a while as i work on it.

 

Does anyone by any chance know what functions in the framebuffer kext are causing only the backlight to show?

 

Attached: IDA Pro decompiled C file for the binary in ./AppleIntelHDGraphicsFB.kext/Contents/MacOS (decompiled 32-bit only)

 

 

Any use?

the backlight and other display settings are controlled by IODisplay class in IOGraphicsFamily.kext i dont know if the framebuffer has some property which couses the backlight to match but even if its so its not easy to find that part in a decompiled file since those files mainly show the control flow of the software but not variables which are important as the flow of controll

Link to comment
Share on other sites

updated AppleSamplePCI.kext added user inputs

AppleSamplePCI.kext 32bit.zip

edit: to the first download before this edit, that kext is not the one download this one instead

 

below is the preview of info.plist

 

 

<key>IOKitPersonalities</key>

<dict>

<key>FirstPersonality</key>

<dict>

<key>CFBundleIdentifier</key>

<string>com.YourCompany.driver.AppleSamplePCI</string>

<key>IOClass</key>

<string>AppleSamplePCI</string>

<key>IOMatchCategory</key>

<string>AppleSamplePCI</string>

<key>IOPCIClassMatch</key>

<string>0x03000000&0xFF000000</string>

<key>IOPCIMatch</key>

<string>0x00008086&0x0000FFFF</string>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

<key>IOUserClientClass</key>

<string>AppleSamplePCIUserClient</string>

<key>modeSetting</key>

<dict>

<key>HorizontalActive</key>

<integer>1366</integer>

<key>HorizontalBlankEnd</key>

<integer>1432</integer>

<key>HorizontalBlankStart</key>

<integer>1366</integer>

<key>HorizontalSyncEnd</key>

<integer>1422</integer>

<key>HorizontalSyncStart</key>

<integer>1398</integer>

<key>HorizontalTotal</key>

<integer>1432</integer>

<key>VerticalActive</key>

<integer>768</integer>

<key>VerticalBlankEnd</key>

<integer>806</integer>

<key>VerticalBlankStart</key>

<integer>768</integer>

<key>VerticalSyncEnd</key>

<integer>775</integer>

<key>VerticalSyncStart</key>

<integer>771</integer>

<key>VerticalTotal</key>

<integer>806</integer>

</dict>

</dict>

Link to comment
Share on other sites

I'm not able to test the kext at the moment, but I assume this is the part for us to modify, correct?

<key>modeSetting</key>

<dict>

<key>HorizontalActive</key>

<integer>1366</integer>

<key>HorizontalBlankEnd</key>

<integer>1432</integer>

<key>HorizontalBlankStart</key>

<integer>1366</integer>

<key>HorizontalSyncEnd</key>

<integer>1422</integer>

<key>HorizontalSyncStart</key>

<integer>1398</integer>

<key>HorizontalTotal</key>

<integer>1432</integer>

<key>VerticalActive</key>

<integer>768</integer>

<key>VerticalBlankEnd</key>

<integer>806</integer>

<key>VerticalBlankStart</key>

<integer>768</integer>

<key>VerticalSyncEnd</key>

<integer>775</integer>

<key>VerticalSyncStart</key>

<integer>771</integer>

<key>VerticalTotal</key>

<integer>806</integer>

</dict>

If so, what exactly should we use for the values?

BTW, were we supposed to insert our device id's into the info.plist? If so, that could explain my issue, because my resolution is 1366x768, but the display is still black.

Also, for those that HAVE gotten this kext to extend the display, I'm wondering...would SwitchResX or any other display-changing application now work? After all, we've activated the Graphics Card and now have our custom resolution for the GPU, but not the OS. SwitchResX might do the rest without any kext modifications?

Link to comment
Share on other sites

those fields are the detailed timing fields from your edid find a program to read ur edid in windows or linux then find those values and add them, about device id dont wory if ur chipset is intel it will match, switchresx wont work coz it depends on the driver which reads edid override file instead of the original edid from hardware

Link to comment
Share on other sites

the added feature is just user input in info.plist so its the same kext as before except that everyone can put his own panel timings the issue of res needs framebuffer which is what am trying to figure it out

Link to comment
Share on other sites

Sorry but I only know basic coding ;)

How does IOGraphicsFamily affect the back light and how does it cause the black screen when fb is loaded? Thanks :)

 

Is there a kext that tells osx what connector the gpu has? as in a kext that does only that and works for any graphics

Link to comment
Share on other sites

If you need it, i have extracted the AppleIntelHDGraphics kexts from Mountain Lion 10.8 Retail.

 

The Archive contains:

  • AppleIntelHDGraphics.kext
  • AppleIntelHDGraphicsFB.kext
  • AppleIntelHDGraphicsGA.plugin
  • AppleIntelHDGraphicsVADriver.bundle

All the kexts have the version 8.0.51

 

If you need other kexts from ML 10.8 Retail, please, let me know.

AppleIntelHDGraphics10.8.zip

Link to comment
Share on other sites

A pity that ML will be dropping 32-bit support... Maybe we should work on SL/Lion kexts since those are both archs (32/64)

 

Keep up the good work!

@G62 There is no rush for this to work! Take your time :)

 

Ppl don't rush him as well....

Link to comment
Share on other sites

I don't know, but it is so hard (knowledge level) to (re)write a framebuffer for this card. That I really thinking, just don't buy a laptop with Intel 2000 HD.

I haven't tried, but would it work if you just replace your Intel CPU with one that don't has a GPU inside? (So just the core only?)

Or does the display out really needs the Intel HD?

Link to comment
Share on other sites

Argh... the common misconception...

There are 4 Intel HD graphics. HD 1000,2000,3000&4000. 1000 is also known as the GMA HD or 5700MHD which were included with First Gen Core I cpus. 2000&3000 are Sandy Bridge gpus. 4000 is the Ivy Bridge. We are talking about 1000. 2000 might hopefully get support thru a mix of 1000&3000 kexts but our main focus is 1000.

  • Like 1
Link to comment
Share on other sites

i think GMA HD 2000 and all the way up to HD 3000 are supported natively in AppleIntelSNB kexts so guys with those chipsets should check other forum topics there are plenty of them in this site the device id of HD 1000 or arrandale or GMAHD 5700 are 0x0046 or 0x0044 for desktops i believe, if ur ids are something like 0x01xx or something like that ur probably using sandy bridge chipsets and not arrandale the decent way to know is the model of ur cpu if it starts with core ix 2xxx it is not a arrandale/clarkdale/ first gen core cpus

 

the framebuffer thing seem to be challenging more than i thought in the beginning but i will keep on working on it for the next couple of months till i have enough or i solve it eventually on the way.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...