Jump to content

Getting Laptop Internal LCD to work...


pacops
 Share

7 posts in this topic

Recommended Posts

Obviously there is LaptopDisplay, but the development on that seems to have stopped and no resolution for those who have Internal LCDs has come about. Now there are many people who have the internal lcd on their laptop working, but it seem those whose have internal lcds which don't register their EDID information correctly with osx are the ones having the problems. I can get my external display working fine with QE/CI, but as this is a laptop, that just isn't useful. OSX doesn't see the display, nor create a display override for it hence the need for something like LaptopDisplay and it's utility, but these still don't configure osx to see the overrides for many people. You can inject the values DisplayVendorID and DisplayProductID into IOGraphicsFamily's plist directly, but this still doesn't resolve the issue, only forces the display connected to use the settings in the override file. Maybe somehow forcing osx to detect the display as an apple "AppleBacklightDisplay" could fix the issue, what np_ first set out to do, but I haven't figured out how to do this correctly. There are many values which help configure the display seen under /System/Library/Frameworks/IOKit/Headers/graphics/IODisplayTypes.h, but none of these seem to help in the override file. One thing I've tryed is setting the following keys under Natit:

 

[size=2]

<key>@0,AAPL,boot-display</key>

<integer>1</integer>

<key>@0,DisplayProductID</key>

<integer>20619</integer>

<key>@0,DisplayVendorID</key>

<integer>20979</integer>

<key>@0,NVDA,EFIDisplay</key>

<string>LVDS</string>

<key>@0,compatible</key>

<string>NVDA,NVMac</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,display-dither-support</key>

<integer>1</integer>

<key>@0,display-link-component-bits</key>

<integer>6</integer>

<key>@0,display-type</key>

<string>LCD</string>

<key>@0,fboffset</key>

<integer>131072</integer>

<key>@0,inverter-current</key>

<integer>1</integer>

<key>@0,name</key>

<string>NVDA,Display-A</string>

<key>@1,AAPL,boot-display</key>

<integer>0</integer>

<key>@1,NVDA,EFIDisplay</key>

<string>DFP1</string>

<key>@1,compatible</key>

<string>NVDA,NVMac</string>

<key>@1,device_type</key>

<string>display</string>

<key>@1,display-dither-support</key>

<integer>0</integer>

<key>@1,display-link-component-bits</key>

<integer>6</integer>

<key>@1,inverter-current</key>

<integer>1</integer>

<key>@1,name</key>

<string>NVDA,Display-B</string>

<key>AAPL,backlight-control</key>

<integer>1</integer>

<key>AAPL00,Coherency</key>

<integer>2</integer>

<key>DFP1,EDID</key>

<data>

AP///////wBR84tQAAAAAA4QAQOAHhN4yq/kq1Q1tSMU

T1EjCACVAAEBAQEBAQEBAQEBAQEBqiWgQFGEDDBAIDMA

L74QAAAYAAAA/QA7PTY4CgAKICAgICAgAAAA/ABJbnRl

cm5hbCBMQ0QKAAAA/gBUT1NISUJBCiAgICAgAKo=

</data>

<key>LVDS,EDID</key>

<data>

AP///////wBR84tQAAAAAA4QAQOAHhN4yq/kq1Q1tSMU

T1EjCACVAAEBAQEBAQEBAQEBAQEBqiWgQFGEDDBAIDMA

L74QAAAYAAAA/QA7PTY4CgAKICAgICAgAAAA/ABJbnRl

cm5hbCBMQ0QKAAAA/gBUT1NISUJBCiAgICAgAKo=

</data>

<key>NVCAP</key>

<data>

BAABAAAAAwAMAAAAAAAACgAAAAA=

</data>

<key>NVDA,DeviceID</key>

<integer>20619</integer>

<key>NVDA,EFIVersion</key>

<string>1.3</string>

<key>NVDA,VendorID</key>

<integer>20979</integer>

<key>device_type</key>

<string>NVDA,Parent</string>

[/size]

 

This seems to get closer, but I still get color banding, and some of these strings just might be incorrect. If natit is loaded with these strings and nvdaresman isnt present, the system halts at the application login window, without the additional strings and nvdaresman the system boots, obviously without res change ect. As soon as nvdaresman is loaded, the colorbanding starts.

 

I've also tried playing with IOProbeScore values under IOGraphicsFamily in an attempt to get it to detect the display as an AppleBacklightDisplay, but nothing seems to help. The problem seems to lie with IOGraphicsFamily, IONDRVSupport, or NVDAResman, but I could be wrong. Probley takes some editing of the source, than just entering values into the .plist files.

 

If anyone has had any success getting their internal lcd to work, please post what you did and or your ioreg. Any help would be greatly appreciated, Thanks

 

System:

Toshiba Tecra M7

Intel Core Duo 2.4 Ghz

2GB DDR2 667

Quadro NVS 110M

 

Link to comment
Share on other sites

Here is an IOReg from a Macbook. AppleBacklight.kext kicks in before the graphics drivers, stating that there is a backlight on the display. There are also the entries "AppleBacklightDisplay=1 and AppleDisplay=0" in the IOKitDiagnostics. If there was some way to inject or force AppleBacklightDisplay to be detected on the laptop it could make the backlight work, and force AppleBacklightDisplay to be detected, maybe a method similar to the way Natit works. Before the backlight kext kicks in there is also another entry, PNLF which seems to trigger the backlight kext.

 

+-o PNLF  <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain count 7>
   | | | {
   | | |   "ApplePanelRawBrightness" = 296
   | | |   "ApplePanelRawTable" = <00003e003e003e003e003e003e003e003e003e004000420044004600480048004a004c004e005
0052005400560058005a005a005c005e00600062006400660068006a006c006c006e007000720074
0760078007a007c007e007e00800082008400860088008a008c008e0090009000920094009600980
9a009c009e00a000a200a200a400a600a800aa00ac00ae00b000b200b400b400b600b800ba00bc00
e00c000c200c400c600c600c800ca00cc00ce00d000d200d400d600d800d800da00dc00de00e000e
00e400e600e800ea00ea00ec00ee00f000f200f400f600f800fa00fc00fc00fe0000010201040106
108010c01100114011a011e0122012801>
   | | |   "compatible" = <"backlight">
   | | |   "name" = <"APP0002">
   | | |   "_STA" = 15
   | | |   "_UID" = "10"
   | | | }
   | | | 
   | | +-o AppleIntelPanelA  <class AppleIntelPanelA, !registered, !matched, active, busy 0, retain count 5>
   | |     {
   | |       "IODisplayParameters" = {"brightness"={"min"=0,"max"=128},"commit"={"reg"=0}}
   | |       "CFBundleIdentifier" = "com.apple.driver.AppleBacklight"
   | |       "IOClass" = "AppleIntelPanelA"
   | |       "IONameMatched" = "backlight"
   | |       "IOProbeScore" = 2000
   | |       "ApplePanels" = {"F10P9c57"=<0000003500e200ff>,"F10P9c58"=<0046004600d700ff>,"F10P9c5f"=<0000003e01070128>,"F10P9c5a"=<004c004c00cc00ff>,"F10P9c59"=<004c004c00cc00ff>,"F10P9c5b"=<0000003e01070128>,"F10P9c60"=<0000003500e200ff>,"F10P9c5c"=<0000003e01070128>,"F10P9c61"=<0000003700e700ff>,"Default"=<000007400af7fffe>,"F10P9c56"=<0000003500e200ff>,"F10P9c5d"=<0000003e01070128>,"F10P9c62"=<0000003700e700ff>,"F10P9c5e"=<0000003e01070128>}
   | |       "IOMatchCategory" = "IODisplayParameters"
   | |       "IONameMatch" = "backlight"
   | |       "IOProviderClass" = "IOACPIPlatformDevice"

 

If anyone has any suggestions or ideas, I'm all ears.

Thanks

 

And unfortunately, Apple won't release the source to AppleACPIPlatform, which would make this much easier :thumbsdown_anim: .

mb_ioreg.txt

Link to comment
Share on other sites

Well I was able to finally get full resolution w/ MacVidia 1.07 beta drivers(newer versions just resulted in extreme artifacts), although I don't have QE/CI it's much better than a black screen or color banding. I also was able to get AppleBacklightDisplay to register using IOGraphicsFamily from np_'s totest.zip on the laptop display forum, more current versions wouldn't work. I also had to add IODisplayEDID w/ my EDID to the AppleBacklightDisplay dictionary in iographicsfamily for osx to recognize my display config created with np_'s utility. This is progress I guess, or at the least a temp solution... I also attached my ioreg for any curious. LaptopDisplay still seems to do nothing when loaded, and AppleBacklight.kext still doesn't register, tried various versions of it 10.4.5-.9

tosioreg.txt

Link to comment
Share on other sites

  • 2 years later...

I have the same specs:

 

Toshiba Tecra M7

Intel Core Duo 2.4 Ghz

2GB DDR2 667

Quadro NVS 110M

 

Has anyone figured this out and if so, where can I find that information, thanks!

 

John

Obviously there is LaptopDisplay, but the development on that seems to have stopped and no resolution for those who have Internal LCDs has come about. Now there are many people who have the internal lcd on their laptop working, but it seem those whose have internal lcds which don't register their EDID information correctly with osx are the ones having the problems. I can get my external display working fine with QE/CI, but as this is a laptop, that just isn't useful. OSX doesn't see the display, nor create a display override for it hence the need for something like LaptopDisplay and it's utility, but these still don't configure osx to see the overrides for many people. You can inject the values DisplayVendorID and DisplayProductID into IOGraphicsFamily's plist directly, but this still doesn't resolve the issue, only forces the display connected to use the settings in the override file. Maybe somehow forcing osx to detect the display as an apple "AppleBacklightDisplay" could fix the issue, what np_ first set out to do, but I haven't figured out how to do this correctly. There are many values which help configure the display seen under /System/Library/Frameworks/IOKit/Headers/graphics/IODisplayTypes.h, but none of these seem to help in the override file. One thing I've tryed is setting the following keys under Natit:

 

[size=2]

<key>@0,AAPL,boot-display</key>

<integer>1</integer>

<key>@0,DisplayProductID</key>

<integer>20619</integer>

<key>@0,DisplayVendorID</key>

<integer>20979</integer>

<key>@0,NVDA,EFIDisplay</key>

<string>LVDS</string>

<key>@0,compatible</key>

<string>NVDA,NVMac</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,display-dither-support</key>

<integer>1</integer>

<key>@0,display-link-component-bits</key>

<integer>6</integer>

<key>@0,display-type</key>

<string>LCD</string>

<key>@0,fboffset</key>

<integer>131072</integer>

<key>@0,inverter-current</key>

<integer>1</integer>

<key>@0,name</key>

<string>NVDA,Display-A</string>

<key>@1,AAPL,boot-display</key>

<integer>0</integer>

<key>@1,NVDA,EFIDisplay</key>

<string>DFP1</string>

<key>@1,compatible</key>

<string>NVDA,NVMac</string>

<key>@1,device_type</key>

<string>display</string>

<key>@1,display-dither-support</key>

<integer>0</integer>

<key>@1,display-link-component-bits</key>

<integer>6</integer>

<key>@1,inverter-current</key>

<integer>1</integer>

<key>@1,name</key>

<string>NVDA,Display-B</string>

<key>AAPL,backlight-control</key>

<integer>1</integer>

<key>AAPL00,Coherency</key>

<integer>2</integer>

<key>DFP1,EDID</key>

<data>

AP///////wBR84tQAAAAAA4QAQOAHhN4yq/kq1Q1tSMU

T1EjCACVAAEBAQEBAQEBAQEBAQEBqiWgQFGEDDBAIDMA

L74QAAAYAAAA/QA7PTY4CgAKICAgICAgAAAA/ABJbnRl

cm5hbCBMQ0QKAAAA/gBUT1NISUJBCiAgICAgAKo=

</data>

<key>LVDS,EDID</key>

<data>

AP///////wBR84tQAAAAAA4QAQOAHhN4yq/kq1Q1tSMU

T1EjCACVAAEBAQEBAQEBAQEBAQEBqiWgQFGEDDBAIDMA

L74QAAAYAAAA/QA7PTY4CgAKICAgICAgAAAA/ABJbnRl

cm5hbCBMQ0QKAAAA/gBUT1NISUJBCiAgICAgAKo=

</data>

<key>NVCAP</key>

<data>

BAABAAAAAwAMAAAAAAAACgAAAAA=

</data>

<key>NVDA,DeviceID</key>

<integer>20619</integer>

<key>NVDA,EFIVersion</key>

<string>1.3</string>

<key>NVDA,VendorID</key>

<integer>20979</integer>

<key>device_type</key>

<string>NVDA,Parent</string>

[/size]

 

This seems to get closer, but I still get color banding, and some of these strings just might be incorrect. If natit is loaded with these strings and nvdaresman isnt present, the system halts at the application login window, without the additional strings and nvdaresman the system boots, obviously without res change ect. As soon as nvdaresman is loaded, the colorbanding starts.

 

I've also tried playing with IOProbeScore values under IOGraphicsFamily in an attempt to get it to detect the display as an AppleBacklightDisplay, but nothing seems to help. The problem seems to lie with IOGraphicsFamily, IONDRVSupport, or NVDAResman, but I could be wrong. Probley takes some editing of the source, than just entering values into the .plist files.

 

If anyone has had any success getting their internal lcd to work, please post what you did and or your ioreg. Any help would be greatly appreciated, Thanks

 

System:

Toshiba Tecra M7

Intel Core Duo 2.4 Ghz

2GB DDR2 667

Quadro NVS 110M

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...