Jump to content

Anyone mobile Kepler 6xxM working?


gothic860
 Share

232 posts in this topic

Recommended Posts

Hay, What do you think about looking at how the displays are configured? I ask because I've been trying to get a K3000m in a Dell M6700 working. I've experienced much the same as you. However I've found that the internal LCD works, and with CE/CI, but the backlight is off. I can connect using desktop sharing and see in ioreg that the card is initialized and working. I can also change resolutions. So it's getting the internal LCD's EDID okay.

 

However when I connect an external display on any port it hangs the graphics system(I can still SSH in).

I also read that Kepler cards for the first time support 4 displays simultaneously. This implies some changes in the way the displays are connected and defined. Could it be that different things need to be injected for this new setup? One anomaly I noticed on the M6700, all the 4 displays have a 'port-number' property set to 9. Looking at the ioreg from an nvidia retina mac. It's port-numbers are 0, 1, 2, 3. If this is the 'port' in the same meaning as with Intel HD graphics. There is no way they should be the same.

 

 

I've been digging around in the NVidia bios DCB tables. Seems quite clear that the contents are different between kepler mobile cards and others. Including, surprisingly the dump I have from a K4000 destop card. Could this be why Kepler desktop cards work but mobile cards don't? All the tables I have looked at are version 0x40.

 

As an example here is the DCB table from a Dell M6700 K3000m. Looks like some kind of multi line entries.. It very similar in the GTX680M bios I have too.

130F 0001 3400 0100
1F1F 0001 1000 0200
1F2F 0001 3000 0200
D65F 0108 2000 420F
925F 0108 2000 0200
C64F 0108 1000 420F
824F 0108 1000 0200
8F3F 0108 3000 0200
B68F 0304 1000 420F
7F8F 0304 1000 0200
A67F 0202 1000 420F
627F 0202 1000 0200
6F6F 0202 1000 0200
009F 0402 0000 0000
0F9F 0401 0000 0000
0F00 0000 0000 0000
And the code from a K4000(also similar to a FX3700m)

000F 0002 0000 0000
020F 0001 3000 0200
A61F 8102 1000 420F
621F 0102 1000 0200
B62F 8204 1000 420F
722F 0204 1000 0200
8F30 0300 3000 0200
0F00 0000 0000 0000
0F00 0000 0000 0000
0F00 .....
And the code from an iMac's 675mx

B601 8104 1000 220F
D612 8201 2000 220F
1212 0201 2000 0200
C624 8308 1000 220F
0224 0308 1000 0200
0E00 0000 0000 0000
0F00 0000 0000 0000
0F00...
I get the impression that the NVDAResman.kext is responsible for parsing the DCB table and getting the connectors set up right. I'm hoping to modify the DCB table in the K3000m dump and use Chameleon's video bios loader to load it at boot time. Thing is, what should go in the table? The code from Linux's Nouveau driver helps but it's not enough... See

http://lxr.free-elec...bdev/bios/dcb.h

http://lxr.free-elec...bdev/bios/dcb.c

 

 

Update..

Unfortunately using the UseNvidiaRom option with Chameleon(build 2238) makes the machine reboot or corrupts the display before even starting the kernel. So I can't try modding the DCB table.. :(

 

 

Well, after some testing with kepler card, I think Timp was right after. The problem in some Mobile Kepler cards is the heads (port) declaration on the Vbios. It could be a problem with a fixed port declaration (which the driver doesn´t like it ) or no declaration at all. I think is the first one.

 

The kepler cards as Timp says has up to 4 Screen support, so the ports needs to be declared in some way on the Vbios, if they are automatically declared at boot the driver takes one head to attach the outputs (NVDA,Display-A, NVDA,Display-B etc), if you look inside this in your IOReg you will find that all the 2, 3 or 4 ports are the same. On James Alienware laptop 2 ports declared as "port09" and is Working. On rr7 (Lenovo all in one B540) 2 ports both declared as "port00", Working. On my G750 (no 3D screen) 4 ports all declared as "port02" Working. On G750 with 3D screen 4 ports all detected as port 02. Working with external screen (already solved with an EFI string)

 

The new Nvidia Web drivers for Mavericks 10.9.2 have a new detection port system, and the drivers enumerate the card heads on one port, so now head and port match, with this driver installed I have port 00, port 01, port02, and port 03, rr7 user also has port00 and port 01 using Nvidia Web drivers.

 

One time your ports are declared and found it by the driver it will work, maybe you could still have some issues , like one port working and some others don´t but this could be fixed with and EFI string like we did for the G750 with 120Hz screen.

 

So what I suggest? First we need to find some Kepler Vbios Guru so the Port table can be decoded and modified, then inject it with Chameleon or Clover and if it does´t work mod Nvidia drivers, or take the risk and flash Vbios.

 

Before any step forward...Please try the new Nvidia Web Drivers maybe the new detection system can find your ports.

 

Good Luck

Link to comment
Share on other sites

i have tested the new web driver and updated it with out any result it is always the same and i don't have monitor to connect to hdmi so if there is any propositions?????


i have also tested te efi string in http://www.insanelymac.com/forum/topic/293967-solved-asus-rog-laptops-with-kepler-cards-not-detecting-dp-2-connected-lcd-display/page-8

but i have nvidia 770 in dpcimanager

 

Link to comment
Share on other sites

i have tested the new web driver and updated it with out any result it is always the same and i don't have monitor to connect to hdmi so if there is any propositions?????

i have also tested te efi string in http://www.insanelymac.com/forum/topic/293967-solved-asus-rog-laptops-with-kepler-cards-not-detecting-dp-2-connected-lcd-display/page-8

but i have nvidia 770 in dpcimanager

Now you have installed Nvidia Web driver we need an IOReg save file, using this Nvidia driver, please log into your machine using some remote access and save an IOReg copy, this is to know if the drivers have found your card ports, and we can inject the correct info to them.

 

If the Nvidia driver can´t find them, then we need to look into the Vbios direction and decoded the Port table so we can understand the differences between the working and the not working Kepler cards.

 

Good Luck

Link to comment
Share on other sites

Hi, 

Well i have an Asus G55vw 120hz 3D display and gtx660m, and like others users i can´t boot to desktop with the drivers installed.

With the mavericks updated to 10.9.2 and the new nvidia web drivers the result was he same :(

I logged to my system by vnc to save an ioregfile with the drivers instaled, looking at the ioreg i can see that the 4 ports are detected and no display attached to a port.

If anyone can extract more info from my ioreg (aeros :)) and help me / help us to make to work that display.....

 

g55v120hzdisplay.zip

 

Link to comment
Share on other sites

Hi, 

Well i have an Asus G55vw 120hz 3D display and gtx660m, and like others users i can´t boot to desktop with the drivers installed.

With the mavericks updated to 10.9.2 and the new nvidia web drivers the result was he same :(

I logged to my system by vnc to save an ioregfile with the drivers instaled, looking at the ioreg i can see that the 4 ports are detected and no display attached to a port.

If anyone can extract more info from my ioreg (aeros :)) and help me / help us to make to work that display.....

 

attachicon.gifg55v120hzdisplay.zip

 

 

Please sons use IORegistry explorer v3 cause corrupt the save file, make another save with IORegistry V2

 

Good Luck

 

hi areos how to do that i dont have other screen?

but with the usb installer i can go to desktp but with out drivers

sorry know it is difficult for u to resolve this ?

are u here areos?

 

Check how oscarini got the save using VNC

 

Good Luck to all

Link to comment
Share on other sites

Ok,

 

Here are the steps to log by VNC with a android smartphone:

1. Go to the control panel on your mac and press on Share

2. Share your display and on settings of computer select de two options (sorry im translating  from spanish to my bad english)

    you have to see something like vnc://192.168.1.xx/ this is your ip adress on your mac.

3. Download a vncviewer to your smartphone, i used VNC Viewer from PlayStore and its free.

4. Open VNC Viewer and press + to make a new connection, and you have to put your mac address here. The name field is optional and save the connection.

5 And now press on the created connection, and you have to see a mac log screen on your mobile. (mobile, tablet....)

 

pd: of course the smartphone must be connected to the same network.

I make this on my smartphone, but its posible with an another device such a other computer or a tablet, an ipad ..... the trick its a vnc viewer, the devices on the same network and share your display on mac.

 

pd2: sorry for my english.

 

Here is my ioreg with v2 version:

 

AsusG55vw3d120hzv2.zip

Link to comment
Share on other sites

Ok,

 

Here are the steps to log by VNC with a android smartphone:

1. Go to the control panel on your mac and press on Share

2. Share your display and on settings of computer select de two options (sorry im translating  from spanish to my bad english)

    you have to see something like vnc://192.168.1.xx/ this is your ip adress on your mac.

3. Download a vncviewer to your smartphone, i used VNC Viewer from PlayStore and its free.

4. Open VNC Viewer and press + to make a new connection, and you have to put your mac address here. The name field is optional and save the connection.

5 And now press on the created connection, and you have to see a mac log screen on your mobile. (mobile, tablet....)

 

pd: of course the smartphone must be connected to the same network.

I make this on my smartphone, but its posible with an another device such a other computer or a tablet, an ipad ..... the trick its a vnc viewer, the devices on the same network and share your display on mac.

 

pd2: sorry for my english.

 

Here is my ioreg with v2 version:

I have the similar laptop and the same problems, G55VW-DH71, i7-3630QM, GTX660M 2GB, not 3D display 1920x1080. 

Link to comment
Share on other sites

Hey, after some tests, I have a theory to explain why this machine and many other with mobile keepers fail on the screen detection, and why the EFI string does´t work with this machines.

 

It seems that apple is setting up some info on the DSDT+SSDT, to enable the port detection system, and this combined with the EFI string on the machine enables to use the perfect port for the output the machine have.

 

With the kepler on my G750 and the Alienware M17R4, and with many desktop cards this info is "empty" so the drivers enables a "generic" detection system, this is why we get the NVCAP <05 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 0e 00 00 00 00> with all the NVDA,display-A, B, C, D, outputs detected on the same port, (port02 on G750, port09 on Alienware).  With Nvidia Web Drivers this port detection is working to this "empty" info DSDT+SSDT systems. but in your G75 there is a lot of info into DSDT.

 

Have anyone tried empty the GFX related info from DSDT+SSDT?

 

Good Luck

Link to comment
Share on other sites

Hello again,

 

My NVCAP is <05 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 0e 00 00 00 00>, but i see that de property port-number under NVDA,display-A,B,C,D do not exist. Is there any way to inject this property? 

 

Investigation to be continued..... :)

Link to comment
Share on other sites

Hello again,

 

My NVCAP is <05 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 0e 00 00 00 00>, but i see that de property port-number under NVDA,display-A,B,C,D do not exist. Is there any way to inject this property? 

 

Investigation to be continued..... :)

This is exactly what I mean, the DSDT + SSDT for the G75 have info inside GFX section to declare CRT,HDMI,DPOD, and LCD (LVDS) but I suspect this info is why driver can´t find your ports, so NVDA,Display-A, B, C, D, does´t have a valid output, and your machine can´t detect any display attached. Apple also declare outputs for hey hardware, but in a different way, we need to investigate the dsdt+ssdt inside apple hardware to understand how it works.

 

I hope I explain myself

 

Good Luck

post-27772-0-34999100-1396386668_thumb.png

post-27772-0-41765700-1396386676_thumb.png

Link to comment
Share on other sites

Well, i have some questions....

I extracted and complied my dsdt and the only error is on the gfx section on _ROM method

 

                    Method (_ROM, 2, NotSerialized)
                    {
                        If (RBUF)
                        {
                            Add (Arg0, RBUF, Local0)
                            ShiftLeft (Arg1, 0x03, Local1)
                            Name (VBUF, Buffer (Arg1) {})
                            OperationRegion (VROM, SystemMemory, Local0, 0x1000)
                            Field (VROM, ByteAcc, NoLock, Preserve)
                            {
                                ROMI,   32768
                            }
 
                            Store (ROMI, VBUF)
                            Return (VBUF)
                        }
                        Else
                        {
                            Return (Zero)  <------- here is the complier error ( Invalid object type for reserved name(found Zero,requieres buffer)
                        }
                    }
 
If I change Zero to VBUF the error desapear.....
 
Maybe (I dont understand too much this) looking at this method looks like is reading de Vbios  in a address memory of system (shadowram ¿?) and maybe this address for this asus G55vw is not valid and not take the vbios and no port number declaration....
Is there anyone that point me in the right direction on that vbios address and the length of it?
Link to comment
Share on other sites

This is exactly what I mean, the DSDT + SSDT for the G75 have info inside GFX section to declare CRT,HDMI,DPOD, and LCD (LVDS) but I suspect this info is why driver can´t find your ports, so NVDA,Display-A, B, C, D, does´t have a valid output, and your machine can´t detect any display attached. Apple also declare outputs for hey hardware, but in a different way, we need to investigate the dsdt+ssdt inside apple hardware to understand how it works.

 

I hope I explain myself

 

Good Luck

It doesn't work for my G55VW with GTX660M 2G. I have remove the Device(CRTD),Device(LCDD),Device(DPOD)and Device(HDMI) in my DSDT and don't find these devices in SSDT.

Link to comment
Share on other sites

i want to share

1-dsdt asus g75vx with gtx 670 mx

2-ioreg with nvdaresmanweb that i have modified (i can get to desktop but it do not load ???????

3-ioreg that i can get desktop with installer????

the difference is that with the first i have 3 ports with the second i have 2 ports

i hop it help


edit- BTW the ssdt below don't do any think :(

beton3009.zip

Link to comment
Share on other sites

AREOS where are u my friend

i have get the desktop with nvdaresmanweb.kext+nvdagk100web.kext loaded but with nvda_drv=1 -x

i still do not have acceleration i have missed some think(all most done hop.....

this are picture and efistring and ioreg

 

 

if i boot normaly i have message/ kext in backtrace..

iographicsfamily

ioacceleratorfamily

iopcifamily

 

help please

ioreg.zip

Link to comment
Share on other sites

AREOS where are u my friend

i have get the desktop with nvdaresmanweb.kext+nvdagk100web.kext loaded but with nvda_drv=1 -x

i still do not have acceleration i have missed some think(all most done hop.....

this are picture and efistring and ioreg

 

 

if i boot normaly i have message/ kext in backtrace..

iographicsfamily

ioacceleratorfamily

iopcifamily

 

help please

 

Hi, sorry for the delay, I don´t have answer to solve this issue, the only thing I got are just theories, remember I don´t have your hardware.

Actually I´m investigating on the DSDT+SSD theory, I need more time... (I´m reading all the ACPI Spec).

 

@beton3009

 

I take a look inside your IOReg but the NVDAResman and GK100Hal kext aren´t attached to your hardware, you got the desktop because the IONDRV driver is loaded as generic frame buffer. Run "kextstat" to find if the NVDA kext are loaded.

 

I leave here a DSDT without GFX to test if someone is brave enough, without any GFX info the kext will try to find and read the VBIOS by itself, but your VBIOS is inside main Bios (I think it will find it, the G75 with fermi card can read it). Try it using Nvidia Web drivers first.

 

Good Luck to all

DSDT-G75-without GFX.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...