3

Just this week I got the newest Matebook 14 2020 AMD with the 4800H. On windows I'm using an UtechSmart USB-C hub to output 4K@60Hz to my monitor so physically I know it's possible.

Linux, however, is another story. I installed Kubuntu 20.04 LTS, but I could only boot to it (kernel 5.4 I believe) by going into recovery mode, and then selecting continue boot. Otherwise it would just hang on the Huawei logo. I installed the 5.8.15 kernel and everything seems to work fine, except I can't seem to set the display output to 60Hz, even though it's available in the settings, confirmed also by xrandr:

> Screen 0: minimum 320 x 200, current 3840 x 3600, maximum 16384 x 16384
eDP connected primary 2160x1440+783+2160 (normal left inverted right x axis y axis) 296mm x 197mm
  2160x1440     60.00*+
  1920x1200     60.00   
  1920x1080     60.00   
  1600x1200     60.00   
  1680x1050     60.00   
  1280x1024     60.00   
  1440x900      60.00   
  1280x800      60.00   
  1280x720      60.00   
  1024x768      60.00   
  800x600       60.00   
  640x480       60.00   
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
DisplayPort-4 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
  3840x2160     60.00 +  30.00*  
  2560x1440     59.95   
  1920x1080     60.00    59.94   
  1600x900      60.00   
  1280x1024     60.02   
  1280x800      59.81   
  1280x720      60.00    59.94   
  1024x768      60.00   
  800x600       60.32   
  720x480       60.00    59.94   
  640x480       60.00    59.94

However, running xrandr --output DisplayPort-4 --mode 3840x2160 --rate 60, I get xrandr: Configure crtc 1 failed

I assumed this has something to do with the amdgpu drivers, so I went ahead and downloaded the latest 20.30 version, however, I get the following error:

Loading new amdgpu-5.6.5.24-1109583 DKMS files...
Building for 5.8.15-050815-generic
Building for architecture x86_64
Building initial module for 5.8.15-050815-generic
ERROR (dkms apport): kernel package linux-headers-5.8.15-050815-generic is not supported
Error! Bad return status for module build on kernel: 5.8.15-050815-generic (x86_64)
Consult /var/lib/dkms/amdgpu/5.6.5.24-1109583/build/make.log for more information.

I even tried installing it on the 5.8.1 kernel with no luck.

This is where I'm stuck right now, and I'm pretty sure I wrecked the whole installation. Any insight on how to fix my problems?

UPDATE: As of kernel version 5.15, this has been fixed!

Dzeri96
  • 111
  • 2
  • 5
  • A data point: I got myself the exact same laptop and tried to connect it to my Samsung 4K monitor using a USB-C to DisplayPort cable. It connected using 4k@60Hz by default without any problem. I am running Arch Linux with KDE Plasma. So it seems it is possible for Linux to produce a 4k@60Hz signal using the USB-C port. It's hard to tell if your USB-C docking station is interacting in a bad way, or the software that's included with Kubuntu isn't up to the task. I have noticed that 4k@60Hz docking stations are hard to come by, they usually top out at 30 Hz. – Johan Myréen Nov 06 '20 at 14:16
  • In the meantime I've tested a few other docks which also didn't work, and a direct cable which did. Right now I'm using a usb-c to Displayport adapter which has a power input and that works. It seems like if the Dock has more than one display output, it won't work. But it's definitely a Linux issue – Dzeri96 Nov 06 '20 at 14:20
  • It might also be something silly like the CRTCs having different capabilities. Try with `--crtc 0` to force X to swap the CRTCs between the outputs. – Simon Richter May 17 '21 at 17:58

3 Answers3

4

4K at 60 Hz requires either 2 lanes of HBR3 (=DisplayPort 1.3 and up) or 4 lanes of HBR2 (=DisplayPort 1.2).

Using the USB Type C output, the laptop (Huawei Matebook 14 AMD) has DisplayPort version 1.4 and can be set to 2 or 4 lane operation. It is capable of any combination of RBR, HBR, HBR2 and HBR3 transfer modes over 2 or 4 lanes.

Edit: I found one reference online that DisplayPort 1.4 and HBR3 is supported on this laptop. On Monday, Huawei support returned to me after two months and informed me that the Matebook only has DisplayPort 1.2 and hence only HBR2 mode. FWIW, I'm still looking for anyone to confirm that they have HBR3 working (a screenshot in Radeon Software would be great proof), but I would no longer bet on this possibility.

However, these modes need to be supported by all devices in the chain. If the docking station only works up to DisplayPort 1.2, you will need four DP lanes for 60 Hz. And even though the laptop supports that, the OS needs to be able to set the transfer mode.

USB Type C supports a number of alternate modes, such as: Power Delivery, 2-lane DisplayPort 1.4, USB 3.2×1, USB 2.0 PD, 4-lane DP 1.2, USB 2.0 PD, no DP, USB 3.2×2, USB 2.0

It's not possible to offer 4-lane DP and USB 3.2 at the same time, it simply doesn't have enough physical connections for that.

If the docking station is DP 1.2, then what Windows apparently does, is it configures the docking station for no USB 3.2 and four lanes of DP 1.2 and then any internal USB devices on the docking station (e.g., network card) are relegated to EHCI (USB 2.0 speed and transfer mode).

This is what Linux apparently cannot do with this docking station, regardless of whether you're using USB ports on it or not (I assume you weren't using those ports with USB 3.2 devices).

If you have, you might have luck removing those devices from the docking station and connecting just the power supply, display and laptop. If it doesn't work, then I don't really have any good advice how to fix that.

A direct mode (like a USB to DisplayPort cable), where USB 3.2 is out of the question, can fix that since all four DP lanes are available.

toughluck
  • 41
  • 3
  • Thank you for the exhaustive answer. I've since returned every docking station I tried and have been using a simple USB-C to DP adapter which also has a charging port. And as you predicted, it's working without problems. Is there a way to force linux to prioritize the DP output or is there a hub out there that has a perfect combination of ports as to not overload the available lanes? – Dzeri96 Feb 18 '21 at 18:13
  • There are few DisplayPort 1.4 docking stations available at all, let alone with sensible prices. I don't think any of them support something like HBR3 to HBR2 conversion for monitors that only have DisplayPort 1.2. At best, you can get the signal converted to HDMI (unless the docking station is "smart" and will use HDMI Alternate Mode which is only HDMI 1.4 on the Matebook). I don't know if there is a way to force Linux to assign lanes as you like. If removing USB 3.x devices from the dock doesn't work, maybe disabling xHCI on the USB C port will (buy might disable Alt mode altogether). – toughluck Feb 19 '21 at 14:36
1

This topic is old but if someone else will search if Matebook 14 has DisplayPort 1.4 with HBR3 then I can confirm.

USB-C connection in this laptop is capable of:

  • output 4K 3840x2160 with 60Hz using only 2 Lines with HBR3
  • which gives you a fully usable USB 3
  • and Power Delivery 65W

I can't recommend any dock as I am using Philips 279P monitor and finally after many years my dream come true that I can use only one cable without any dock stations between computer and monitor.

And the screen ratio of 3:2 is amazing. Even for the end of 2021, I consider it money well spent.

PawelW
  • 11
  • 2
0

Some notebooks, like the HP Probook 650 G4, allows you to define the behavior of the HBR lines from the BIOS.

This is, as stated on this comment, to reassign the HBR lines in order to have more room for video, but slowing the USB3 ports to version 2.0.

In my case, now I have 2 external QHD monitors at 2560 x 1440 @75Hz, and USB2 ports on the dock, which doesn't affect my daily work.