Dell M4800 Display Goofiness

I have been working with my Dell Precision M4800, trying to get FreeBSD to work the way I want it to. There is some goofiness for lack of a better word with how the display works. It utilizes an MXM 3.0 module with an AMD FirePro M5100 GPU. The built-in screen is connected via LVDS and has analog signal passed through, connected primarily through the integrated Intel graphics. The digital output (HDMI and Display Port) is primarily routed through the AMD graphics.

The computer is currently dual booting with separate SSDs Windows 10 and FreeBSD 12.1-RELEASE.

With Switchable Graphics ON, Windows works perfectly with the built-in screen and an external monitor connected to the DP works perfectly. With Switchable Graphics OFF, Windows will not properly display on the built-in screen, and will only properly display on an external monitor connected to the DP.

With FreeBSD, the situation is a little bit different, almost reversed. When Switchable Graphics is ON, if I load the /boot/kernel/radeonkms.ko driver, I will only get proper display through the DP. With Switchable Graphics OFF, the display works fine on the built-in screen, and sort-of works on the external monitor (it has just a bunch of horizontal lines when I start X, but it is recognized by xrandr. I'm not too worried yet about this).

With Switchable Graphics ON, I can load the /boot/kernel/i915kms.ko driver, and the built-in display works without issue, but there is no display to the monitor connected to the DP. I can manually load the AMD driver, but then when I start X, it only displays to the external monitor. If I manually load the driver while already in the X session, it basically freezes the system. I suspect that it is stopping refreshing the display to the built-in screen, but not properly redirecting to the external display.

I would like to have this setup so I can use both the built-in display and an external monitor connected to the display port in FreeBSD. I suspect to achieve this I will need both the Intel and AMD drivers loaded, and have X properly configured. I am not sure if this would currently work with FreeBSD 12.1-RELEASE, but if it is, I need some help on where to go from here. Any help is appreciated.
 
Back
Top