linux-surface
linux-surface copied to clipboard
[Surface Pro 6] Surface Mini DisplayPort to HDMI 2.0 Adapter through Surface Dock not working
System:
- Surface Pro 6
- Surface Dock
- Surface Mini DisplayPort to HDMI 2.0 Adapter
- Ubuntu 18.10 (4.18.16)
What's not working:
- Mini DisplayPorts through Surface Dock: 4K TV -> HDMI cable -> "Surface Mini DisplayPort to HDMI 2.0 Adapter" -> Surface Dock -> Surface Pro 6. It shows up as 3840x2160@60Hz properly in xrandr. But the screen is drifting: like scrolling upward and the left and right edge doesn't match, e.g. a rectangle will becomes a parallelogram drifting upward.
- Ethernet port on Surface dock doesn't work, possibly related to #259.
Attached is the dmesg output: dmesg.txt
I can confirm all features shown as working including battery status with @qzed's patch with Python script, excluding the 2 above and irrelevant features not found on Surface Pro 6.
Simply use a passive mini DisplayPort to HDMI cable without using the "Surface Mini DisplayPort to HDMI 2.0 Adapter". Refer to the issue #309, I've tested and can confirm it works, only 30Hz refresh rate though.
I tried another combination that works: 4K monitor -> mDP to mDP cable -> surface dock -> surface pro 6, with 4K@60Hz
For the above one that doesn’t work, I tried to boot in Windows and it works. Directly plugging the mDP to HDMI2.0 cable on the surface pro 6 itself works. So the problem is really the combination of mDP to HDMI 2.0 and surface dock and Linux with the fixes here.
I can also confirm sometimes the Ethernet works, and when it doesn’t work, sudo systemctl restart NetworkManager
or something like that will recover that.
Also, hibernate sometimes doesn’t work. I remember first I set it up it works, but after some change, probably sudo grub...
but can’t recall exactly it breaks. Now after waking from hibernate, I see the login screen but nothing is responsive and needs to be cold booted again.
Title changed to reflect the problem is only for this combination
4K TV -> HDMI cable -> "Surface Mini DisplayPort to HDMI 2.0 Adapter" -> Surface Dock -> Surface Pro 6
and the same combination would work fine in Windows.
Just a thought: Have you updated the firmware of the dock to the latest version? I had a similar problem with my Surface Pro 2017: Ethernet was working, but the external monitor was somewhat unreliable:
- Mini DisplayPort to DisplayPort did not work.
- I got a picture with a Mini DisplayPort to HDMI adapter. Adapter for 1280x1024 worked. Another adapter for 4096x2160 30Hz worked. Because of obvious reasons, they were not ideal. So I got an adapter for 3840x2160 60Hz. This got me a picture, but it was distorted.
I finally bit the bullet, started Windows and updated the firmware. And voilà, a simple cable connecting the Mini DisplayPort to the DisplayPort of my monitor worked! Worth a try...
I reinstalled linux yesterday to Ubuntu 18.10 and installed the latest sufrace kernel 5.0.1-1. Having a display connected from the dock vi mDP->DP still shows no image for me, though the display is detected. I checked the dock firmware and it is already at the latest version.
Happy to help debugging this, just let me know what to do/what info to provide.
I raised Issue #300.
To add detail. When I tried it 3 days ago, I booted clean into ubuntu and I couldn't get the extarnal screen to show anything. Yesterday I used the laptop at home without a dock and put it to suspend. This morning I connected it to the dock and woke the laptop up, the screen was detected and showed the desktop.
I'll try a few more experiments when I catch a moment and report back the results.
In the past 4 days I wasn't able to reproduce the issue. I tried reboots, full shutdowns with the dock connected and without and connecting after boot; same with suspends.
Happy to say the issue looks fixed for me.
The issue reoccurred to me. I don't know what caused it.
Power cycling the dock (disconnecting both power and surface) didn't help. Using different ports on the dock didn't help. Unplugging the monitor's video cable and plugging it back in didn't help. Turning the monitor off/on using the soft power button didn't help.
After much fiddling, I got the picture back on the monitor after pulling out the monitor's power cable and pushing it back in again. Hope this helps.
I've tried 3 different miniDP to HDMI 2.0 active converters (incuding the Microsoft one) and they all produce the same symptoms (distorted, "rolling" picture) with 4K @ 60Hz output on my Surface Book 2. Unfortunately onboard miniDP is not an option with the SB2. I have an older active converter that maxes out at 30Hz and that works fine.
An update on this old open problem.
Like others here:
- When trying to use a CableMatters mini-DP->HDMI dongle via the dock I got a rolling distorted picture even tho xrandr correctly detected the monitor spec (3440x1440 at 120Hz).
- Connecting the same dongle instead directly to the mini-DP on the Surface Pro worked and was stable.
- Based on what others suggested here, I ordered a 4K mini-DP->DP cable and, voila, stable 3440x1440 at 120Hz via the dock.
So this can be done, either by directly connecting a recent mini-DP->HDMI dongle to the Surface Pro, or, if you monitor supports DP, then a mini-DP->DP cable (that is spec'd for 4K) via the Surface Dock.
My setup:
Surface Pro 2017 Surface Dock 1 Kernel: 5.16.13-surface Release: 21.04 (Hirsute Hippo) mini-DP-DP cable: UGREEN 10477 Display: Xiaomi Mi Curved Display 34 (XMMNTWQ34) GPU: Intel HD Graphics 620