Jump to content

LaptopDisplay


np_
 Share

429 posts in this topic

Recommended Posts

you can't fake EDID it's must be exact for your LCD or won't work

 

btw what is this panel max resolution ?

 

Ah, I'm loosing hope again... :)

 

Max resolution is 1440x900.

By the way! I studied Bimmers files -since our laptops are almost the same - and I saw this in one of his ATI kexts:

 

<key>AAPL,EDID</key> <data><00ffffff ffffff00 06101d92 ...>

 

But Bimmer claims that it is working for him on a zd8000. Which has the same internal display as mine. And as you can see it from the EDID line, his EDID is also for an Apple display!

To make it clear here's what I get from MonInfo:

 

For the 1st output it is default monitor on NVidia GeForce FX Go5600 and no EDID.

For the 2nd output it is Apple monitor on Auxiliary port with this EDID:

 

Monitor

Windows description......... Apple Monitor

Manufacturer description.... Color LCD

Manufacturer................ Apple

————————————————————————————

Plug and Play ID............ APP9C2C

Serial number............... n/a

EDID data source............ I2C bus (real-time)

————————————————————————————

Manufacture date............ 2003, ISO week 1

EDID revision............... 1.3

Display type and signal..... Digital

Sync input support.......... n/a

Screen size................. 370 x 230 mm (~18")

Power management............ n/a

 

Color characteristics

Display gamma............... 2.20

Red chromaticity............ Rx 0.609 - Ry 0.340

Green chromaticity.......... Gx 0.324 - Gy 0.550

Blue chromaticity........... Bx 0.145 - By 0.114

White point (default)....... Wx 0.319 - Wy 0.329

 

Timing characteristics

VESA GTF support............ Not supported

Horizontal scan range....... n/a

Vertical scan range......... n/a

Video bandwidth............. n/a

Extension blocks............ n/a

Timing recommendation #1.... 1440x900 at 60Hz

Modeline................ "1440x900" 96.210 1440 1504 1536 1760 900 903 906 912 -hsync -vsync

 

Standard timings supported

n/a

Raw EDID base

00: 00 FF FF FF FF FF FF 00 06 10 2C 9C 00 00 00 00

10: 01 0D 01 03 80 25 17 78 0A 03 1D 9C 57 53 8C 25

20: 1D 51 54 00 00 00 01 01 01 01 01 01 01 01 01 01

30: 01 01 01 01 01 01 95 25 A0 40 51 84 0C 30 40 20

40: 33 00 6F E6 10 00 00 18 00 00 00 01 00 06 10 30

50: 00 00 00 00 00 00 00 00 0A 20 00 00 00 FE 00 4C

60: 50 31 37 31 57 30 31 00 00 00 0A 20 00 00 00 FC

70: 00 43 6F 6C 6F 72 20 4C 43 44 0A 20 20 20 00 56

Link to comment
Share on other sites

you need to add one key to File DisplayProductID-1247 ( file you create with displayutility)

 

under "IOGFlags"

 

add this IODisplayEDID as key , type is data, and paste your EDID ie

 

00FFFFFFFFFFFF0006AF471200000000010F0103801E13780A87C594574F8C272550540000000101

1010101010101010101010101013822A0A050840C303020360030BE100000180000000F000000000

000000000000000020000000FE0041554F0A202020202020202020000000FE 004231343150573031205632200A006D

 

safe file and reboot

 

use plist editor !

 

np_,

 

Thanks for the response. I have already added the IODisplayEDID value using Plist editor as described in a previous post. Doing so dumps a file that looks like this:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>DisplayProductID</key>
 <integer>4679</integer>
 <key>DisplayProductName</key>
 <string>Asus LCD</string>
 <key>DisplayVendorID</key>
 <integer>1711</integer>
 <key>IODisplayEDID</key>
 <data>
 AP///////wAGr0cSAAAAAAEPAQOAHhN4CofFlFdPjCclUFQAAAABAQEBAQEBAQEBAQEB
 AQEBOCKgoFCEDDAwIDYAML4QAAAYAAAADwAAAAAAAAAAAAAAAAAgAAAA/gBBVU8KICAg
 ICAgICAgAAAA/gBCMTQxUFcwMSBWMiAKAG0=
 </data>
 <key>IOGFlags</key>
 <integer>4</integer>
 <key>dmdg</key>
 <data>
 AAAAAg==
 </data>
</dict>
</plist>

 

Are you indicating that I should replace the "AP//// . . . KAG0=" information in this file with the EDID in plaintext, separated into eight-character blocks?

 

Also, PList editor placed the <key> IODeviceEDID before IOFlags, presumably organizing them alphabetically. Is it important to reorder them in the outputted file manually?

 

As you can see, I have renamed the default "Color LCD" to "Asus LCD" to see if this file is being loaded while booting. It would appear not, as the system profiler shows "Color LCD"

 

Finally, I note that nearly _EVERY_ extension (except IOKIT) in system profiler has dependency issues. Namely, none of them can find a valid version of iokit or anything dependent therefrom. Does anyone else have this issue, with at least half a dozen dependency errors for almost EVERY extension?

Link to comment
Share on other sites

... laptopdisplay working.... then the problem is my ati drivers!!

 

callisto, atiinject etc.. not working!!!

 

i do know.... :)

 

dear alexxxxxx attached you can find the correct atiinject.kext for your internal display (if the EDID you provided was correct)

grab the files posted in the mobilityx1600 thread and use them together with this atiinject.kext

i did NOT prepare you the inject with external monitor working for 2 reasons:-

it's not perfectly working(screen splitted mainly on ASUS machines)

-you should learn how to edit the files yourself since it's perfectly described in the other thread...

cheers

sheriff

ATIinject.kext_alexxxxxx.zip

Edited by sheriffbounce
Link to comment
Share on other sites

scheriff: your Atiinject not working!

 

the procedure do from me to install ati inject is:

 

copy your atiinject in extensions..

copy relates file in extensions (ATINDRV.kext ... IONDRVSupport.kext)

 

repair permissions from diskutils and from terminal:

 

cd /System/Library/Extensions

sudo chown -R root:wheel ATIinject.kext

sudo chmod -R 755 ATIinject.kext

 

and remove from library the 2 cache files...

 

restart...

 

at restart (-v parameter) my screen is posted... my screen is blocked to image attach...

 

solutions???

post-75996-1169513154_thumb.jpg

Edited by Alexxxxxx
Link to comment
Share on other sites

Hi everyone,

 

First: great stuff going on here, really!

 

Ï hope It's OK to consult you about my situation here...

 

After QE/CI on external monitor only, getting my laptop back to being a laptop seems to be the next step...

Here's what I've done so far:

-Got EDID from moninfo, made file with DisplayUtitity (showed correct DeviceID), added 2 lines in Info.plist with EDID key

-Put this file in overrides folder and fix permissions

-Put Laptopdisplay and IOGraphicsfamily in extensions folder, fixed perm and own

-Deleted extensions.kextcache and extensions.mkext

 

In this state, I can boot the machine without QE or CI, but system profiler shows "color LCD", that's some progress already...

 

BUT

When I move NvidiaEFI.kext into the extensions folder, I have a black screen (and probably image on VGAout)

When I move natit or titan in, same as usual, black screen and QECI display on VGA output.

 

When -v booting with NvidiaEFI, I can see something like:

....

NVDANV40hal loaded and registered

IOPanelDevice: Machine is Laptop!

IOPanelDevice: Registered OK!

IOPanelDevice: Started OK!

NGFX: family specific matching fails

NV:NVidiaEFI support version 1.0.1, build ....

Internal LCD Panel Detected on output: A, Head N: 0

Internal LCD Panel Max Resolution: 1280x800 (which is correct)

...

 

Is there something (sorry if it's obvious :| ) that I forget doing? Some way of using natit/titan/NvidiaEFI with this detected panel?

 

One more question... Is nvidiaEFI a kext to use with others, or is it a standalone QE/CI-"driver" like natit and titan?

 

Thanks,

Regards

KG

Link to comment
Share on other sites

open LaptopDisplay plist

 

look for key "brightness" and modifity "max" from 100 to 255

 

min from 0 to 31

 

and try again

 

if not work set max = 31 , min = 4

 

No workie. Both displays now detected as "Color LCD" with same proper resolutions on internal display but many very high unsupported resolutions on external.

 

QE continues to work, but i still get fade to white on internal monitor.

Link to comment
Share on other sites

Well after lots of reading buggering around, I've finally got the lcd display on my Samsung X60 with ATI X1400 to work properly check out my screen capture.

 

I followed BorisBadenov X1600/X1800 instructions here

 

just had to add the extra lines to the end of the Info.plist in ATIDRV.kext file because they weren't there. Also used pico as my text editor.

if anybody wants a copy of my plist files for their x1400, just email me

 

Hope this works for other ATI mobilty X1400 cards too....

Jakey39

ati_display.tiff

Link to comment
Share on other sites

Hi All

 

just a quick add on to my earlier post. In System Profile my device ID is 0x7145 and Vendor ID is 1002; in the example that BorisBadenov gave for getting the drivers working, there is a 'c' in the device id. I couldn't find this on my card(but mine is an ATI Moblity X1400, so that could be why)

 

Also I couldn't find emacs, so used pico instead

 

Anyhow, if any body wants a copy of the modified files, just email and I'll gladly send them

 

Jakey39

Edited by jakey39
Link to comment
Share on other sites

I have replaced Natit with NvidiaEFI.

 

Now, when i boot, by external monitor is still detected properly, but my internal monitor is detected the same as my external with the same resolutions and name.

 

However, when i press "detect displays", the internal monitor is detected as Color LCD with proper resolutions.

 

The screen is white the whole time, and doesn't change when i press detect displays, although it becomes properly detected.

 

I think the LaptopDisplay.kext is not initilized at startup wth NvidiaEFI, and requires pressing "detect displays", but by then, the screen is already having problems.

 

I tried changing the brightness settings as np_ told me, and that seemed to have some effect on what the white screen looks like as it is fading. I also added the EDID key and my EDID to the file produced by DisplayUtility, but that didnt do it either.

 

Just trying to be as helpful as I can :rolleyes:

 

thanks for all your work np_

Link to comment
Share on other sites

Guest goodtime

| +-o backlight  <class IOPanelDevice, registered, matched, active, busy 0,$
|   | {
|   |   "IOProbeScore" = 0
|   |   "IOResourceMatch" = "ACPI"
|   |   "IOClass" = "IOPanelDevice"
|   |   "name" = "backlight"
|   |   "compatible" = <"backlight">
|   |   "IOProviderClass" = "AppleACPIPlatformExpert"
|   |   "CFBundleIdentifier" = "com.free.LaptopDisplay"
|   |   "IOMatchCategory" = "IOPanelDevice"
|   | }
|   | 
|   +-o LaptopPanelA  <class LaptopPanelA, !registered, !matched, active, b$
|	   {
|		 "IOMatchCategory" = "IODefaultMatchCategory"
|		 "IOClass" = "LaptopPanelA"
|		 "IODisplayParameters" = {"brightness"={"min"=0,"max"=255},"commit$
|		 "IOProviderClass" = "IOPanelDevice"
|		 "IONameMatched" = "backlight"
|		 "CFBundleIdentifier" = "com.free.LaptopDisplay"
|		 "IONameMatch" = "backlight"
|		 "IOProbeScore" = 0
|	   }
|	   
|

 

 

Just curious. Seems to load correctly on my ATI Radeon 9200 Mobility.

 

What does Laptopdisplay.kext and NVidiaEFI.kext do?

 

Do I need to use them in conjunction with Callisto b003, AGPGart 2.1 or 2.2, Natit, ATI Radeon 8500 Kext's?

 

Thanks for your help and doing something cool for Laptop users! :worried_anim:

 

LaptopDisplay:

 Version:	1.0.0d1
 Last Modified:	1/23/07 9:53 PM
 Get Info String:	LaptopDisplay 1.0.0d1, Copyright 2007 Free Computer, Inc.
 Location:	/System/Library/Extensions/LaptopDisplay.kext
 kext Version:	1.0.0d1
 Load Address:	0x316ed000
 Valid:	Yes
 Authentic:	Yes
 Dependencies:	Incomplete
 Dependency Errors:
 com.apple.iokit.IONDRVSupport:	No valid version of this dependency can be found
 Integrity:	Unknown

 

Which Version of the IONDRVSupport kext should we be using? I have 1.4.3 loaded.

 

gt

Edited by goodtime
Link to comment
Share on other sites

Well, I'm stymied.

 

I reinstalled 10.4.8 a few times, to figure out and fix the dependency issues in system profiler. I have not been able to get the monitor information to work (i.e., I'm still stuck at 1024x768).

 

I am attaching the output from moninfo.exe, including my EDID.

 

Using that EDID, I generated the attached DisplayProductID-1247 (which is located in a DisplayVendorID-06af folder, and which I have zipped to satisfy the upload requirements) I have also added the EDID information to this file using the Plist editor, as you can see from the IODisplayEDID <key>

 

I have installed the most recent laptopdisplay.kext (from totest.zip posted by np_), with correct permissions, and the updated iographicsfamily.kext (the one with probescore set to 0). I tried it with and without nvidiaefi.kext. Still no luck.

 

Sytem profiler indicates that the laptopdisplay.kext has dependency issues with iographicsfamily and ionvdrvsupport. both kexts are present and claim to be loaded when I run "kextload -t" on them in terminal. I see iographicsfamily in the system profiler, but not iondrvsupport.

 

Has anyone figured out how to solve the dependency issues for laptopdisplay.kext? Are these dependency issues what are preventing me from getting full resolution out of my monitor?

moninfo_output.txt

DisplayProductID_1247.zip

Link to comment
Share on other sites

scheriff: your Atiinject not working!

 

the procedure do from me to install ati inject is:

 

copy your atiinject in extensions..

copy relates file in extensions (ATINDRV.kext ... IONDRVSupport.kext)

 

repair permissions from diskutils and from terminal:

 

cd /System/Library/Extensions

sudo chown -R root:wheel ATIinject.kext

sudo chmod -R 755 ATIinject.kext

 

and remove from library the 2 cache files...

 

restart...

 

at restart (-v parameter) my screen is posted... my screen is blocked to image attach...

 

solutions???

 

then the EDID you gave me was not the correct one...

Link to comment
Share on other sites

Using that EDID, I generated the attached DisplayProductID-1247 (which is located in a DisplayVendorID-06af folder, and which I have zipped to satisfy the upload requirements) I have also added the EDID information to this file using the Plist editor, as you can see from the IODisplayEDID <key>

 

can you rename folder DisplayVendorID-06af to DisplayVendorID-6af

 

and try again

Link to comment
Share on other sites

can you rename folder DisplayVendorID-06af to DisplayVendorID-6af

 

and try again

 

Tried renaming to DisplayVendorID-6af, still no luck. Here's what I see in System Profiler:

 

NVIDIA GeForce Go 7700:

 Chipset Model:	NVIDIA GeForce Go 7700
 Type:	Display
 Bus:	PCIe
 VRAM (Total):	256 MB
 Vendor:	NVIDIA (0x10de)
 Device ID:	0x0397
 Revision ID:	0x00a1
 Displays:
Color LCD:
 Resolution:	1024 x 768
 Depth:	32-bit Color
 Core Image:	Not Supported
 Main Display:	Yes
 Mirror:	Off
 Online:	Yes
 Quartz Extreme:	Not Supported
Display:

 

IOGraphicsFamily:

 Version:	1.4.4
 Last Modified:	1/22/07 9:44 PM
 Get Info String:	1.4.4, Copyright Apple Computer, Inc. 2000-2004
 Location:	/System/Library/Extensions/IOGraphicsFamily.kext
 kext Version:	1.4.4
 Load Address:	0x41ac0000
 Valid:	Yes
 Authentic:	Yes
 Dependencies:	Satisfied
 Integrity:	Kext is modified

 

LaptopDisplay:

 Version:	1.0.0d1
 Last Modified:	1/22/07 9:01 PM
 Get Info String:	LaptopDisplay 1.0.0d1, Copyright 2007 Free Computer, Inc.
 Location:	/System/Library/Extensions/LaptopDisplay.kext
 kext Version:	1.0.0d1
 Load Address:	0x41b05000
 Valid:	Yes
 Authentic:	Yes
 Dependencies:	Incomplete
 Dependency Errors:
 com.apple.iokit.IOGraphicsFamily:	No valid version of this dependency can be found
 com.apple.iokit.IONDRVSupport:	No valid version of this dependency can be found
 Integrity:	Unknown

 

 

IONDRVSupport does not appear in system profiler list, but according to kextload -t iondrvsupport.kext, it is valid and already loaded.

 

I have attached my ioreg log as well. It seems that the LaptopPanel class is there okay. Still just 1024x768 resolution, though.

 

Any other thoughts?

a8js.txt

Link to comment
Share on other sites

Hello np_, thank you for your great work, however I still have some problem. This is what I have done so far: (using ToTest.zip and the later LaptopDisplay file)

Replace 'IOGraphicFamily' in the 'Extensions' folder without changing anything,

Place 'LaptopDisplay' in the 'Extensions' folder without changing anything,

Place 'DisplayVendorID-3ac4' in the 'Override' folder with EDID key added in the <data> tag,

Place 'NVidiaEFI.kext' in the 'Extensions' folder and edit the DevID to 0x016710DE

 

My laptop boots up perfectly (fortunately), but without CI/QE, so I 'replace' NVidiaEFI.kext with Natit.kext, and still no CI/QE.

 

However, I do notice that the software rendering is much much faster and smoother (or is it my processor that's working :tomato: ) anyway, thank you very much and well done on your great great work.

 

 

Please have a look at my IOREG files if you'd please.

 

--

6200go_Natit.txt

6200go_NVidiaEFI.txt

Edited by PopMishima
Link to comment
Share on other sites

Hello np_, thank you for your great work, however I still have some problem. This is what I have done so far: (using ToTest.zip and the later LaptopDisplay file)

Replace 'IOGraphicFamily' in the 'Extensions' folder without changing anything,

Place 'LaptopDisplay' in the 'Extensions' folder without changing anything,

Place 'DisplayVendorID-3ac4' in the 'Override' folder with EDID key added in the <data> tag,

Place 'NVidiaEFI.kext' in the 'Extensions' folder and edit the DevID to 0x016710DE

 

My laptop boots up perfectly (fortunately), but without CI/QE, so I 'replace' NVidiaEFI.kext with Natit.kext, and still no CI/QE.

 

However, I do notice that the software rendering is much much faster and smoother (or is it my processor that's working :mellow: ) anyway, thank you very much and well done on your great great work.

Please have a look at my IOREG files if you'd please.

 

--

 

please post full ioregs , in this one missing most import part

Link to comment
Share on other sites

yep need new IOGraphicsFamily

this one do not read displayvendor/product ID's

 

see in your ioreg they are "0" :)

 

Ah. I thought that this was the IOGraphicsFamily I downloaded from your totest.zip post. I'll reinstall it and try again.

 

Are the dependency errors anything that would be preventing this from working?

 

Thanks for all your help, by the by. :thumbsup_anim:

 

Also, I notice that the DisplayVendorID in the IOreg is "1970170734" -- I can't see my MAC drive right now, but isn't there a DisplayVendorID-1970170734

folder in /system/library/displays/overrides ? Is this an apple VendorID?

Edited by joshlawless
Link to comment
Share on other sites

Also, here's a follow up thought --

 

Could I cheat and just rename the DisplayVendorID-06af and ProductVendorID-1247 folder and file that I generated with the display utility to match what IOReg is outputting? (e.g., DisplayVendorID-1970170734 and DisplayProductID-0) And, I presume, I would also change the Display Vendor and Display Prodct properties within the file (to their integer values) using PList editor?

 

I mean, if IOGraphicsFamily thinks I have a VendorID of 1970170734 and a Product ID of 0, rather than trying to convince it that I have, in fact, a Vendor ID of 6af and a ProductID of 1247, I could just edit the DeviceProductID-0 file to include my EDID data string, and therefore feed it the correct resolutions / support for CI and QE.

 

I can't try it until tonight, but what are your thoughts?

Edited by joshlawless
Link to comment
Share on other sites

then the EDID you gave me was not the correct one...

 

no sheriffbounce! my edid was correct!

my laptop il blocked.. die .. not response.. at screen posted in previous post...

 

in attach my windows screen to verify edid....

 

the problem for my laptop is misterious... :rolleyes:

post-75996-1169673538_thumb.jpg

Edited by Alexxxxxx
Link to comment
Share on other sites

Hello everybody, second time running test:

This time LaptopDisplay.kext, NVidiaEFI.kext (with deviceID 0x034810de) didn´t understand the first time should edit, or should Not?? and modified IOGraphicsFamily.kext.

 

System Pro reports:

Display:

 

Type: VGA-Compatible Controller

Bus: PCI

VRAM (Total): 256 MB

Vendor: nVIDIA (0x10de)

Device ID: 0x0348

Revision ID: 0x00a1

Kernel Extension Info: No Kext Loaded

Displays:

Color LCD:

Resolution: 1280 x 1024 (this res got it by editing com.appleBoot.plist, i think all i can manage by the time is only the 1024x768, like many others)

Depth: 32-bit Color

Core Image: Not Supported

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

 

 

and system log

 

Jan 24 22:15:58 localhost kernel[0]: IOPanelDevice: Machine Is Laptop!

Jan 24 22:15:58 localhost kernel[0]: IOPanelDevice: Registered OK!

Jan 24 22:15:58 localhost kernel[0]: LaptopPanelA: Started Ok!

Jan 24 22:15:58 localhost kernel[0]: ApplePS2Trackpad: Synaptics TouchPad v5.8

Jan 24 22:15:58 localhost kernel[0]: wl0: Broadcom BCM4320 802.11 Wireless Controller

 

Finally ioreg:

 

ioreg_nVidiaGeForceFXGo5700.txt

 

could you be kind to give feedback on this np_?? and give some more instructions if need it, or should i just keep on waittin for you to solv all of our problems??

Edited by nody
Link to comment
Share on other sites

NVidiaEFI.kext (with deviceID 0x034810de)

 

How do you edit NVidiaEFI.kext with your deviceID? I know where to do so in Natit.kext and Titan.kext, but I don't see any key in the NVidiaEFI.kext to replace. Are you adding a key to the file, and if so, where?

Link to comment
Share on other sites

 Share

×
×
  • Create New...