** 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 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:
  Triaged
Status in linux source package in Bionic:
  Triaged
Status in linux source package in Disco:
  Triaged
Status in linux source package in Eoan:
  Triaged

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     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to