Public bug reported:

# SUMMARY

On noble, xorg-server 2:21.1.12-1ubuntu1.7 and later fail to start on
this hybrid AMD + NVIDIA laptop when an external monitor is connected to
the NVIDIA GPU. The server exits with:

  (EE) modeset(G0): Failed to create pixmap
  (EE) Fatal server error:
  (EE) failed to create screen resources

2:21.1.12-1ubuntu1.5 works on the same kernel, same driver, same
monitor.

# ENVIRONMENT

  Linux Mint 22.3 (noble base), X11 / Cinnamon, LightDM
  Kernel 7.0.0-42-generic
  ASUS ROG Zephyrus G16 GA605WI, BIOS GA605WI.316 (2025-07-24)
  64:00.0 VGA [0300]: NVIDIA RTX 4070 Max-Q [10de:2860], Acer R271 on HDMI
  65:00.0 Display [0380]: AMD Radeon 890M [1002:150e], internal panel eDP-1
  nvidia-driver-615-open 615.71.09-0ubuntu0.24.04.2

The xserver packages are unmodified Ubuntu packages from noble-updates
and noble-security. No PPA or third-party build is involved.

# PACKAGE VERSIONS

  $ apt-cache policy xserver-xorg-core
  xserver-xorg-core:
    Installed: 2:21.1.12-1ubuntu1.5
    Candidate: 2:21.1.12-1ubuntu1.9
    Version table:
       2:21.1.12-1ubuntu1.9 500
          500 http://.../ubuntu noble-updates/main amd64 Packages
   *** 2:21.1.12-1ubuntu1.5 500
          500 http://security.ubuntu.com/ubuntu noble-security/main amd64 
Packages
          100 /var/lib/dpkg/status
       2:21.1.12-1ubuntu1 500
          500 http://.../ubuntu noble/main amd64 Packages

xserver-common, xserver-xorg-legacy and xserver-xephyr are at the same
version as xserver-xorg-core in each run.

# EXPECTED

X starts and drives both the internal panel and the HDMI monitor, as it
does with 2:21.1.12-1ubuntu1.5.

# ACTUAL

X exits during server initialisation. LightDM restarts it in a loop and
the machine stays on a text console.

# REPRODUCTION

1. Boot with an external monitor connected to the NVIDIA HDMI output.
2. Install xserver-xorg-core 2:21.1.12-1ubuntu1.7 or later from noble-updates.
3. Start X (systemctl restart lightdm).
4. X exits with the error above.

# CAUSE

1ubuntu1.7 backports upstream MR !2242 ("xfree86: prefer boot_display over
 boot_vga for primary device"). On this machine 
/sys/class/drm/card1/boot_display is 1, the AMD iGPU, so the patch makes the 
AMD the primary device and demotes the NVIDIA to a secondary GPU screen driven 
by modesetting.

The modesetting driver then tries to allocate a pixmap on the NVIDIA
through GBM/EGL and fails. The failing call is drmmode_set_pixmap_bo()
-> egl_create_textured_pixmap_from_gbm_bo() at
hw/xfree86/drivers/modesetting/drmmode_display.c:3619.

1ubuntu1.8 carries the same patch. 1ubuntu1.9 adds unrelated
DisplayLink/evdi fixes (LP #2160643) but is cumulative, so it still
contains the regression.

CONTROLLED COMPARISON

Same kernel 7.0.0-42, same NVIDIA 615.71.09, Acer R271 on HDMI in both
runs. Only the xserver version differs.

                           1ubuntu1.5         1ubuntu1.9
  Primary device (PCI:*)   10de:2860 NVIDIA   1002:150e AMD
  NVIDIA(0) lines in log   33                 0
  modeset(G0) glamor       AMD 890M           NVIDIA RTX 4070
  pixmap errors            0                  1

In 1.5 the NVIDIA is the primary screen and drives the monitor:

  (II) NVIDIA(0): Setting mode "DFP-2:nvidia-auto-select"

In 1.9 the NVIDIA is demoted to modeset(G0) and the server dies before
it can set a mode.

# WHY SRU VERIFICATION DID NOT CATCH THIS

The verification on bug #2136140 comment #31 used an AMD + NVIDIA system
with no display attached to the NVIDIA. In that configuration the NVIDIA
stays in D3cold and no modesetting GPU screen is created, so this path
is not exercised. Reproducing this report needs a monitor on the dGPU.

# RELATED

Bug #2161262 reports the same (EE) modeset(G0): Failed to create pixmap
from the modesetting driver claiming the NVIDIA as a GPU screen, with a
different trigger.

# WORKAROUND

Hold the four packages at 2:21.1.12-1ubuntu1.5:

  sudo apt-mark hold xserver-xorg-core xserver-common xserver-xorg-
legacy xserver-xephyr

# NOTES

Filed manually rather than with ubuntu-bug xorg-server because the
machine is currently running the working 1.5 packages, so ubuntu-bug
would collect the working state rather than the failing one. The
equivalent information is included above and in the attachments.

The attached logs are verbatim except for three substitutions: HOSTNAME,
REDACTED-FS-UUID, and EDID serial (as REDACTED).

(Report drafted with AI assistance; all tests were manually performed
and verified on this machine.)

** Affects: xorg-server (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: regression-update

** Attachment added: "Xorg.0.log-1ubuntu1.9-fail.txt"
   
https://bugs.launchpad.net/bugs/2173622/+attachment/6015764/+files/Xorg.0.log-1ubuntu1.9-fail.txt

** Description changed:

- SUMMARY
+ # SUMMARY
  
  On noble, xorg-server 2:21.1.12-1ubuntu1.7 and later fail to start on this
  hybrid AMD + NVIDIA laptop when an external monitor is connected to the NVIDIA
  GPU. The server exits with:
  
-   (EE) modeset(G0): Failed to create pixmap
-   (EE) Fatal server error:
-   (EE) failed to create screen resources
+   (EE) modeset(G0): Failed to create pixmap
+   (EE) Fatal server error:
+   (EE) failed to create screen resources
  
  2:21.1.12-1ubuntu1.5 works on the same kernel, same driver, same
  monitor.
  
  
- ENVIRONMENT
+ # ENVIRONMENT
  
-   Linux Mint 22.3 (noble base), X11 / Cinnamon, LightDM
-   Kernel 7.0.0-42-generic
-   ASUS ROG Zephyrus G16 GA605WI, BIOS GA605WI.316 (2025-07-24)
-   64:00.0 VGA [0300]: NVIDIA RTX 4070 Max-Q [10de:2860], Acer R271 on HDMI
-   65:00.0 Display [0380]: AMD Radeon 890M [1002:150e], internal panel eDP-1
-   nvidia-driver-615-open 615.71.09-0ubuntu0.24.04.2
+   Linux Mint 22.3 (noble base), X11 / Cinnamon, LightDM
+   Kernel 7.0.0-42-generic
+   ASUS ROG Zephyrus G16 GA605WI, BIOS GA605WI.316 (2025-07-24)
+   64:00.0 VGA [0300]: NVIDIA RTX 4070 Max-Q [10de:2860], Acer R271 on HDMI
+   65:00.0 Display [0380]: AMD Radeon 890M [1002:150e], internal panel eDP-1
+   nvidia-driver-615-open 615.71.09-0ubuntu0.24.04.2
  
  The xserver packages are unmodified Ubuntu packages from noble-updates and
  noble-security. No PPA or third-party build is involved.
  
  
- PACKAGE VERSIONS
+ # PACKAGE VERSIONS
  
-   $ apt-cache policy xserver-xorg-core
-   xserver-xorg-core:
-     Installed: 2:21.1.12-1ubuntu1.5
-     Candidate: 2:21.1.12-1ubuntu1.9
-     Version table:
-        2:21.1.12-1ubuntu1.9 500
-           500 http://.../ubuntu noble-updates/main amd64 Packages
-    *** 2:21.1.12-1ubuntu1.5 500
-           500 http://security.ubuntu.com/ubuntu noble-security/main amd64 
Packages
-           100 /var/lib/dpkg/status
-        2:21.1.12-1ubuntu1 500
-           500 http://.../ubuntu noble/main amd64 Packages
+   $ apt-cache policy xserver-xorg-core
+   xserver-xorg-core:
+     Installed: 2:21.1.12-1ubuntu1.5
+     Candidate: 2:21.1.12-1ubuntu1.9
+     Version table:
+        2:21.1.12-1ubuntu1.9 500
+           500 http://.../ubuntu noble-updates/main amd64 Packages
+    *** 2:21.1.12-1ubuntu1.5 500
+           500 http://security.ubuntu.com/ubuntu noble-security/main amd64 
Packages
+           100 /var/lib/dpkg/status
+        2:21.1.12-1ubuntu1 500
+           500 http://.../ubuntu noble/main amd64 Packages
  
  xserver-common, xserver-xorg-legacy and xserver-xephyr are at the same version
  as xserver-xorg-core in each run.
  
  
- EXPECTED
+ # EXPECTED
  
  X starts and drives both the internal panel and the HDMI monitor, as it does
  with 2:21.1.12-1ubuntu1.5.
  
  
- ACTUAL
+ # ACTUAL
  
  X exits during server initialisation. LightDM restarts it in a loop and the
  machine stays on a text console.
  
  
- REPRODUCTION
+ # REPRODUCTION
  
  1. Boot with an external monitor connected to the NVIDIA HDMI output.
  2. Install xserver-xorg-core 2:21.1.12-1ubuntu1.7 or later from noble-updates.
  3. Start X (systemctl restart lightdm).
  4. X exits with the error above.
  
  
- CAUSE
+ # CAUSE
  
  1ubuntu1.7 backports upstream MR !2242 ("xfree86: prefer boot_display over
  boot_vga for primary device"). On this machine 
/sys/class/drm/card1/boot_display
  is 1, the AMD iGPU, so the patch makes the AMD the primary device and demotes
  the NVIDIA to a secondary GPU screen driven by modesetting.
  
  The modesetting driver then tries to allocate a pixmap on the NVIDIA through
  GBM/EGL and fails. The failing call is drmmode_set_pixmap_bo() ->
  egl_create_textured_pixmap_from_gbm_bo() at
  hw/xfree86/drivers/modesetting/drmmode_display.c:3619.
  
  1ubuntu1.8 carries the same patch. 1ubuntu1.9 adds unrelated DisplayLink/evdi
  fixes (LP #2160643) but is cumulative, so it still contains the regression.
  
- 
  CONTROLLED COMPARISON
  
  Same kernel 7.0.0-42, same NVIDIA 615.71.09, Acer R271 on HDMI in both runs.
  Only the xserver version differs.
  
-                            1ubuntu1.5         1ubuntu1.9
-   Primary device (PCI:*)   10de:2860 NVIDIA   1002:150e AMD
-   NVIDIA(0) lines in log   33                 0
-   modeset(G0) glamor       AMD 890M           NVIDIA RTX 4070
-   pixmap errors            0                  1
+                            1ubuntu1.5         1ubuntu1.9
+   Primary device (PCI:*)   10de:2860 NVIDIA   1002:150e AMD
+   NVIDIA(0) lines in log   33                 0
+   modeset(G0) glamor       AMD 890M           NVIDIA RTX 4070
+   pixmap errors            0                  1
  
  In 1.5 the NVIDIA is the primary screen and drives the monitor:
  
-   (II) NVIDIA(0): Setting mode "DFP-2:nvidia-auto-select"
+   (II) NVIDIA(0): Setting mode "DFP-2:nvidia-auto-select"
  
  In 1.9 the NVIDIA is demoted to modeset(G0) and the server dies before it can
  set a mode.
  
  
- WHY SRU VERIFICATION DID NOT CATCH THIS
+ # WHY SRU VERIFICATION DID NOT CATCH THIS
  
  The verification on bug #2136140 comment #31 used an AMD + NVIDIA system with
  no display attached to the NVIDIA. In that configuration the NVIDIA stays in
  D3cold and no modesetting GPU screen is created, so this path is not 
exercised.
  Reproducing this report needs a monitor on the dGPU.
  
  
- RELATED
+ # RELATED
  
  Bug #2161262 reports the same (EE) modeset(G0): Failed to create pixmap from 
the
  modesetting driver claiming the NVIDIA as a GPU screen, with a different
  trigger.
  
  
- WORKAROUND
+ # WORKAROUND
  
  Hold the four packages at 2:21.1.12-1ubuntu1.5:
  
-   sudo apt-mark hold xserver-xorg-core xserver-common xserver-xorg-
+   sudo apt-mark hold xserver-xorg-core xserver-common xserver-xorg-
  legacy xserver-xephyr
  
  
- NOTES
+ # NOTES
  
  Filed manually rather than with ubuntu-bug xorg-server because the machine is
  currently running the working 1.5 packages, so ubuntu-bug would collect the
  working state rather than the failing one. The equivalent information is
  included above and in the attachments.
  
  The attached logs are verbatim except for three substitutions: HOSTNAME,
  REDACTED-FS-UUID, and EDID serial (as REDACTED).
  
- 
  (Report drafted with AI assistance; all tests were manually performed and
  verified on this machine.)

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

Title:
  xorg-server 1ubuntu1.7+: X fails to start on AMD+NVIDIA hybrid when a
  monitor is attached to the dGPU

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


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

Reply via email to