Jump to content

D430: DVI, Dock, Multiple Monitors


trag

Recommended Posts

I had a little time this weekend to do some more testing, so I tried out multiple monitors on the D430 under Snow Leopard.

 

First, I connected an older LCD panel directly to the VGA port on the back of the D430.   This worked fine and operates in either mirrored or extended desktop mode. 

 

Next, I put the D430 into the Media Slice Dock (PR09S, I think).  This is the dock which includes an optical drive and makes the D430 a little thicker and heavier.

 

In the Media Slice, the VGA port still works great, however, do not use the FN F8 key to switch monitors.    This switches the display to some frozen screen that looks like an old left-over display buffer from boot time.  I don't know where in memory that is living.  It's weird.

 

If one uses the FN F8 key during the boot process (before the desktop appears) it will cycle the start-up screen between the built-in and external screen just fine.   However, once OSX has detected and activated additional display devices (both displays lit) using the FN F8 key gets one the aforementioned display buffer crud and no way I could find to recover.

 

I'm not sure if this FN F8 behaviour is the same when connected directly to the D430's VGA port (no dock) because I don't remember testing it's behaviour without the dock.

 

Next, I connected a monitor to the DVI port.    Snow Leopard refuses to acknowledge in any way that there is a monitor connected via DVI.  

 

However, if one uses the FN F8 key during the boot process, it will cycle the start-up screen (OSX Latitude emblem on gray background) from screen to screen, including the DVI monitor.

 

I tried the DVI monitor both alone and with another display connected to the VGA port.  The behaviour was the same in both cases.

 

So, any ideas on how to get the DVI port to work?

 

I remember reading an article somewhere (might have been here) about enabling a DVI or maybe an HDMI port on a Hackintosh.   IIRC, it involved adding another entry to a Plist table for some kext related to displays or video cards.    I'll see if I can find the page again.   That might be a reasonable place to start.

 

Is it possible that there simply isn't a plist entry for DVI monitors where one is needed?

 

I'm treading far into my ignorance here, so please forgive and correct me if I make little sense.

Link to comment
Share on other sites

Do you mean to connect the DVI monitor to the VGA port?  Or do you mean to connect a VGA monitor to the DVI port?

 

If the former, that would not meet my goal.  I would like to achieve two external monitor support -- with the built-in LCD off.  So I need the DVI port to work.  

 

If the latter, would it make a difference?  Do you think the type/brand of monitor is affecting whether it is detected?   However, I don't think a DVI-VGA adapter will work on the PR09S.   The DVI port lacks the four analog signal pins that surround the single flat horizontal pin.

 

Here is the article/forum post I was thinking of.  I'm not sure if the link is going to work properly, so it's the third page of the thread and about 2/3 of the way down the page.    This example is for the HD3000, but I wonder if something similar would work in this case to enable the DVI port?

 

http://www.insanelymac.com/forum/topic/259705-editing-custom-connector-info-for-intel-hd-3000-graphics-sandy-bridge-osx-lion/page-3

 

When I get some time I'll look into it, but if someone with experience would like to comment, I would enjoy reading your thoughts.

Link to comment
Share on other sites

I did some work on the DSDT of my D620 and was able to fix some of the GMA related problems,

but I was not able to get the DVI port working. I finally decided I needed to think about it.

 

I think I can supply you with some answers and a possible direction.

 

The macbook1,1 contains the following parameter.

 

"AAPL,DisplayConfig" = <1300000000000001410000000000000021000000000000008100000000000000>

 

We can reformat it as follows.

 

"AAPL,DisplayConfig" = <

                              1300000000000001

                              4100000000000000

                              2100000000000000

                              8100000000000000

>

 

I believe this is the connection table you are looking for.

The next question is what does it contain.

 

We can make some good guesses if we compare the contents

of the TV, CRT, LCD, and DVI devices in the VID device in the

DELL D620 DSDT.

 

Here it is.

 

                Device (TV)
                {
                    Method (_ADR, 0, NotSerialized)
                    {
                        Return (0x0200)
                    }

                    Method (_DCS, 0, NotSerialized)
                    {
                        Store (SMI (0x8E, 0x04), Local0)
                        Return (Local0)
                    }

                    Method (_DGS, 0, NotSerialized)
                    {
                        Store (SMI (0x99, 0x04), Local0)
                        Return (Local0)
                    }

                    Method (_DSS, 1, NotSerialized)
                    {
                        DSS (0x04, Arg0)
                    }
                }

                Device (CRT)
                {
                    Method (_ADR, 0, NotSerialized)
                    {
                        Return (0x0100)
                    }

                    Method (_DCS, 0, NotSerialized)
                    {
                        Store (SMI (0x8E, 0x02), Local0)
                        Return (Local0)
                    }

                    Method (_DGS, 0, NotSerialized)
                    {
                        Store (SMI (0x99, 0x02), Local0)
                        Return (Local0)
                    }

                    Method (_DSS, 1, NotSerialized)
                    {
                        DSS (0x02, Arg0)
                    }
                }

                Device (LCD)
                {
                    Method (_ADR, 0, NotSerialized)
                    {
                        Return (0x0400)
                    }

                    Method (_DCS, 0, NotSerialized)
                    {
                        Store (SMI (0x8E, 0x01), Local0)
                        Return (Local0)
                    }

                    Method (_DGS, 0, NotSerialized)
                    {
                        Store (SMI (0x99, 0x01), Local0)
                        Return (Local0)
                    }

                    Method (_DSS, 1, NotSerialized)
                    {
                        DSS (0x01, Arg0)
                    }
                }

                Device (DVI)
                {
                    Method (_ADR, 0, NotSerialized)
                    {
                        Return (0x0300)
                    }

                    Method (_DCS, 0, NotSerialized)
                    {
                        Store (SMI (0x8E, 0x08), Local0)
                        Return (Local0)
                    }

                    Method (_DGS, 0, NotSerialized)
                    {
                        Store (SMI (0x99, 0x08), Local0)
                        Return (Local0)
                    }

                    Method (_DSS, 1, NotSerialized)
                    {
                        DSS (0x08, Arg0)
                    }
                }
 

Note the items in red

 

We can highlight the same values in the parameter and add comments using the DELL names.

 

"AAPL,DisplayConfig" = <

                              1300000000000001                       // LCD

                              4100000000000000                       // TV

                              2100000000000000                       // CRT

                              8100000000000000                       // DVI

>

 

 

I am not sure what the other fields are.

 

We can validate this thinking by looking at the same paramter in the Macmini1,1

 

"AAPL,DisplayConfig" = <4100000000000000210000000000000081000000000000000000000000000000>

 

We reformat it as follows:

 

"AAPL,DisplayConfig" = <

                                      4100000000000000

                                      2100000000000000

                                      8100000000000000

                                      0000000000000000

>

 

It looks like they deleted the LCD and added a dummy line for a total of 4 entries.

 

One more thing. The Macbook1,1 contains the following parameter

 

"AAPL01,Pipe" = <01000000>

 

I found I needed to change this to 0 as follows, or I got a black screen.

 

"AAPL01,Pipe" = <00000000>

 

I do not know why, but this is most likely a clue to what is happening with the DVI port.

 

The above tables seem to imply the TV port should work, but since I do not know how

to try it, the TV port is untested.

 

This is what I thought one of the possible problem areas was, when I last worked on it.

Since I have never seen the GMA source. I can't be sure this thinking is correct.

Link to comment
Share on other sites

×
×
  • Create New...