Jump to content

LaptopDisplay


np_
 Share

429 posts in this topic

Recommended Posts

For instance, I don't know how to add EDID's to Titan or Natit or DisplayProductID-XXX. See, just typing this data in is probably not correct. I think you're supposed to use a utility called Property List Editor with xCode to do this.

 

Ok, let see if I can help, at least in part.

 

Problem: insert EDID data in some Info.plist file. How?

 

I suppose you already have a file with your EDID data, for example this (produced by Phoenix under Windows):

 

EDID BYTES:

 

0x 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

 

------------------------------------------------

 

00 | 00 FF FF FF FF FF FF 00 30 AE 43 40 00 00 00 00

 

10 | 00 0F 01 03 80 1E 17 78 EA AF 00 99 58 53 8C 2A

 

20 | 25 50 54 21 08 00 81 80 01 01 01 01 01 01 01 01

 

30 | 01 01 01 01 01 01 30 2A 78 20 51 1A 10 40 30 70

 

40 | 13 00 31 E4 10 00 00 18 28 23 78 20 51 1A 10 40

 

50 | 30 70 13 00 31 E4 10 00 00 18 00 00 00 0F 00 90

 

60 | 43 32 90 43 28 14 06 00 32 0C 00 00 00 00 00 FE

 

70 | 00 4C 50 31 35 30 45 30 35 2D 41 32 0A 20 00 9B

 

First of all, you MUST manually edit these data, grouping them in 8-char sequences separated by spaces, like this:

 

00FFFFFF FFFFFF00 30AE4340 00000000 000F0103 801E1778 EAAF0099 58538C2A 25505421 08008180 01010101 01010101 01010101 0101302A 7820511A 10403070 130031E4 10000018 28237820 511A1040 30701300 31E41000 00180000 000F0090 43329043 28140600 320C0000 000000FE 004C5031 35304530 352D4132 0A20009B

 

These data are now in appropriate format to be inserted in an Info.plist or DisplayProductID-xxx file.

 

To this extent, you indeed need to use the "Property List Editor" app, grab it here:

 

http://forum.insanelymac.com/index.php?act...ost&id=5288

 

Now let us suppose you want to add those data in a DisplayProductID-xxx file. How to do?

 

Launch the Property List Editor, open the relevant file as in this example:

 

post-64239-1168601578_thumb.jpg

 

you see that properties are:

 

1) hierarchically organized;

2) consisting, each, of:

- a property name

- a type of data

- the value of the data

 

Now, in the case of DisplayProductID-xxx files, the name of the new property to insert is "IODisplayEDID", the type of data is "Data" and the value of data is the string you have manually prepared before.

 

We will now insert the new property.

 

First, click "New Sibling" button, it will create a new empty property:

 

post-64239-1168601597_thumb.jpg

 

Then, doubleclick on the property name field and type "IODisplayEDID":

 

post-64239-1168601634_thumb.jpg

 

Now set the property type as "Data" by using the pop up menu in the "Class" column, then click in the value field:

 

post-64239-1168601647_thumb.jpg

 

Finally, paste the string of the EDID data:

 

post-64239-1168601659_thumb.jpg

 

That's it, save and exit.

 

In the case of Natit, for my ATI X1400 I had to insert the EDID data as shown in the following screenshot, but I do not know what is the correct property name or its hierarchical location for other cases (e.g Nidia cards).

 

post-64239-1168601671_thumb.jpg

 

Best regards

Edited by Nebzar
Link to comment
Share on other sites

interesting ioreg's

 

but mean need more work and i still can't found someone with osx compat laptop around

 

seems i will end up buying laptop ( i hate laptops )

 

anyway from all info and ioregs i can see clearly

 

or backlight ( this one located in IOGraphicsFamily ) display do not attach or before "setDisplay" function did not add display params

 

for laptops never mind what laptop there is few fundamental property's

 

like "build-in" - telling driver is on board video card, few exposed registers of video drivers ( looks like booleans to me )

 

and most import EDID - nvidiaefi can read edid from video card directly but i will look now for way to do same for ATI

 

witch will result new "aka" "titan" kext for both NV/ATI, this all thing must be automatic - no user action like drop it in extensions and that's it

 

anyway i have whole weekend to play with it

 

i will try to hang on #macvidia channel most time of weekend , if some one of us with laptop and osx have nothing special to do

 

can come there witch will help with direct testing

 

thanks

Link to comment
Share on other sites

In the case of Natit, for my ATI X1400 I had to insert the EDID data as shown in the following screenshot, but I do not know what is the correct property name or its hierarchical location for other cases (e.g Nidia cards).

 

great guide

 

for NVIDIA natit property for EDID (internal display ) will be "@0,EDID" <....>

Link to comment
Share on other sites

hi np_

 

please find the attachment for the ioreg for GMA900

 

i face some weird problem, i can only boot into desktop if i remove the kextcache before i reboot.

 

any idea why will this happened?

 

thanks

kin wah

 

any idea for this problem?

need to remove kext cache everytime before reboot/shutdown otherwise it won't boot into dekstop.

Link to comment
Share on other sites

Hi np_,

 

Here is my result.

I put my EDID into the file made by displayutility.app and tested with the new laptopdisplay.kext and nvidiaefi.

 

i see there is no panel size/refresh/depth in to display device

 

can you test this one NVidiaEFI and post again ioreg log with it

 

thanks

 

also when get black screen you need to wait it' can take even more that 30 sec till show desktop(login window )

 

is all because of "fboffset" value

Link to comment
Share on other sites

So in conjunction with Apple's drivers, we would need to load:

 

Option 1 (nVidia users):

LaptopDisplay.kext

NVidiaEFI.kext

Titan.kext

Option 2 (anyone else):

LaptopDisplay.kext

Titan.kext

 

?

 

do not use titan + nvidiaefi

 

nvidiaefi does same like titan or natit

 

is LaptopDisplay.kext with titan or natit or nvidiaefi !

 

here same NVidiaEFI but with fboffset set to zero

 

its boots much more fast

 

 

Link to comment
Share on other sites

i see there is no panel size/refresh/depth in to display device

 

can you test this one NVidiaEFI and post again ioreg log with it

 

thanks

 

also when get black screen you need to wait it' can take even more that 30 sec till show desktop(login window )

 

is all because of "fboffset" value

 

 

I tested my laptop with the new NVidiaEFI and waited more than 30 secs, but still got the same black screen.

 

Here is a new ioreg.

 

Thanks.

ioreg_LaptopDisplayWithNVidiaEFIv3.txt

Link to comment
Share on other sites

I tested my laptop with the new NVidiaEFI and waited more than 30 secs, but still got the same black screen.

 

Here is a new ioreg.

 

Thanks.

 

i can seen clearly there is no display attached

 

that probably because need display handler witch i will add to laptopdisplay.kext and post tomorrow

 

now need to get some sleep - urgent ....

Link to comment
Share on other sites

Im very sorry, but can someone tell me how to use alllaptop package? I have GMA900 and Mac OS X 10.4.8. I install alllaptop.kext and find EDID, but... what i need to do? ;) I copy EDID in window of program from package (sorry, dont remember the name) and do "parse" with "create" (or something like that). His create a directory with file... and so? I don't understand. After reboot, nothing changed in my system. What i do wrong, or what i need?

 

P.S. Sorry for my ugly english.

Link to comment
Share on other sites

Thank you _np for you work,

 

I have a Radeon 9000 Mobility in my Thinkpad T40. I've been at a loss and finally this thread is starting to shed light on the issue.

 

I can't see an entry for EDID so I loaded Phoenix EDID Designer 1.3 In windows and got this:

 

Its called a IBM254D
Registry Key : DISPLAY\IBM254D\5&279fdc78&0&00000110&01&00
Monitor Name : 1400x1050
Manufacture Week : 0 / 2004
ManufacturerID : 19748 (0x4D24)
ProductID : 9549 (0x254D)
Serial Number (Numeric) : 0 (0x00000000)
EDID BYTES:
0x   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   ------------------------------------------------
00 | 00 FF FF FF FF FF FF 00 24 4D 4D 25 00 00 00 00
10 | 00 0E 01 03 80 1D 15 78 EE EE 91 A3 54 4C 99 26
20 | 0F 50 54 21 08 00 81 80 90 40 01 01 01 01 01 01
30 | 01 01 01 01 01 01 30 2A 78 20 51 1A 10 40 30 70
40 | 13 00 1E D6 10 00 00 18 00 00 00 FC 00 54 68 69
50 | 6E 6B 50 61 64 20 4C 43 44 20 00 00 00 FC 00 31
60 | 34 30 30 78 31 30 35 30 0A 20 20 20 00 00 00 00
70 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8

Another thing that confuses me is that the display is listed under "VID@0" in ioreg (this doesn't seem normal).

 

One thing worth mentioning is after poking around the ioreg output I noticed that my EDID is actually in there. But it is embedded in a lot of other data in the "ACPI Tables" key under the AppleACPIPlatformExpert node. In fact I detected two copies of it with this between them: 0845444c321145100b0001.

 

I'll download your latest zip file and give you feedback.

PS: Should I disable AGPGart.kext?

Some more information from a rather confused post of mine: http://forum.insanelymac.com/index.php?sho...c=38408&hl=

 

Thank you!!!

Link to comment
Share on other sites

I'm running patched Jas10.4.8/AMD/SSE3/SSE2 on an Inspiron 8600 with gf 5200 video adapter.

 

I can get QE/CI with Titan, Natit, or NVidiaEFI.kext, but the benchmarks are poor, so I've been experimenting with every

version of JoBlo's AGPgart.kext that I can find. So far I have no luck with this. I have to boot without the AGPgart.kext. The AGPgart.kext either causes a black screen boot, or it makes the card go to the desktop with no QE/CI. The closest I've gotten to making it work is with Titan and AGPgart v. 2.2, which produces a white screen boot instead of a black one.;

 

Is there anything that can be done about this? I tried the second NVidiaEFI.Kext with LaptopDisplay.kext loaded and a variety of AGPgarts:

the one on the Jas DVD, v. 2.0, v.2.1u, v. 2.1z, v. 2.2, v.2.2 (Dec. 16) and v. 2.2 (Dec 19). It works fine, with the same benchmarks as Titan or Natit (XBench Graphics about 20) as long as I don't load the AGPgart.

 

Do you need my IOREG file to work on this, or is it unneeded, because the Geforce 5200 is a known video card?

 

(By the way, the XBench score is at least twice as fast under 10.4.6 with the MacVidia 1.08 driver -- but no QE/CI, of course.)

Link to comment
Share on other sites

The closest I've gotten to making it work is with Titan and AGPgart v. 2.2, which produces a white screen boot instead of a black one.;

 

did you ever try with boot options "Graphics Mode"="yourlaptopmaxres@60" ?

Link to comment
Share on other sites

Im very sorry, but can someone tell me how to use alllaptop package?

 

The instructions are in this very thread.

 

- AllLaptop.zip in post 109 contains both LaptopDisplay and DisplayUtility;

- Put LaptopDisplay.kext into Extensions folder and repair permissions;

- Look at post number 66 for instructions on usage of Display Utility.

 

 

Regards

Link to comment
Share on other sites

last night i do test new things about laptops and thanks a lot to Fernando Birra who help about test ..etc

 

and most bigger issue is IODisplay class never start or attach when Internal LCD is used

 

other laptop issue is "fboffset" property - if missing NVDA class ( framebuffer for nv apple drivers ) do more probe on any display that need

 

if set to "0" is totally ignored i think fboffset is key for success not only for laptopdisplays but also for any NVcard with VRAM > 256 MB

 

the problem is i can't catch "yet" formula used by apple to calculate it, from my experiment's i think this property value must be

 

like size of total VRAM in MB /2 - but in this way even won't work

 

there is also other property's for internal display who are unknown yet

and need more work and more experiment's till i get it right

Link to comment
Share on other sites

the problem is i can't catch "yet" formula used by apple to calculate it, from my experiment's i think this property value must be

 

like size of total VRAM in MB /2 - but in this way even won't work

 

This doesn't sound all that great. Hrm. I'm guessing that fboffset can be from anything from 0 to 2^16 or 2^32, something like that. Probably increases like 0, 1, 2, 4, 8, 16, 32,64, 128, etc. powers of 2 maybe (i dont know, im just speculating; terms of a framebuffer offset. I guess its where the data lies in ram. Could these values be retrieved from a windows system? If nVidia wrote the drivers for Apple's cards, then maybe they use the same values and such. This could be analyzed by disassembling with IDA maybe. I'm no coder, but I understand a little bit of whats going on :unsure:

 

Or just write a script to change fboffset after every reboot and wait till it works :)

Link to comment
Share on other sites

did you ever try with boot options "Graphics Mode"="yourlaptopmaxres@60" ?

 

 

Just tried that and it doesn't make any difference. The latest versions of AGPGart are setting a default aperture size of 8MB, which doesn't correspond to the gf5200's capabilities. (The machine BIOS has no setting to change the Aperture size). The earlier versions of AGPgart load OK, but they make the system come up without QE/CI. So I'm at a stalemate. If there's any way to cooperate with the earlier versions of AGPGart (2.1 and below) and get the QE/CI enabled, I'd be really happy.

 

The next thing I'll probably try is testing a few extra versions of Natit that I haven't used yet (the dual-display versions written for the 7600). I don't know if that will do any good, but if I can't get the speed up on the card, I'm better off running 10.4.6 with the MacVidia driver.

 

Is anyone reading this successfully running an NVidia card with AGPgart? If so, I'd be interested in knowing the versions of Titan/Natit/NVidiaEFI and AGPgart that cooperate with each other.

Link to comment
Share on other sites

Just tried that and it doesn't make any difference. The latest versions of AGPGart are setting a default aperture size of 8MB, which doesn't correspond to the gf5200's capabilities. (The machine BIOS has no setting to change the Aperture size). The earlier versions of AGPgart load OK, but they make the system come up without QE/CI. So I'm at a stalemate. If there's any way to cooperate with the earlier versions of AGPGart (2.1 and below) and get the QE/CI enabled, I'd be really happy.

[/quote

 

Sorry. I got confused about the Aperture Size. That's not it. I think the problem with the newer versions of AGPgart is that they recognize the Gf5200 card as 8x, when it isn't that fast. The older versions recognize it as AGP3 mode 4

Link to comment
Share on other sites

I have a 5200 also, and AGPGart 2.2 is also saying 8x, but it still seems still to work for a performance increase. I get results in Xbench for the video tests that are about 20% higher with the AGPGart in place than I do with it removed. I can not find any combo that gets me QE/CI yet, though.

Link to comment
Share on other sites

This doesn't sound all that great. Hrm. I'm guessing that fboffset can be from anything from 0 to 2^16 or 2^32, something like that. Probably increases like 0, 1, 2, 4, 8, 16, 32,64, 128, etc. powers of 2 maybe (i dont know, im just speculating; terms of a framebuffer offset. I guess its where the data lies in ram. Could these values be retrieved from a windows system? If nVidia wrote the drivers for Apple's cards, then maybe they use the same values and such. This could be analyzed by disassembling with IDA maybe. I'm no coder, but I understand a little bit of whats going on :(

 

Or just write a script to change fboffset after every reboot and wait till it works :)

 

yes but noone known if apple use total vram or "usable vram" - after removing offsets for fifo's, gart, hw cursor buffer ...etc

 

ie offset "from->to" and size :)

Link to comment
Share on other sites

ok new thing to test,

 

is just laptopdisplay and iographicsfamily kext's

 

1: backup your current iographicsfamily

2: use this attached

3: replace old laptopdisplay.kext with this one attached

 

try with or without apple drivers , with natit or titan or nvidiaefi

 

is good all test to be done without any external monitor attached, just laptop internal LCD

 

this iographicsfamily is for laptop owners ONLY !

 

np_

Link to comment
Share on other sites

Hi, np_!!

 

I tested the new kexts... heres what i got:

 

In system profiler I get this for LaptopDisplay.kext:

LaptopDisplay:

 

Version: 1.0.0d1

Last Modified: 1/14/07 8:28 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: 0x30f65000

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

 

Here's a ioreg: ioreg.rtf

I'm really eager to help out, but I will need a little more guidance. I don't know exactly what to do to test this, I've followed the steps described in this topic the best I could, but I'm not sure I got it right....

I have an x1400 on an inspiron 9400 running natit, and with the latest laptopDisplay.kext I get my display recognized as "Color LCD". I don't have resolution change nor native resolution support (though I don't know if I should at this point.)

 

Anyway, If someone can give me detailed instructions on how to test it, I'll be more than happy to help.

 

And thanks for all your hard and great work, np_!!

 

- eoy4

Link to comment
Share on other sites

 Share

×
×
  • Create New...