[SRU][Kinetic][PATCH 0/1] vmwgfx fails to reserve graphics buffer on aarch64 leading to blank display

Matthew Ruffell matthew.ruffell at canonical.com
Thu Apr 20 00:21:32 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2007001

[Impact]

Numerous VMWare users have reported that vmwgfx cannot reserve the memory
region for the graphics framebuffer, leading their VMs to have blank screens.

They see the following in dmesg:

[ 11.135360] vmwgfx 0000:00:0f.0: BAR 2: can't reserve [mem 0x70000000-0x77ffffff 64bit pref]
[ 11.135366] vmwgfx: probe of 0000:00:0f.0 failed with error -16

And a cat /proc/iomem shows this:

50000000-7fffffff : PCI Bus 0000:00
  70000000-77ffffff : 0000:00:0f.0
    70000000-702fffff : BOOTFB

The kernel has failed to release this memory region for vmwgfx to occupy.

Most affected users are on aarch64, with the host being Apple silicon systems.

[Fix]

The regression was introduced by the below commit in 5.19.0-30-generic:

commit 5e01376124309b4dbd30d413f43c0d9c2f60edea
Author: Thomas Zimmermann <tzimmermann at suse.de>
Date: Mon Jul 18 09:23:18 2022 +0200
Subject: video/aperture: Disable and unregister sysfb devices via aperture helpers
Link: https://github.com/torvalds/linux/commit/5e01376124309b4dbd30d413f43c0d9c2f60edea

This commit was part of a larger refactoring of the video subsystem, and
requires the entire series to function correctly. You can review the whole
series below:

https://patchwork.freedesktop.org/series/106040/

The patch series also requires quite a few additional fixups to fix bugs
introduced by the series, making the size about 15 commits in total. The
contents of the series don't really fix any bugs, and their purpose is to
refactor the code for future changes to the fbdev subsystem, and really aren't
appropriate to be backported to a stable kernel series.

"video/aperture: Disable and unregister sysfb devices via aperture helpers"
seems to have been selected for -stable by mistake by its fixes: tag, and was
pulled into upstream stable by a robot with little human review.

The best course of action is to revert. No action needed for Lunar, as the
entire series is present in that release.

[Testcase]

This bug affects users running Ubuntu in VMWare VMs, notably on aarch64 devices,
like modern Apple computers. 

Start a Kinetic or Jammy-HWE Server or Desktop VM in VMWare Fusion on Apple
silicon, and see if the display comes up or not.

Affected users will see a blank screen.

There is a test kernel available in the following ppa:

https://launchpad.net/~mruffell/+archive/ubuntu/lp2007001-test

If you install the test kernel and reboot, you will be able to see the screen
on your VM like normal.

[Where problems could occur]

This commit changes when the sysfb is disabled and memory region for the
graphics framebuffer is released to the proper device driver.

If a regression were to occur, then graphics drivers may fail to reserve the
framebuffer memory, and fail to start, leaving users with a blank screen.

There are no workarounds, other than booting a previous kernel.

Matthew Ruffell (1):
  UBUNTU: SAUCE: Revert "video/aperture: Disable and unregister sysfb
    devices via aperture helpers"

 drivers/gpu/drm/drm_aperture.c   | 14 --------------
 drivers/video/fbdev/core/fbmem.c | 12 ++++++++++++
 2 files changed, 12 insertions(+), 14 deletions(-)

-- 
2.39.2




More information about the kernel-team mailing list