Jump to content


  • Content count

  • Joined

  • Last visited

  1. [FIXED] Intel GMA HD 5700MHD

    sorry for long silence i have been occupied with other responsibilities recently, i think your idea is great but am not sure if it will work since the kernel will not be loaded at a time and the kext needs to map memory for registers access i dont know how to do it without the implementation of kernels methods i tried to dump some of registers values while vannila kexts are loaded and its slightly different from what i wrote using our custom kext and when i use the dumped values i got the similar distortions as the ones from the vannila kexts but with undivided desktop and if i change them nothing remarkable happens i have planned to write a butchbuffer and ringbuffer so that i can have access to display planes and see what i may accomplish since to me it seems the display pipe part is ok and its important since most of the commands are at the plane level including allocation of framebuffer and other graphics memory functionality, in the pipe just timings are added and thats what we have accomplished till now
  2. [FIXED] Intel GMA HD 5700MHD

    @Duncan Leo the values depends on your panels properties and to know those values you should have ur EDID and or have a program to interpret it " it will give you all that values the priview should be like this from linux [ 92.907] (II) intel(0): Supported detailed timing: [ 92.907] (II) intel(0): clock: 69.3 MHz Image Size: 344 x 193 mm [ 92.907] (II) intel(0): h_active: 1366 h_sync: 1398 h_sync_end 1422 h_blank_end 1432 h_border: 0 [ 92.907] (II) intel(0): v_active: 768 v_sync: 771 v_sync_end 775 v_blanking: 806 v_border: 0 or like this [ 92.908] (II) intel(0): Printing probed modes for output LVDS1 [ 92.908] (II) intel(0): Modeline "1366x768"x60.0 69.30 1366 1398 1422 1432 768 771 775 806 -hsync -vsync (48.4 kHz) [ 92.908] (II) intel(0): Modeline "1360x768"x59.8 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync (47.7 kHz) [ 92.908] (II) intel(0): Modeline "1360x768"x60.0 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync (47.4 kHz) [ 92.908] (II) intel(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz) [ 92.908] (II) intel(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz) [ 92.908] (II) intel(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz) [ 92.908] (II) intel(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
  3. [FIXED] Intel GMA HD 5700MHD

    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.
  4. [FIXED] Intel GMA HD 5700MHD

    framebuffer is not a one day work am trying my best to get it up as soon as i could if after all it will be a success
  5. [FIXED] Intel GMA HD 5700MHD

    download sources of IOGraphics from apple opensource website and have a look at IODisplay.cpp IOBacklight.cpp and others you might find what am saying
  6. [FIXED] Intel GMA HD 5700MHD

    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
  7. [FIXED] Intel GMA HD 5700MHD

    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
  8. [FIXED] Intel GMA HD 5700MHD

    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>
  9. [FIXED] Intel GMA HD 5700MHD

    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. 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
  10. [FIXED] Intel GMA HD 5700MHD

    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
  11. [FIXED] Intel GMA HD 5700MHD

    am going to try the rom method if it will work i think i might have something interesting to work on combining with what i have tried to do in ApplesamplePCI.Kext
  12. [FIXED] Intel GMA HD 5700MHD

    working on it, for hours i cant boot with added mode timings i think i need more experience on it coz i did it wrong, i use the IOGraphics sources but modified somehow if i remove the added part i can reach the desktop but at 1024x768 and without qe/ci coz it couses distortions i wonder if its only jaller and me the applesamplePCI.kext worked or some people dont like to contribute on the topic i would like to know if it works or didnt so that i can know am on the right direction or i should change the approach
  13. [FIXED] Intel GMA HD 5700MHD

    i have found some doc with explanation on these values they are used to control clocks (phase locked loop(PLL)) n i found they are not necessary for the time being since the hardware default works fine i tried to change the resolution to 1024*768 n it fill the whole screen but if i change it to 1280*800 it shows a duplicate on right and bottom with correct aspect ratio so according to my understanding the issue is due to the os producing smaller picture on the larger screen so the solution is to add the resolution in the frame buffer coz its where we can add these resolution to the os
  14. [FIXED] Intel GMA HD 5700MHD

    DotClk=V total * H total * Refreshrate so 1432*806*60= 69.3MHz or calculating the dot frequency is: D x 1.25 x fH (the number of dots in a line multiplied by a constant between 1.25 and 1.3 multiplied by the horizontal scanning frequency). bytesperpixel should be equal to pixel depth which is 32bit so it is 4 or 3 without chromaticity 8bits # of lanes in intel docs for LVDS port is 4 link clock (?) also the result is a ratio of M/N but i didnt find anywhere with a relationship of M and N so i cant solve for M value alone or N which is a major challenge also there is ambiguity in words dotclk and pixelClock couse in link M/N=pixelClk/ls_clk
  15. [FIXED] Intel GMA HD 5700MHD

    no today i was working on data M/N/TU registers and the screen seem to display full width but blinking with just white gray and red screen so i think i didnt get the values right if anyone knows how to calculate these values accurately i will appreciate your help the formula is Data M/N = DotClk * BytesPerPixel/ls_clk*# of lanes. i think i didnt get the meaning of ls_clk in some of online docs they define ls_clk as line symbol clock and in xfree.org defined as link clock (1.62GHz or something like 2.7GHz) but am looking forward for help, my intention is to enable this one resolution first then i think it will be easy to add another from EDID implementation and add user inputs in info.plist so that everyone can add configuration of his/her monitor/panel