** Also affects: linux (Ubuntu Eoan)
   Importance: High
       Status: Triaged

** Also affects: linux (Ubuntu Disco)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu Disco)
       Status: New => Triaged

** Changed in: linux (Ubuntu Disco)
   Importance: Undecided => High

** Changed in: linux (Ubuntu Bionic)
     Assignee: (unassigned) => Matthew Ruffell (mruffell)

** Changed in: linux (Ubuntu Disco)
     Assignee: (unassigned) => Matthew Ruffell (mruffell)

** Changed in: linux (Ubuntu Eoan)
     Assignee: (unassigned) => Matthew Ruffell (mruffell)

** Description changed:

- For all(as I know) Huawei servers, the vga adapter are embed in the iBMC
- chips. Those server can install from ISO manually for 16.04.4 and screen
- display normally. But for 18.04 ( tested both for daily and final
- beta)version, the install screen is blur. One of tested server is Huawei
- 2855 v5, the certification link for 16.04 are
- https://certification.ubuntu.com/hardware/201707-25596/.
+ BugLink: https://bugs.launchpad.net/bugs/1762940
  
- Below are key difference of dmesg. It seems might related with DRM.
+ [Impact]
  
- 18.04 install screen is blur 
- dmesg
- ...
- [    2.039009] fb0: EFI VGA frame buffer device
- ...
- [    4.178058] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
- [    4.191435] [drm] No driver support for vblank timestamp query.
- [    4.209338] checking generic (90000000 300000) vs hw (0 0)
- [    4.209384] fbcon: hibmcdrmfb (fb1) is primary device
- [    4.209385] fbcon: Remapping primary device, fb1, to tty 1-63
- ...
- [    5.357024] hibmc-drm 0000:07:00.0: fb1: hibmcdrmfb frame buffer device
- [    5.380085] [drm] Initialized hibmc 1.0.0 20160828 for 0000:07:00.0 on 
minor 0
- ...
- [    5.636624] vga16fb: initializing
- [    5.636627] vga16fb: mapped to 0x0000000048a7a1d2
- [    5.636630] checking generic (90000000 300000) vs hw (a0000 10000)
- [    5.636676] fb2: VGA16 VGA frame buffer device
- ...
+ 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.
  
- 16.04.4 install screen is fine (no screen blur)
- dmesg
- ...
- [    2.000419] fb0: EFI VGA frame buffer device
- ....
- [    8.795065] vga16fb: initializing
- [    8.795068] vga16fb: mapped to 0xffff8800000a0000
- [    8.795071] checking generic (98000000 300000) vs hw (a0000 10000)
- [    8.795121] fb1: VGA16 VGA frame buffer device
- ...
+ 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.

** Summary changed:

- 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

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1762940

Title:
  hibmc-drm Causes Unreadable Display for Huawei amd64 Servers

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1762940/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to