Jump to content

LaptopDisplay


np_
 Share

429 posts in this topic

Recommended Posts

The question was if the ID is correct or not on the folder name - the DisplayVendorID.

 

The digits are transposed on my output as well. Maybe they are supposed to be. But then it is curious why they are not transposed on the DisplayProductID. We are just lasking np_ to confirm that this is all correct.

 

And I am telling you to look at one of the files from an Apple display and see for yourself. How? well, the file I mentioned has the EDID inside and you can see that the EDID has the bytes in the order: 06 10!!! and not swapped like the product id. You need to open the file with the Property Editor application to see the encoded EDID data.

 

:tomato:

Link to comment
Share on other sites

Hi np_ thanks for your coding/work for comunity !!!!

 

I use a dumpedid but can't generate a EDID, i don't know (?)

 

I user this tool:

 

softMCCS

 

and generate this log:

 

dump.txt

 

 

I find my first line of EDID for insert in your tool...

00FFFFFF FFFFFF00 367F4000 00000000

 

it's right? ( i remove space when insert in tool)

 

Thanks

Link to comment
Share on other sites

00FFFFFF FFFFFF00 367F4000 00000000

 

it's right? ( i remove space when insert in tool)

 

yes is right and you don't need to remove spaces, displayutility will remove for you after u press button "parse" :D

 

copy paste frist block how is

 

np_

Link to comment
Share on other sites

Hi np_,

 

Maybe there is somthing wrong in the DisplayUtility.

 

sorry , if I'am wrong.

This is just to clearify everything is ok.

 

Regards

 

verleihnix

 

 

apple do use funky ways to convert hex to int, hex to data and all this deal is result of it

 

in same way then IOKitUser process DisplayVendor/Product's ID

 

that for don't worry is ok

 

:D

Link to comment
Share on other sites

Dell Inspiron E1405 14.1/1440x900

 

Monitor

Windows description......... Generic PnP Monitor

Manufacturer................ Seiko-Epson

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

Plug and Play ID............ SEC4457

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

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

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

Manufacture date............ 2006

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

Display type and signal..... Digital

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

Screen size................. 300 x 190 mm (~15")

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

 

Color characteristics

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

Red chromaticity............ Rx 0.580 - Ry 0.340

Green chromaticity.......... Gx 0.310 - Gy 0.550

Blue chromaticity........... Bx 0.155 - By 0.155

White point (default)....... Wx 0.313 - 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" 95.440 1440 1504 1536 1744 900 903 906 912 -hsync -vsync

 

Standard timings supported

n/a

 

Raw EDID base

00: 00 FF FF FF FF FF FF 00 4C A3 57 44 00 00 00 00

10: 00 10 01 03 80 1E 13 78 0A 87 F5 94 57 4F 8C 27

20: 27 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01

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

40: 33 00 2F BE 10 00 00 19 00 00 00 0F 00 00 00 00

50: 00 00 00 00 00 78 E6 02 23 00 00 00 00 FE 00 43

60: 47 30 30 32 01 31 34 31 57 44 0A 20 00 00 00 FE

70: 00 17 36 42 4A 6E 8E B4 FF 02 01 0A 20 20 00 1F

 

Display adapter

Adapter description......... Mobile Intel® 945GM Express Chipset Controller 0 (Microsoft Corporation - WDDM)

Adapter device ID........... 0x27A28086

Display settings............ 1440x900, 32bpp

 

User/computer information

Registered user name........ joe75

Registered organization..... n/a

Network user name........... joe75

Network computer name....... JOE75-PC

Windows version ............ Windows 2000

Windows build .............. 6.00.6000

Installation date .......... 12/20/2006 12:00:00 PM

Link to comment
Share on other sites

Dear np_,

I think this information may be useful for you.

 

On my system (Thinkpad T60, ati x1400 and 15" flexview display) your utility, on the base of the EDID data, detects:

 

DisplayvendorID: 30ae

DisplayProductID: 4043

 

and creates, accordingly, the file:

 

/System/Library/Displays/Overrides/DisplayVendorID-30ae/DisplayProductID-4043

 

 

Alas, that file gets not loaded at startup ;)

 

After a few explorations, i have found these lines in /var/logs/windowserver.log, lines which get written at every boot:

 

Jan 07 09:42:41 [84] loginwindow connection closed; closing server.

Jan 07 09:43:40 [84] Server is starting up

Jan 07 09:43:41 [84] CGXPerformInitialDisplayConfiguration

Jan 07 09:43:41 [84] Display 0x5b81c5c0: MappedDisplay Unit 0; Vendor 0x756e6b6e Model 0x717 S/N 0; online enabled (0,0)[1400 x 1050], base addr 0x3008000

Jan 07 09:43:42 [84] Accel caps: 00000003

 

Incidentally, Vendor ID 0x756e6b6e and Model ID 0x717 are the same exact values that are produced by the DisplayConfigX utility.

 

Then, I manually changed the names of the folder and file created by your utility, and changed accordingly the numerical values inside the file, to match the IDs found in the windowserver.log, resulting in a new file:

 

/System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717

 

containing (except for the IDs of vendor and product) the same values of the file created by your utility.

 

To know for sure if the new configuration file was loaded at startup, I changed the value of "DisplayProductName" from "Color LCD" to "FlexView display with wide viewing angle and high density".

 

Guess what? With the new names and values the file was loaded, in fact i got this in System profiler:

 

post-64239-1168454234_thumb.jpg

 

However, still no resolution change and still mouse tearings... CI/QE were already available (due to insertion of Card ID 7145 in ATIRadeonX1000.kext/Contents/Info.plist), and the name of the Card is shown in SystemProfiler thanks to Natit).

 

So, basically, although the display configuration file gets loaded, nothing changes; nevertheless, it's interesting to know how to get it loaded.

 

Best regards

Edited by Nebzar
Link to comment
Share on other sites

Dear np_,

I think this information may be useful for you.

 

On my system (Thinkpad T60, ati x1400 and 15" flexview display) your utility, on the base of the EDID data, detects:

 

DisplayvendorID: 30ae

DisplayProductID: 4043

 

and creates, accordingly, the file:

 

/System/Library/Displays/Overrides/DisplayVendorID-30ae/DisplayProductID-4043

Alas, that file gets not loaded at startup :)

Jan 07 09:43:41 [84] Display 0x5b81c5c0: MappedDisplay Unit 0; Vendor 0x756e6b6e Model 0x717 S/N 0; online enabled (0,0)[1400 x 1050], base addr 0x3008000

Jan 07 09:43:42 [84] Accel caps: 00000003

 

this file produced by DisplayUtility loads from IOKitUser not any graphic driver or so

 

model 0x717 = generic display ie whatever display

 

this all is very normal

 

and also will need new version of LaptopDisplay.kext witch i will finish in moment my boss let me few hrs in peace :)

 

 

hmm after thinking

 

you get model 0x717 because there is no real EDID info, the DisplayConfigX did not really read real EDID from display device but read EDID already published as key on IODisplay class

 

mean DisplayConfigX can't be used to detect proper EDID

 

if you get display EDID with some tool ( under windows )

 

you can add line in "natit" like "EDID,LVDS" = <your full EDID as data> and test again

 

this key ("EDID,LVDS") apply only for "ATI" internal display's

Link to comment
Share on other sites

ok here is new laptopdisplay.kext for test

 

 

 

for to test unzip and copy it to /System/Library/Extensions

 

repair permissions

 

remove Extensions.kextcache and Extensions.mkext from /System/Library

 

just for test is good to move away from extensions ANY apple graphics driver

 

let only IONDRVSupport and IOGraphicsFamily

 

reboot

 

if all go ok

 

you should see in graphics device->displayconnect->AppleBacklightDisplay class

 

 

example

/////////////////////////////////////////////////////////

-o display0 <class IODisplayConnect, registered, matched, active, busy 0, retain count 5>

| | | | | | {

| | | | | | }

| | | | | |

| | | | | +-o AppleBacklightDisplay <class AppleBacklightDisplay, registered, matched, active, busy 0, retain count 7>

| | | | | {

 

 

if looks like this mean all is OK

////////////////////////////////////////////////////////

next step back graphics driver into extensions

 

reboot and pray

 

 

tip&tricks

 

when you use DisplayUtility to produce your vendor display info

 

and there is problems like do not found resolutions ( all of this have nothing to do with mouse tear on ATI ! ) or video card driver ( apple ) refuse to dedect proper EDID

 

you can open "DisplayProduct-(your dsp product )" and add key called "IODisplayEDID"

 

and value for it is "data" looks like "<00ffffff ffffff00 38a37ba4 00000000 1c0a0103 805c3478 2800e5a0 5a27ba25 17424eaf ce008180 4bc00101 01010101 01010101 01012f0d 50f030e0 25101070 68009806 3200001e d60980a0 20e02d10 0f606200 b3062200 00180000 00fc0050 582d3432 564d0a20 20202020 000000fc 000a2020 20202020 20202020 20200070>

 

before to copy into /System/Library/Displays/Overrides

 

please test and report

 

also if possible include ioregs from PCIDevice = your video card

 

to next device in ioreg tree

 

thanks

 

np_

Link to comment
Share on other sites

if you get display EDID with some tool ( under windows )

 

you can add line in "natit" like "EDID,LVDS" = <your full EDID as data> and test again

 

this key ("EDID,LVDS") apply only for "ATI" internal display's

 

Yes, I have already extracted EDID data; I will try to put them in Natit tomorrow.

 

But, I may need some more info: where exactly in Natit? I imagine in Natit.kext/Contents/Info.plist, but this file is highly structured. Which is the part in which the key must be inserted?

 

I think in a block similar to this (and in an identical one for x1400), which I created under Vendors -> 0x1002 -> entriesToAdd for the x1400 after reading somwhere that x1400 <-> Caretta, am I right?

 

This one is not exactly mine, it's just an example (I dont have here the Thinkpad).

 

	
<key>default</key>
 <dict>

              [color="#FF0000"] <- here new pair "EDID,LVDS" = <full EDID as data> ?[/color]

   <key>@0,compatible</key>
   <string>ATY,Caretta</string>
   <key>@0,device_type</key>
   <string>display</string>
   <key>@0,display-connect-flags</key>
   <integer>400</integer>
   <key>@0,name</key>
   <string>ATY,Caretta</string>
   <key>@1,compatible</key>
   <string>ATY,Caretta</string>
   <key>@1,device_type</key>
   <string>display</string>
   <key>@1,display-connect-flags</key>
   <integer>400</integer>
   <key>@1,name</key>
   <string>ATY,Caretta</string>
   <key>ATY,FrameBufferOffset</key>
   <integer>2147483648</integer>
   <key>ATY,IOSpaceOffset</key>
   <integer>4096</integer>
   <key>ATY,RegisterSpaceOffset</key>
   <integer>2427584512</integer>
   <key>device_type</key>
   <string>ATY,CarettaParent</string>
 </dict>

 

Tomorrow I will try and I will report back.

 

Best regards and thanks

 

EDIT: I have seen your new version of LaptopDisplay, great! Thanks for your work np_, tomorrow I will test that too :gun:

Edited by Nebzar
Link to comment
Share on other sites

okay, heres how it went down for me.

 

I ran the display utility, pasted the first line properly did the process. Pasted the folder where you designated.

 

Then I put in the new laptopdisplay.kext in as well.

 

rebooted, and everything loaded fine. Found my display when i booted with -v.

 

when i put it natit, i got a black screen with everything running in the background.

 

 

 

but im wondering if we're going about this correctly. MacVidia manages to work just fine, but lacks QE/IC.

 

Is there anyways to utilize and isolate what makes MacVidia work and put it into this project?

 

thanks for all your work btw np_

Link to comment
Share on other sites

okay, heres how it went down for me.

 

I ran the display utility, pasted the first line properly did the process. Pasted the folder where you designated.

 

Then I put in the new laptopdisplay.kext in as well.

 

rebooted, and everything loaded fine. Found my display when i booted with -v.

 

when i put it natit, i got a black screen with everything running in the background.

but im wondering if we're going about this correctly. MacVidia manages to work just fine, but lacks QE/IC.

 

probably missing key in natit, try with "NvidiaEFI"

Is there anyways to utilize and isolate what makes MacVidia work and put it into this project?

 

 

nope :unsure:

 

and plase do this remove natit, restart and do ioreg log , post here

 

thanks

Link to comment
Share on other sites

It boots all the way through for me, but still no QI/CE

 

Here is a pic of the screen during booting with -s -v, but it boots fine into regular graphic mode as well:

 

post-9534-1168474385_thumb.jpg

 

Here is a screen cap of System Profiler after it is booted up:

 

post-9534-1168474433_thumb.jpg

 

Is the line "NVDA::start(VID) <1> failed" in the boot screen trying to tell me something important?

 

This is using Titan, AGPGart and having made the display folder/file with the np_ EDID utility, etc.

 

System specs are in sig below.

Link to comment
Share on other sites

Hi,

also to me it freeze the computer whith nvidiaEFI.kext. White screen after the gray loading screen and nothing other!

 

With Natit instead white screen for 10 second and then the desktop appears.

 

I have a Hp notebook with GO 7600 and LaptopDisplay.kext installed!

 

 

In all the cases thanks for your job np_! :(

Link to comment
Share on other sites

Hi,

also to me it freeze the computer whith nvidiaEFI.kext. White screen after the gray loading screen and nothing other!

 

With Natit instead white screen for 10 second and then the desktop appears.

 

I have a Hp notebook with GO 7600 and LaptopDisplay.kext installed!

In all the cases thanks for your job np_! :(

 

we have the same card. hopefully there a way

Link to comment
Share on other sites

Hi np_!

 

Here are my results:

 

1. LaptopDisplay + IONDRV + IOGraphicsFamily:

 

System boots, LaptopPanelA is registered but no AppleBacklightDisplay

ioreg: Birra_laptop_only.txt

 

2. LaptopDisplay + IONDRV + IOGraphicsFamily + Natit (test1)

This adds simple Natit with no special keys for laptops

 

System boots, LaptopPanelA is registered but no AppleBacklightDisplay

ioreg: Birra_laptop_natit.txt

 

3. LaptopDisplay + IONDRV + IOGraphicsFamily + Natit (test2)

This adds some special keys intended for laptops (backlight, built-in, etc)

 

Same result as all others above

 

ioreg: Birra_laptop_natit2.txt

 

 

All this tests were done without NVidia drivers (also without ATI and Intel drivers). In all tests I only got 1024x768 resolution.

 

The moment I add the NVidia drivers I have a black screen on laptop but full resolution on external display as it has always been (CI and QE ok).

 

Now, one thing I noticed is that after adding the Vendor Folder and Display File the behaviour of the LCD is slightly different before going black. I can see it blinking the backlight twice instead of going to black at once, even with the older LaptopDisplay extension.

 

Hope this helps in any way np_...

Link to comment
Share on other sites

I've been trying different combinations.

 

These have been the base set of kexts I used:

 

AGPGart.kext

GeForce.kext

IONDRVSupport.kext

LaptopDisplay.kext

NVDANV30Hal.kext

NVDAResman.kext

NVidiaEFI.kext

 

The above set boots to a working graphic screen with either Titan.kext or the Natit.kext dual_01 version. No CE/QI though.

The above set with any other Natit.kext boots to a black (blank) graphics screen. There are flickers or missized blue areas before it finishes booting, and no cursor either.

The above set will not get past the loginwindow step without a Titan.kext or Natit.kext present.

 

With any Natit.kext or Titan.kext, I get the line while booting about "start<vid> failed".

Without any Natit.kext or Titan.kext, it seems that "start<vid>" does not fail, but again, it also will not boot past loading loginwindow. It just hangs there at that point.

Link to comment
Share on other sites

ok seems i do miss some import key need for natit or nvidiaefi

 

but some one to test this please

 

when you create displayinfo by "DisplayUtility"

 

open file in /DisplayVendor-XXXX/DisplayProduct-XXX

 

and change property IOGFlags from 262148 to 4 ( value type number )

 

and test again

 

damn i will need whatever laptop on the end here to stop lose my time and get this working

 

ps: also one more modify in IOGraphicsFamily for test, in property's for Backlight Display , probescore = 30000 - set that to 0

 

and provide ioregs !

 

thanks

Link to comment
Share on other sites

It boots all the way through for me, but still no QI/CE

 

Here is a pic of the screen during booting with -s -v, but it boots fine into regular graphic mode as well:

 

post-9534-1168474385_thumb.jpg

 

Here is a screen cap of System Profiler after it is booted up:

 

post-9534-1168474433_thumb.jpg

 

Is the line "NVDA::start(VID) <1> failed" in the boot screen trying to tell me something important?

 

This is using Titan, AGPGart and having made the display folder/file with the np_ EDID utility, etc.

 

System specs are in sig below.

 

 

can you provide ioreg log please?

 

thanks

Link to comment
Share on other sites

 Share

×
×
  • Create New...