Jump to content

Working X3100 Latitide D830 1920x1200


lavender.t
 Share

5 posts in this topic

Recommended Posts

X3100 in Latitude D830 with 1920 x 1200 built-in LCD is a real pain in the S. and the talented apple developers just ship even crappier x3100 drivers with each release. it took me too much time to get it work in my D830, and still, not everything. you gotta pick your own poison -- not a single combination works without a glitch.

 

there are basically 2 combinations to choose from. all depend on different versions of AppleIntelGMAX3100FB.ext:

 

A: *3100FB.ext 1.5.18.7 (from apple's official 10.5.1 update package):

 

for this ext, AppleIntelGMAX3100GA.plugin, AppleIntelGMAX3100GLDriver.bundle and AppleIntelGMAX3100VADriver.bundle should be removed. otherwise Finder very frequently hang on boot and you will only see a black (without DSDT fix) or blue (with DSDT fix) screen.

 

with the above 3 kexts removed plus Natit.kext, sleep trick will work. you can further apply DSDT fixes then you dont need sleep tricks any more.

 

CULPRIT:

 

<1> sadly when verticle resolution is native 1200, the mouse artifact raises its ugly head. to workaround, you can either use the blurry reduced resolution (1600 x 1000 and below), or rescale the mouse to a huge one (in "Universal Access" of the System Preferences).

 

UPDATE: the mouse artifact is resolved with my hacked 1.5.18.7 to use soft cursor. see SOLVED: X3100 mouse artifact in full resolutions.

 

<2> since the above 3 kexts were removed, QE will NOT be supported. well, it is already ugly enuf in <1> so that you wont even think about QE.

 

SUMMARY:

 

o- remove: AppleIntelGMAX3100GA.plugin, AppleIntelGMAX3100GLDriver.bundle, AppleIntelGMAX3100VADriver.bundle.

o- add Natit.kext.

o- use DSDT fix to get rid of the sleep trick.

o- reduce resolution to 1600x1200 or lower; or rescale the mouse bigger to fix mouse artifacts.

o- use my hacked 1.5.18.7 AppleIntelGMAX3100FB, download from here.

 

 

B: *3100FB.ext 1.5.24.9 (from apple's official Leopard Graphics Update1.0):

 

good news is -- this one works with all the kexts and NO artifacts at all in native 1920 x 1200 resolution !! no Natit.kext is needed. but you must have DSDT fix. the reason -- well, see culprit:

 

CULPRIT:

 

there is no way to fully wake up the built-in LCD after the screen sleep. the backlight was on but the screen is just black. this is exactly the reason why DSDT fix is a must in this scenario -- you cannot use sleep tricks at all since the LCD never wakes up. this is eactly the same reason that i had thought 1.5.24.9 didnt work at all.

 

changing the screen resolution also blacks out the LCD.

 

the workaround will be cruel to your lappy -- never let it sleep. power off when not in use. unless it's a company laptop that is constantly AC hooked, i dont think you'd even consider doing this.

 

SUMMARY:

 

o- DSDT fix.

o- Natit.kext is NOT needed.

o- NEVER let it sleep.

 

 

C: all other newer versions of *3100FB.kext:

 

they dont work at all. apple should fire the developer for the new versions. it's just getting crappier as everyone can see.

 

 

 

SIDE NOTES:

 

o- AppleIntelGMAX3100.kext doesnt seem to matter. you can just use the stock one comes with the official releases.

 

o- indeed you only need to remove the DVI devices from the DSDT to get rid of the sleep trick.

 

o- looks to me that versions newer than 1.5.24.9 merged part of the startup code path with the wake up logics, which led to their not working at all for us.

 

o- from 1.5.24.9 and above you will see a warning: "IG: Invalid firmware max backlight settings". yes i suspected that it could be the reason that the LCD doesnt wake up. and i did took a look at the disassembly in IDA. it was reading the max backlight values from offset 0x61254 of a certain table -- for my D830 it was 1000. then it uses a magic number 0x9E822A to divide it by "InverterFrequency", and compare it with 1000. if they are not equal, it complains. by default, if the "InverterFrequency" is not set, it takes a default value of 21000. 0x9E822A / 21000 = 494 != 1000. and that's the reason you see bklt = 494 in IOREG. i tried to change the magic number to be 21000 x 1000. then the warning log went away, but the screen still didnt wake up.

tried to read a bit more code but couldnt nail where was wrong. esp there is a big jump table to invoke SDVO opcodes which i thought could be covered by NDA craps that i didnt have time to dig into. but most of the power state code looked same or similar btw .18.7 and .24.9.

 

hope this'd be helpful.

 

- lt

Link to comment
Share on other sites

i used tim025's method (thanks btw) on 10.5.6 and it works at 1280x800. i added the dsdt mod for backlight and that worked but it would boot on lowest setting. i just updated to 10.5.7 using software upd (couldn't resist) and it now boots with backlight at normal setting, no artifacts/issues effectively fully working (feel free to slate if i've missed something). Which confirmed a long standing suspicion of mine, you see i was one of the poor sods with rev3 which for a long time seemed hopeless. it would boot with a white screen and scrambled lines as if the freq was out of range. switchresx helped me get the right res, but that was conjoined with natit and the arseache that goes with it. however once the right resolution had been achieved the stock drivers can be used (i think) btw adding "graphics mode@ etc.. to com.apple.boot.plist made no diff. also adding certain strings from hatrix's x3100 dump to natit caused them to show up in ioreg don't think that it improves performance though, i just used the binary translator to convert values. interesting stuff anyway.

 

fs lifebook 6410 x3100 2a02 0003

 

if anyone would like i am happy to write a full guide, having spent since sept08 trying to get this working i know how much of a pain it can be.

Link to comment
Share on other sites

i used tim025's method (thanks btw) on 10.5.6 and it works at 1280x800.

Which method are you mentioning?

 

fs lifebook 6410 x3100 2a02 0003

 

if anyone would like i am happy to write a full guide, having spent since sept08 trying to get this working i know how much of a pain it can be.

It would be great. I am getting crazy on this. I have the same video card (Vendor: Intel (0x8086) - Device ID: 0x2a02) on a Sony Vaio.

 

Can you tell me which kexts should I use? I tried many of them...

Link to comment
Share on other sites

2 lavender.t:

I have the same D830 as you and worked fine your trick A: *3100FB.ext 1.5.18.7 (from apple's official 10.5.1 update package). Many thanks for that! Great work! :P

I just updated to 10.5.7 and it works too. :)

 

BTW: I can't get working trick B: *3100FB.ext 1.5.24.9. I guess, that my DSDT fix isnt working, I have to figer out.

 

Link to comment
Share on other sites

  • 2 weeks later...
i used tim025's method (thanks btw) on 10.5.6 and it works at 1280x800. i added the dsdt mod for backlight and that worked but it would boot on lowest setting. i just updated to 10.5.7 using software upd (couldn't resist) and it now boots with backlight at normal setting, no artifacts/issues effectively fully working (feel free to slate if i've missed something). Which confirmed a long standing suspicion of mine, you see i was one of the poor sods with rev3 which for a long time seemed hopeless. it would boot with a white screen and scrambled lines as if the freq was out of range. switchresx helped me get the right res, but that was conjoined with natit and the arseache that goes with it. however once the right resolution had been achieved the stock drivers can be used (i think) btw adding "graphics mode@ etc.. to com.apple.boot.plist made no diff. also adding certain strings from hatrix's x3100 dump to natit caused them to show up in ioreg don't think that it improves performance though, i just used the binary translator to convert values. interesting stuff anyway.

 

fs lifebook 6410 x3100 2a02 0003

 

if anyone would like i am happy to write a full guide, having spent since sept08 trying to get this working i know how much of a pain it can be.

I am a FS S6410 user. I am glad that you can write the procedures down to install the driver for intel X3100

Link to comment
Share on other sites

 Share

×
×
  • Create New...