hibmc-drm Causes Unreadable Display for Huawei amd64 Servers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Matthew Ruffell | ||
Bionic |
Fix Released
|
High
|
Matthew Ruffell | ||
Disco |
Fix Released
|
High
|
Matthew Ruffell | ||
Eoan |
Fix Released
|
High
|
Matthew Ruffell |
Bug Description
BugLink: https:/
[Impact]
amd64 based Huawei servers have problems where the display output of their iBMC chips is broken, resulting in a "blurry" screen when viewed from their in house remote kvm-like console.
Example:
https:/
The issue is caused by the hibmc_drm kernel module being loaded. The PCI ID for the iBMC chips on amd64 hardware is the same as arm64 hardware, but the
hibmc_drm driver was developed only for use on arm64 hardware, most notably for the Huawei D05 development board.
The impact to Huawei is that their customers cannot use Ubuntu server install
media as the screen goes "blurry" when the d-i install media or subuqity
installer loads the hibmc_drm kernel module after language selection.
The only workaround for their customers is to press the "E" key during the very first installer menu and adding "modprobe.
Other problems exist for the hibmc_drm driver on amd64, such as working on
bios, but not uefi, and not being wayland compatible, making the screen blurry whenever a desktop session is started and gdm loaded.
Huawei have asked us to remove hibmc_drm from all architectures except arm64,
and this aligns with advice from Hisilicon.
[Fix]
I modified the config/annotations file to remove all architectures except arm64, and created a patch for Kconfig to set a firm requirement on ARM64 for hibmc_drm.
I will send the Kconfig patch upstream in the coming days for a more permanent fix.
[Testcase]
Apply the patches and run:
ubuntu-
ubuntu-
./arm64-
You should see that only arm64 has the config option enabled.
A test kernel has been built, and is available here:
https:/
Huawei requested a test d-i install iso to test server install with, which can be found here and uses the kernel from the ppa above:
https:/
Both the test kernel and the custom d-i install iso have been tested on amd64
Huawei server hardware successfully and video output is functional.
[Regression Potential]
Regressions will be limited to hardware containing the iBMC chips from Hisilicon, which I believe are exclusive to Huawei servers.
I have taken care to ensure that hibmc_drm is enabled for ARM64 so it should not impact kernels built for the Huawei D05 arm64 development board, and d-i will still load the hibmc_drm driver during startup for arm64.
summary: |
- Ubuntu 1804 install screen becomes blur on Huawei server + Ubuntu 18.04 install screen becomes blur on Huawei server |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
tags: | added: kernel-key |
Changed in linux (Ubuntu Bionic): | |
status: | Incomplete → Triaged |
no longer affects: | install-package (Ubuntu) |
tags: |
added: kernel-da-key removed: kernel-key |
summary: |
- Ubuntu 18.04 install screen becomes blur on Huawei server + Ubuntu 18.04 d-i install screen becomes blurry on Huawei server in EFI + boot mode |
Changed in linux (Ubuntu Disco): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Matthew Ruffell (mruffell) |
Changed in linux (Ubuntu Disco): | |
assignee: | nobody → Matthew Ruffell (mruffell) |
Changed in linux (Ubuntu Eoan): | |
assignee: | nobody → Matthew Ruffell (mruffell) |
description: | updated |
summary: |
- Ubuntu 18.04 d-i install screen becomes blurry on Huawei server in EFI - boot mode + hibmc-drm Causes Unreadable Display for Huawei amd64 Servers |
Changed in linux (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Disco): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Eoan): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Eoan): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Disco): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
tags: | added: cscc |
no longer affects: | linux-gcp (Ubuntu) |
no longer affects: | linux-gcp (Ubuntu Eoan) |
no longer affects: | linux-gcp (Ubuntu Disco) |
no longer affects: | linux (Ubuntu Bionic) |
Changed in linux (Ubuntu Bionic): | |
status: | New → Fix Committed |
importance: | Undecided → High |
assignee: | nobody → Matthew Ruffell (mruffell) |
Changed in linux-gcp (Ubuntu Bionic): | |
status: | New → Fix Committed |
Changed in linux-gcp (Ubuntu): | |
status: | New → Fix Committed |
no longer affects: | linux-gcp (Ubuntu Bionic) |
no longer affects: | linux-gcp (Ubuntu) |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1762940
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.