** Changed in: linux (Ubuntu Disco)
Status: In Progress => Fix Committed
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1762940
Title:
hibmc-drm Causes Unreadable Display for Huawei amd64 Servers
Status in linux package in Ubuntu:
Fix Committed
Status in linux source package in Bionic:
In Progress
Status in linux source package in Disco:
Fix Committed
Status in linux source package in Eoan:
Fix Committed
Bug description:
BugLink: https://bugs.launchpad.net/bugs/1762940
[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://launchpadlibrarian.net/365907668/creen_picture_for_blur.png
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.blacklist=hibmc_drm" to the kernel command line in the grub
menu. This is not good for customer experience with their servers.
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-bionic/CONFIGS$ fakeroot debian/rules genconfigs
ubuntu-bionic/CONFIGS$ grep -Rin "hibmc" .
./arm64-config.flavour.generic:5739:CONFIG_DRM_HISI_HIBMC=m
You should see that only arm64 has the config option enabled.
A test kernel has been built, and is available here:
https://launchpad.net/~mruffell/+archive/ubuntu/sf232667-test
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://people.canonical.com/~mruffell/sf232667_ubuntu_server_d-i_20190711b1.iso
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1762940/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp