Jump to content

[SOLVED] Asus ROG laptops with Kepler cards not detecting DP-2 connected LCD display


gazzacbr
 Share

165 posts in this topic

Recommended Posts

With an correct upsetted EFI string, as I have written before. I have gotten an used L702x 3d by chance and my method is working on it like a charme. I have found nothing about an as internal recognized display on this device. My device is working in this way, very well.  Yes it is only Fermi, I know. I have not removed any of the OSX gfx related kexts. The L702x has the IGPU in his DSDT. The only part of the IGPU, that is showing up after boot is, the full registered AppleIntelMEIDriver without infecting anything. As I have also told before, I am not able to test my method on a device with a kepler card, because of having it on repair after bricking it.

Hi,

so you have a 3D display connected and working on your internal display port then by using a DSDT setting?

Link to comment
Share on other sites

No, only with my Efi String, It does not matter if I am booting with the Chameleon key GE Yes or No. The EFI string is in both cases recognized and successfully loaded. The laptop dislay shows in both cases up as internal. With an additonal installed IOWMIFamily.kext and to small DSDT edits the brightness is working as ACPI method and showing the sun on screen, when values are changed. I have played a bit around with injecting the gfx properties with DSDT. I have had no success with this to get the display as an internal one recognized. I think that this properties are loaded to late with the DSDT. As I have told before, I am at the moment not able to try something myself with mobile kepler, because of bricking my device.

 

In the Ioreg of an MBP 7,1 and MBP 9,1 are showing up nearly the same properties for the NVDA display "A". But they are having some small differing vaules. For me is this is a sign, that Apple has not much changed over the years in their way, they implement the Nvidia graphics in their devices.

Therefore I have set the  values, which I am using from MBP 7,1 in my EFI string, in that, I have made for NePiGun to the ones of MBP 9,1. I have tried to boot with an EFI Sgtring, set to the values of MBP 9,1 with the GT 555m, which is recognized fine with the MBP 7,1 Apple values for the GT 320m, ending with a blackscreen in both cases, with GE set to Yes or No.

 

Because of my Fermi card is working with the older  Apple values for an older Nvidia card, that Apple has used, it seems to me possible, that your card could work with some vaules for a Nvidia card a generation before your card, that Apple is using. As far, as I have could find out til now, Apple is using for all their mobile Nvidia Kepler gfx cards the same value for the NVCAP. Between 6- and 7-series cards, there seems to be no difference in this point.

 

With the DSDT, I have meant, that it seems not to matter, if there are parts of the IGPU (HD 3000/HD 4000, I can not tell at the moment for sure). They should not disturb the loading of the NVDA on gfx port 0 as display A.

The DSDT of the Asus G75 of NePiGun has not even one digit of an IGPU in it. I think, this should be the same with your Asus G750.

 

Have fun.

Link to comment
Share on other sites

"...With the DSDT, I have meant, that it seems not to matter, if there are parts of the IGPU (HD 3000/HD 4000, I can not tell at the moment for sure). They should not disturb the loading of the NVDA on gfx port 0 as display A.

The DSDT of the Asus G75 of NePiGun has not even one digit of an IGPU in it. I think, this should be the same with your Asus G750."

 

 

Hi,

yes, this is true as my IGPU is completely disconnected internally. that is a different situation.

our problem is the eDP/iDP connector, not IGPU.

 

EDIT: @Styrian: if you have the Dell XPS L702x with the 3D 120hz then it would not have an IGPU as there is no optimus???

are you driving the GTX or the HD with your EFI strings?

Link to comment
Share on other sites

I have the experience, that the the Dell 3D models (L702x and SE7720), are using the same bios as the Optimus enabled models of these lines. The bios is proofing with programed routines, on which kind of model it is running and then acts in the neccessary way. Even on Optimus enabled models of this line, there is no bios option to switch to integrated grahics only, and switch in this way the discrete Nvidia card, which is because of Optimus not working in OSX, off. I have in the DSDT rof the SE7720 emoved all routines concerning the IGPU and booted with this DSDT. After booting I have read out the DSDT again and noticed, that the removed routines of the IGPU are inserted again. That means, that the bootloader (in this case Chameeloen) is not able to block the Bios DSDT tables so restrictivly, that the removed routines are not get loaded again.

 

But it looks like, that it has no effect, if there are the IGPU routines loaded from the bios, if the models, we try to get to work, are not Optimus enabled and therefore not over the framebuffer of the IGPU connected with the laptop display, which should be in our case a displayport, in the version DP or EDP. The ports of the Nvidia Gfx seem to act in a way, that the ports are mapped in a way, that  the port of display "B", the external port is made to the first one for the gfx output, as you have noticed by yourself.

 

I have looked in many Ioregs of Apple MBP with Nvidia cards. All these models have an internal display which is driven over DP, also the same port, that is used on our models. t looks like that Apple is mapping the gfx output from display "B" to display "A" by inserting certain properties.

 

Apple is inserting the same certain proterties til included MBP 9,1 (Kepler gfx card) only with some differing values. This properties seem to be responsible, that the intermal Apple DP is dedected as the main, primary port, for the gfx output on the internal display. I try to insert a mix of this values and the laptop own ones with the created EFI string. One has to fear nothing except ending in a possible black screen after boot by using the string.

 

On the L702x, one is able to activate the output of the GT 555m on the internal display by setting GE to Yes. But the internal display shows the output of the NVDA, display "B", the external one, on the internal lcd, shown on the system profiler with an icon for the external display (Apple Cinema display). In the Ioreg it has been showing up as output on NVDA display "B", the external port.

 

After inserting the created EFI string the L702x shows the gfx output mapped to port 0 on display "A" as internal (MBP display icon in system profiler) in Ioreg as built in on NVDA display "A" like on the Apple MBP. It does in the cases of inserting this EFI string not matter, if GE is set to Yes/No. The values, which the bootloader is missing, are inserted successfully and the gfx output stays stable at port 0, shown up as internal.

 

If I had a G750, I would clone my current installation with CCC to an other partiton, install the bootloader to the clone and remove NVDAresman from the clone, and try to boot from it. If this is successfully working, I would not need any more an external display to boot the lappy and could so try to experement at home, to get it working on the main partiton. If something is going wrong, it could be easy corrected by booting with the clone.

 

Have fun.

Link to comment
Share on other sites

somehow we have to ask bootloader/kernel/mavericks to look at the IDP first or at least include it on the list of places to look.

if it wasnt for the fact that once mine see's the vga and then happily fires up my lcd, all correctly configured, i would have given up before thinking that it would never work

(at least until apple fully supports IDP)

I think NVCAP can do this work, you can get the right NVCAP string from Windows system and try it.

 

Link to comment
Share on other sites

I think NVCAP can do this work, you can get the right NVCAP string from Windows system and try it.

Hi,

@yisl04: thanks for suggestion. trying to get the string for NVCAP fell at the first.

NiBiTorE 6.06 cannot open the GPU rom. the list only goes to GTX 560M and it will not read the GPU bios directly.

i extracted the rom with GPU-X but NiBiTorE will not open that either.

i did try to run NiBiTorE in 32bit XP but as soon as i fired it up i rememebered that i have no 32bit display drivers for windows xp :(

 

"as one door closes, another one slams in your face"

Link to comment
Share on other sites

I think NVCAP can do this work, you can get the right NVCAP string from Windows system and try it.

 

The NCAP, that windows uses, is the one of the vbios rom. This NVCAP is dedected by bootloader at least by setting the key GE=Yes. You can then find it in the Ioreg. But with this NVCAP you can not get the gfx card working in a way, that is used by OSX to handle GFX output on mobile Nvidia cards.

 

Have fun.

Link to comment
Share on other sites

Hi,

 

...If I had a G750, I would clone my current installation with CCC to an other partiton, install the bootloader to the clone and remove NVDAresman from the clone, and try to boot from it. If this is successfully working, I would not need any more an external display to boot the lappy and could so try to experement at home, to get it working on the main partiton. If something is going wrong, it could be easy corrected by booting with the clone...

 

ah yes, good call :)  i forgot that i can boot by removing NVDAResman because i lost all the resolution before.

i have a "safe" version with everything graphics stripped out as that would not boot even with NVDAResman removed. but that version doesnt have the EDID stuff.

 

So, with NVDAResman removed, the EDID injected from /System/Library/Displays/Overrides and Chameleon set to display "1920x1080x32" i have just booted to my desktop from the lcd only with full resolution but without accelleration.

:thumbsup_anim:

 

BUT... i would really love to do some more tests now but i am at the office and forgot to bring the power supply so the battery just died :blush:

in the words of Homer Simpson "Doh!"

i will have to wait until i get home later

EDIT: ok, i jumped the gun a bit there. i dont have graphics accelleration but at least i can actually boot up now without -x and work normally.

this is booting from mbr using Chameleon

Edited by gazzacbr
Link to comment
Share on other sites

 

I think NVCAP can do this work, you can get the right NVCAP string from Windows system and try it.

 

The NCAP, that windows uses, is the one of the vbios rom. This NVCAP is dedected by bootloader at least by setting the key GE=Yes. You can then find it in the Ioreg. But with this NVCAP you can not get the gfx card working in a way, that is used by OSX to handle GFX output on mobile Nvidia cards.

 

Have fun.

 

The NVCAP string get from Windows maybe can't work. But I think it is worth a try to change the NVCAP string. OSX don't support boot from DP port display, but I think we can change the NVCAP string to enable boot from double output: VGA and DP ports. I saw some guy enable  GTX 285 boot from both DVI and DP port with the NVCAP string"0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00". But I don't know exactly how to change the NVCAP string for G750.

Sorry for my poor English.

 

Link to comment
Share on other sites

The NVCAP string get from Windows maybe can't work. But I think it is worth a try to change the NVCAP string. OSX don't support boot from DP port display, but I think we can change the NVCAP string to enable boot from double output: VGA and DP ports. I saw some guy enable  GTX 285 boot from both DVI and DP port with the NVCAP string"0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00". But I don't know exactly how to change the NVCAP string for G750.

Sorry for my poor English.

Please read here the other topics related with kepler mobile cards, the Asus g75, g750, Dell SE7720 3D, other not Optimus enabled laptops with Nvidia cards, and the posts in this thread. Nobody was til now able to get a mobile Kelper card, in the way, you are telling to get it working, able to get it working.

Even by searching the internet for months, I have not been able to find something authentic about a fully working device. All the posts about getting the devices with kepler cards working, seem to be big fake ones.

 

The real problem is, to map the gfx output from port 1, Nvidia Display "B", to port 0, NVDA Display "A" and get the laptop display recognized as an internal one and working like on Apple devices.

 

Please search by yourself the internet to find informations about making an gfx EFI String, about Nvidia cards getting to work in a Hackintosh, and technical informations about Apple devices. By putting together all this informations in the right way, it could be possible to get the Nvidia mobile cards in a laptop with OSX proper working.

 

If you don´t know exactly, how to change an NVCAP for the G750 or an other device, please read the Chameleon documentation, how you can insert a NVCAP with this bootloader or try to find informations about injecting an NVCAP with an EFI String or by DSDT.

 

Have fun.

Link to comment
Share on other sites

If you don´t know exactly, how to change an NVCAP for the G750 or an other device, please read the Chameleon documentation, how you can insert a NVCAP with this bootloader or try to find informations about injecting an NVCAP with an EFI String or by DSDT.

 

Have fun.

I mean I don't know the right NVCAP string for g750. I use clover instead chameleon, it's easy to inject NVCAP for clover. I have searched this forum for g55, g75 and g750 before and I found nobody try changing the NVCAP string. So I just give the suggestion. If asus g55 can be hackintoshed, I will buy one. 

 

Link to comment
Share on other sites

I mean I don't know the right NVCAP string for g750. I use clover instead chameleon, it's easy to inject NVCAP for clover. I have searched this forum for g55, g75 and g750 before and I found nobody try changing the NVCAP string. So I just give the suggestion. If asus g55 can be hackintoshed, I will buy one. 

The result of inserting the NVCAP with Clover or by Chameleon by setting the key for it, is the same. The NVCAP, extracted from the vbios of the device, or got in an other way, of a mobile kepler card of a laptop, does not work with OSX.

 

If the ASUS N55 is Optimus enabled, it should be possible to get the integrated gfx recognized and fully working. In this case the Nvidia is an absolutely nogo at this time. If the device is not Optimus enabled, there would be the same problem, that we try to solve, since month til now without any success.

 

Have fun.

Link to comment
Share on other sites

Injecting the NVCAP with chameleon is extra-easy as:

 

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>NVCAP_gfxid</key>

<string>xxxxxxxxxxxxxxxxx</string>

 

But ....What is indeed the NVCAP? Some sort of configuration about the output connectors of the graphics card??

 

Anyway

@Styrian, the NVCAP extracted from my VBIOS rom is 0400000000000100020000000000000700000000

 

What does it means?

Link to comment
Share on other sites

With an correct upsetted EFI string, as I have written before. I have gotten an used L702x 3d by chance and my method is working on it like a charme. I have found nothing about an as internal recognized display on this device. My device is working in this way, very well.  Yes it is only Fermi, I know. I have not removed any of the OSX gfx related kexts. The L702x has the IGPU in his DSDT. The only part of the IGPU, that is showing up after boot is, the full registered AppleIntelMEIDriver without infecting anything. As I have also told before, I am not able to test my method on a device with a kepler card, because of having it on repair after bricking it.

 

In any way, I am trying to get my devices in a vanilla way up by staying way from any kind of Distros, MyHack or other automated generating installer tools. I make the installer manually in a similar way like this one, which is described in the following link: http://www.insanelymac.com/forum/topic/280756-guide-the-all-in-one-guide-to-vanilla-os-x-including-chameleon-dsdt-for-beginners-updated-for-mavericks/

 

I always try to use an as near as possible my hardware matching SMBios of an real AppleDevice and place only the fakesmc and nullcpupowermanagement kexts - on laptop also ps2driver - in S/L/E of the installer. After successful hd install, I install these kexts with terminal, by booting once more from the usb installer, on the hd install and repair permissons too. For getting rid of the root device error sometimes an install of genericusbxhc.kext in S/L/E of usbinstaller and copying it also to the hd install with the other before mentioned kexts is usefull. For gfx related problemes I tempeorary remove the to the hardware of the device related kexts from the usb installer.

 

After successful login to the hdinstall I install, if the device has an as common working known ethernet nic the neccessary plugin in ionetworkingfamiliy.kext or edit an related info.plist (for example the marvell one) or inject it with a legacy.kext. Then I always try to get the gfx card as good as possible working and get an unkown display recognized by doing an forced display EDID. After that I try to generate a proper working DSDT, try to get the audio working with an patched applehda.kext, if there is one, generate an SSDT.aml, patch the Powermanagement and try to get it working by removing the nullcpupowermanagement.kext. If there are things left not got working by DSDT edit, one can try to install the proper especiai kext to get it working. In any case one can then see, if this kext is infecting other before working things.

 

Have fun.

That is exactly my method!!!!!!!!!!!

Link to comment
Share on other sites

I think I've got a clue that will lead us to know what happen with this issue. Based on a tip from @Styrian, I've extracted the original NVCAP from the VBIOS rom, and stored the string in a pendrive. Then I booted (without NVDAResman.kext, of course) with GraphicsEnabler=Yes, started IORegExplorer and noticed the NVCAP is different than the one extracted from rom. More, I booted with graphicsEnabler=NO, started IORegExplorer and noticed that NVCAP is different than the other two.
So, three different NVCAP strings in three different situations.
Then, I tought that the correct NVCAP must be the one from rom and I injected it in chameleon with the method described above in other post. Chameleon saw the string and injected it, but nothing happened. Now, that is extremely curious.
We need to patch NVDAResman.kext to match that NVCAP?? Dumb saying...

Link to comment
Share on other sites

What EFI string? I can´t find it

 

On other words, here is a list of courious things I´ve discovered trying stuff:

 

A - I reached to boot with NVDAResman.kext, but then I discovered that it was no info.plist into the kext. As you can see in attached image nor 1. Maybe OSX just bypasses the kext when there´s no info.plist file inside OR maybe we could modify the info.plist to remove strings that are bothering.

 

B - In the systemInfo.app that I downloaded somewhere, there is some information about text related with the graphics card that I never noticed before. See attached Image nor 2

 

C - I can´t find a way to inject the NVCAP without using GraphicsEnabler=Yes

post-898685-0-31584200-1387473591_thumb.png

post-898685-0-02426800-1387473801_thumb.png

Link to comment
Share on other sites

Ok. Tried. Still can't boot with nvdaresman. However, the EFI make the graphics card name and its vram shows correctly without nvdaresman

 

Maybe it´s time for praying for help to Ermac or RampageDev. Or both. What do you think?

Link to comment
Share on other sites

Is your Kepler card showing up on NVDA display-A? Is there in systemprofiler the monitor symbol for an internal laptop display?

 

I´ll try at the weekend some things on Fermi. If I get my ideas working, I´ll port them for you in an EFI-string to try.

 

If you have a working DSDT.aml and SSDT.aml you could try with Enoch bootloader 2269 in energy options to set all tables Dropxxx=yes.

 

Can you please upload an ouputfile of IORegestryExplorer, vers. 2...., after booting with my EFI-String and GE=No?

 

Have fun.

Link to comment
Share on other sites

Injecting the NVCAP with chameleon is extra-easy as:

 

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>NVCAP_gfxid</key>

<string>xxxxxxxxxxxxxxxxx</string>

 

But ....What is indeed the NVCAP? Some sort of configuration about the output connectors of the graphics card??

 

Anyway

@Styrian, the NVCAP extracted from my VBIOS rom is 0400000000000100020000000000000700000000

 

What does it means?

The NVCAP string can separated 20 hexadecimal parts, like 0x04, 0x00,...... The first part 0x04 is 0100 in binary format, means single video card slot. The 7th part 0x01 is the primary card ports and the 9th part 0x02 is the secondary card ports. The 7th part 0x01 is 0001 and the the 9th part is 0010, each bit means one port, 0 is off, 1 is on. According the information offered before, the 1st bit mans TV port, the 2nd bit means HDMI port, the 3rd bit means VGA port, the 4th bit means DP port. So the primary ports 7th part 0x01 means the DP port is on, the secondary ports 9th part 0x02 means the VGA port is on.

 

According the @Styrian's opinion, the NVCAP of mobile kepler card can do nothing on OSX, so NVCAP is useless for solving the problem.

 

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...