Jump to content

E6430s: 2 external monitors output with PR03X


cellstorm
 Share

Recommended Posts

Hello,

 

I am trying to get 2 external Monitors to work with the 6430s (HD4000 based, Single INTEL GPU, 1366x768)  and a Dell PR03X docking station. I have one external Monitor working  flawlessly via DVI.

 

Would be nice if someone could point me in the right direction, what would be the best / easiest solution?

 

Should I try tho get one of the two DVI / Display Ports working? VGA (on laptop or dockingstation?? I read that patching the AppleIntelSNBGraphicsFB.kext could enable VGA...)  HDMI (on Laptop, does it even work when plugged in dockingstation?? LAN Plug right to it does not...)

 

I have tried to fiddle around with the on-the-fly kext patching the AppleIntelSNBGraphicsFB in Clover Configurator, but no luck so far.

Link to comment
Share on other sites

  • Administrators

It appears you're confusing things so let's get some facts right to begin with...

  • All E6x30 models, including the E6430s are IvyBridge. The corresponding integrated Intel GPU is HD4000.
  • Under OS X, HD4000 graphics is handled by the Capri framebuffer. The associated kext is AppleIntelFramebufferCapri.kext.
  • As its name actually implies, AppleIntelSNBGraphicsFB is a SaNdyBridge iGPU framebuffer. For SandyBridge, we're talking about Intel HD3000.
  • Whilst VGA output is supported under HD3000 through binary patching of the SNB frame buffer kext, it's regretfully not the case for HD4000 Capri framebuffer kext. So, no VGA output for E6x30 laptops with HD4000 graphics.
  • DP and DVI outputs are supported OOB off Dell's docking station PR03X.
  • HDMI output is normally supported OOB but Capri framebuffer binary patching is usually required to obtain HDMI audio.
  • E6x30 models with LoRes LCD (
  • E6x30 models with HiRes LCD (1600x900 and higher) use Capri FB #4 (0x01660004) with DualLink enabled
  • HD4000 supports up to 3 x concurrent displays but that can only include a laptop built-in display if it is fitted with an eDP connector.
  • Regretfully, our Dell E6x30 use an LVDS connector for the built-in screen...

 

This being said, to get multiple external displays working, you need to patch your Capri framebuffer accordingly.

 

You may consult the following threads/posts for guidance:

https://osxlatitude.com/index.php?/topic/2945-guide-for-enabling-vga-and-hdmi-in-intel-hd4000-gpu/

https://osxlatitude.com/index.php?/topic/9601-e6430-1600x900-intel-hd4000-gpu/page-2&do=findComment&comment=67699

https://osxlatitude.com/index.php?/topic/7914-dell-latitude-e6220-with-i5-2520m-hd3000-and-1366x768-lcd-mavericksyosemiteel-capitansierra/&do=findComment&comment=57882 (HD3000 but good examples of display tracking through IORegistryExplorer )

 

I use the following CapriFB patch on my LoRes 1366x768 HD4000 Latitude E6230 under Sierra:

Capri-FB-03_patch.png

 

Basically, I modified the kext layout 0x01006603:

from this

03006601 01020402 00000004    // Vanilla: 4 x outputs ports
00000001 00000060 10070000
10070000 00000000 00000000
00000000 00000000 00000000
05030000 02000000 30000000     // Vanilla: LVDS
02050000 00040000 07040000     // Vanilla: DP/DVI
03040000 00040000 81000000     // Vanilla: DP/DVI
04060000 00040000 81000000     // Vanilla: DP/DVI

to this

03006601 01020402 00000004    // Vanilla: 4 x outputs ports
00000001 00000060 10070000
10070000 00000000 00000000
00000000 00000000 00000000
05030000 02000000 30000000     // Vanilla: LVDS
02050000 00080000 06000000     // Patched: HDMI
03040000 00040000 81000000     // Vanilla: DP/DVI
04060000 00040000 81000000     // Vanilla: DP/DVI

`

By default layout 0x01660003 defines 4 x display outputs. 2 x key elements to understand are:

1) framebuffers (as seen in IOReg)

2) connector-type

 

Framebuffers (as seen in IOReg):

  • 0503 -> Framebuffer #0 (port 0)
  • 0205 -> Framebuffer #1 (port 5)
  • 0304 -> Framebuffer #2 (port 6)
  • 0406 -> Framebuffer #3 (port 7)

 

Connector types:

  • 0200 0000 -> LVDS
  • 0002 0000 -> DVI
  • 0004 0000 -> DP
  • 0008 0000 -> HDMI

 

Note that DVI often works on DP connector-type 0004 0000.

 

When connecting displays to the PR03X, I see the following in IORegistryExplorer (looking where an external display called "display0" appears):

  • HDMI -> Framebuffer #1, connector-type 0008 0000, port 0x5
  • DP -> Framebuffer #2, connector-type 0400 0000, port 0x6
  • DVI -> Framebuffer #3, connector-type 0400 0000, port 0x7

 

Here with HDMI output connected:
HDMI_output.png
 

Here with DVI output connected:

DVI_output.png

DVI_out 02.png

 

Here with DP output connected (DP-to-HDMI adaptor):

DP-to-HDMI_output.png

DP_out_02.png

 

Here with DP and DVI outputs connected (built-in LCD off):

DP+DVI_outputs.png

DP+DVI_out_02.png

 

Here with DVI and HDMI outputs connected:

DVI+HDMI_output.png

DVI+HDMI_out_02.png

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...