Hello Kent, or anyone else affected,

Accepted xorg-server into focal-proposed. The package will build now and
be available at https://launchpad.net/ubuntu/+source/xorg-
server/2:1.20.8-2ubuntu2.5 in a few hours, and then in the -proposed
repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, what testing has been
performed on the package and change the tag from verification-needed-
focal to verification-done-focal. If it does not fix the bug for you,
please add a comment stating that, and change the tag to verification-
failed-focal. In either case, without details of your testing we will
not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Changed in: xorg-server (Ubuntu Focal)
       Status: Confirmed => Fix Committed

** Tags added: verification-needed verification-needed-focal

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xorg-server in Ubuntu.
https://bugs.launchpad.net/bugs/1897530

Title:
  [modeset][nvidia] X Server session crash with "No space left on
  device" and then "EnterVT failed for gpu screen 0"

Status in xorg-server package in Ubuntu:
  Fix Released
Status in xorg-server-hwe-18.04 package in Ubuntu:
  Invalid
Status in xorg-server source package in Bionic:
  Invalid
Status in xorg-server-hwe-18.04 source package in Bionic:
  Confirmed
Status in xorg-server source package in Focal:
  Fix Committed
Status in xorg-server-hwe-18.04 source package in Focal:
  Invalid

Bug description:
  [Impact]

  On a hybrid machine where NVIDIA is rendering the screen, if a display
  attached to a dock is removed while on suspend mode, on resume X
  crashes.

  [Test case]

  Test hot-unplug during suspend and resume, X shouldn't crash.

  [Regression potential]

  This replaces a patch we had with two commits that got merged upstream
  after a fairly extensive review process:

  https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/443/

  And we ship it in groovy. If there were issues caused by it, they
  would be around hot-unplugging a dock while on suspend and such.

  --

  Expectation: on removal of external display during S3, after resume eDP 
rendering should still continue by Nvidia.
  Symptom description: Plug out DP cable when suspension, when resume, X will 
crash.

  1. Before S3 entry, eDP and external panel(via dock) were driven by Intel but 
NV was rendering for eDP.
  2. After S3 entry dock was removed.
  3. On resume, Linux kernel tried to find dock but couldn’t find it, so fails 
resume of TB3 devices and logs confirm that.
  4. X fails to enter VT due to Null meta mode.

  To address the explanation, X is not failing to enter the VT due to
  NVIDIA’s NULL MetaMode. It’s the Intel (modesetting) driver that is
  failing to enter the VT. It’s expected that NVIDIA would have a NULL
  MetaMode, since there are no displays connected to it. Our driver is
  pretty robust to head state changes – even if we have to fall back to
  a NULL MetaMode, we will still enter the VT successfully.

  The logs clearly show that the failure is originating from the Intel
  (modesetting) driver, not the NVIDIA driver. The relevant path in X is
  driver.c:EnterVT() => drmmode_display.c:drmmode_set_desired_modes().
  In this function, the Intel driver tries to set a mode on each of the
  previously connected/enabled displays, and it tries to find the
  closest possible mode using xf86OutputFindClosestMode(). This is
  similar to our driver’s functionality, but unlike us, they don’t
  support a NULL fallback. If there are no modes supported on one of the
  displays, it simply fails, which causes X to terminate:

  DisplayModePtr mode = xf86OutputFindClosestMode(output,
  pScrn->currentMode);

  if (!mode)
      return FALSE;

  Since we removed one of the displays via the dock, it fails. It
  doesn’t matter if the internal panel is still available, Intel will
  fail if it can’t re-enable ANY of the previously connected displays.

  Technically the modesetting driver isn’t specifically an Intel driver,
  it’s a generic driver that can be used by any DRM device – it’s just
  that Intel has chosen to use the modesetting driver as their standard
  Linux X driver going forward.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1897530/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to