Skip to content

RTX 2070 Mobile Max-Q (TU106BM, 256 MiB BAR1, no iGPU): Chrome + GNOME 50 Wayland exhausts BAR1 VA space → Xid 31 → RC watchdog GPU lock (nvidia-open 595.84) #1303

Description

@rldyourmnd

NVIDIA Open GPU Kernel Modules Version

595.84 (Ubuntu package nvidia-driver-595-open / linux-modules-nvidia-595-open-7.0.0-29-generic 7.0.0-29.29+1)

Module: /lib/modules/7.0.0-29-generic/kernel/nvidia-595-open/nvidia.ko
version: 595.84
license: Dual MIT/GPL
srcversion: BD1D47423BFEE276D2FF18D

Proprietary driver confirmation

I have not A/B tested the closed kernel module on this laptop, so I cannot tick the “does not happen with proprietary” box.

This report is filed because this machine ships and runs the open KMD from Ubuntu 26.04. The failure sequence (dmaAllocMapping_GM107mapping_reuse.c:273 NV_ERR_NO_MEMORYkrcWatchdog: GPU is probably locked) matches the already-open class in this repo and NVIDIA forum bug 5762513. Happy to install nvidia-driver-595 (closed) and retest if that is required.

Operating System and Version

Ubuntu 26.04 LTS (Resolute Raccoon)

Kernel Release

Linux rldyourmnd-server-omen 7.0.0-29-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 17 20:52:35 UTC 2026 x86_64 GNU/Linux

Stable Ubuntu generic kernel (not an -rc). I did not build it.

Hardware: GPU

GPU 0: NVIDIA GeForce RTX 2070 with Max-Q Design (UUID: GPU-19a14d26-7fe3-0ec6-1bd6-8af6010e8f01)

  • PCI: 01:00.0 TU106BM [10de:1f50]
  • Machine: HP OMEN Laptop 15-dc1xxx, BIOS F.29 (2023-12-12)
  • VRAM: 8192 MiB
  • BAR1: fixed 256 MiB (nvidia-smi and lspci Region 1 size=256M). No Resizable BAR advertised.
  • No Intel iGPU0000:00:02.0 is absent (firmware mux / discrete-only). GNOME uses nvidia-drm as the only display GPU (eDP-1).
  • prime-select: on-demand (no iGPU to offload to)

Describe the bug

After a long GNOME Wayland session with Google Chrome, the NVIDIA open KMD exhausts BAR1 VA space. Atomic modeset then fails, Chrome’s GPU process hits Xid 31, and the RC watchdog declares the GPU locked. The display and pointer freeze; CPU, journald and audio keep running. Recovery requires a hard power cycle. nvidia-drm never recovers the scanout.

This is the same BAR1 / mapping-reuse failure class as #1187 (Turing 256 MiB BAR1 + Chromium), #1134 (Xid 31 under Chromium), #1140, #1270, and NVIDIA forum thread 353598 (internal 5762513).

This report adds a laptop / discrete-only / GNOME 50 datapoint on 595.84 (newer than the 595.71.05 reports).

Two incidents on the same host, same GPU UUID:

Date Trigger process First Xid after VA exhaustion Outcome
2026-08-09 04:03:54 +05 ptyxis + chrome Xid 56, 13, 44 reboot ~2 min later
2026-08-17 06:19:53 +05 chrome pid 2356631 Xid 31 MMU FAULT_PTE @ 0x0 GPU locked until hard power at 06:28:30

System RAM was not exhausted (~10 GiB used of 30 GiB, swap empty, no oomd). This is BAR1 mapping failure, not host OOM and not a thermal shutdown (GPU ~55–60 °C after reboot; no throttle/shutdown Xids).

To Reproduce

Not a single-URL 100% repro on this machine (the 2026-08-17 lock happened after ~36 h uptime / ~30 h Chrome). Preconditions that preceded both locks:

  1. Boot Ubuntu 26.04, GNOME 50.1 Wayland, nvidia-open 595.84, nvidia_drm.modeset=1.
  2. Laptop is discrete-only: Mutter selects /dev/dri/card1 (nvidia-drm) as the primary/display GPU.
  3. Leave Google Chrome (here 151.0.7922.108, --ozone-platform=wayland) open for many hours with multiple windows. Other GPU clients also present (gnome-shell, ptyxis, telegram-desktop).
  4. Continue normal desktop use (browsing / opening additional Chrome windows).
  5. Eventually the kernel emits the sequence below. Display and cursor freeze; audio continues. New Chrome scopes still start and die in 2–6 s. RC watchdog repeats every ~7 s until power-off.

Chrome had also logged '--ozone-platform=wayland' is not compatible with Vulkan at session start, and a 137 s compositor stall ~50 minutes before the 2026-08-17 lock (recovered). The lock itself lasted until the hard power (~8.5 minutes of GPU is probably locked).

Ubuntu 26.04 / GNOME 50 no longer ships an X11 session (/usr/share/xsessions is absent), so I cannot compare Xorg on this install.

Bug Incidence

Sometimes (at least twice in 8 days on this host; both after long-lived Chrome + Wayland compositor).

nvidia-bug-report.log.gz

I cannot attach an official nvidia-bug-report.sh dump from this environment: the script requires root, and this session has no TTY for sudo. The crash boot was ended by a hard power-off, so a report from the current boot would not contain the faulting GPU state anyway.

Crash evidence is the persistent journal from the previous boot, plus a current-boot hardware snapshot:

I can run sudo nvidia-bug-report.sh and attach the .gz in a follow-up comment as soon as I have a root TTY, if you still want the template file.

More Info

2026-08-17 06:19:53 +05 — first frames of the lock

NVRM: dmaAllocMapping_GM107: can't alloc VA space for mapping.
NVRM: nvAssertOkFailedNoLog: Assertion failed: Out of memory [NV_ERR_NO_MEMORY] (0x00000051)
      returned from pReuseMappingDb->pMapCb(...) @ mapping_reuse.c:273
[drm] [nvidia-drm] [GPU ID 0x00000100] Failed to ioremap_wc NvKmsKapiMemory 0x00000000194c980b
[drm:nv_drm_atomic_apply_modeset_config [nvidia_drm]] *ERROR* Failed to initialize semaphore for plane fence
[drm:nv_drm_atomic_commit [nvidia_drm]] *ERROR* Failed to apply atomic modeset.  Error code: -11
NVRM: Xid (PCI:0000:01:00): 31, pid=2356631, name=chrome, channel 0x00000013, intr 00000000.
      MMU Fault: ENGINE GRAPHICS GPC1 GPCCLIENT_RAST faulted @ 0x0_00000000.
      Fault is of type FAULT_PTE ACCESS_TYPE_VIRT_READ
NVRM: krcWatchdog_IMPL: RC watchdog: GPU is probably locked!  Notify Timeout Seconds: 7

Watchdog then fired every ~7 s until 06:28:05. Chrome later reported CompositorAnimationObserver is active for too long (459s) — matching a freeze that started at the Xid. Userspace (including new Chrome launches) kept running; only scanout/cursor died. That matches “audio still playing, picture frozen”.

2026-08-09 04:03:54 +05 — previous incident, same GPU UUID

Same can't alloc VA space / mapping_reuse.c:273, then:

Xid 56 (display)
Xid 13, pid=6132, name=ptyxis  (Graphics SM Warp Exception: Illegal Instruction Encoding)
Xid 44, pid=6323, name=chrome
[nvidia-drm] Failed to ioremap_wc NvKmsKapiMemory

What I expected

A userspace GL client (Chrome) that exhausts BAR1 should get an allocation failure it can survive (lose the GPU process / tab). The display GPU should not stay wedged: atomic commit -11 should not permanently stop page flips, and krcWatchdog should recover or reset the engine instead of looping until the user holds the power button.

Current BAR1 (healthy boot, ~40 min uptime)

BAR1 Memory Usage
    Total : 256 MiB
    Used  :  49 MiB
    Free  : 207 MiB

lspci Region 1 is 256M prefetchable; no ReBAR capability advertised. Turing laptop vBIOS does not expose Resizable BAR, so the BIOS mitigation NVIDIA mentioned for 5762513 is not available here without firmware mods (not willing to flash an HP laptop BIOS).

Related:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions