[Regression 460 series] Black screen on boot: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer

I am seeing a similar error, machine boots ok but after suspend/resume shows a black screen then after ~120 seconds an error message. This is with nvidia-460 on a Razr Blade 15" (2018) with external monitors. Enabling CSM did not help. [also nvidia-drm.modeset=1 does not help].

Are you sure this isn’t just a regression? I’ve not seen this error previously in 18 months or so of using this laptop, and the laptop is newer hardware.

[  309.142164] nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
[  309.142319] nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
[  313.142165] nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
[  313.142348] nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
[  313.151885] acpi LNXPOWER:08: Turning OFF
[  313.151898] acpi LNXPOWER:04: Turning OFF
[  313.152351] acpi LNXPOWER:03: Turning OFF
[  313.153064] acpi LNXPOWER:02: Turning OFF
4 Likes

Actually, turns out I can’t: Activating CSM on that laptop happens implicitly only after the following steps:

  • Disable SecureBoot (which leads to loss of functionality and safety, but fine for a test). Doing this alone does not change anything, I still see the issue.
  • Enable “Load legacy option ROMs”. This also means the legacy graphics will be loaded, and while my Linux EFI bootloader refind is still seen by the UEFI, it does not load it anymore.

So it seems enabling CSM and booting via UEFI is not possible with this UEFI.

Other ideas welcome. Also, please let me know if this issue should be reported to the nvidia bug report mail or whether reporting in these forums is sufficient to raise awareness. While my hardware is old(ish), I’m still reluctant to accept this is not a regression, given that this is new behaviour with the R460 series on my hardware, and seeing the reports by others.

1 Like

I am getting the same error. every time when the computer resumes after suspending

1 Like

Same problem here when I close and then open the laptop lid, anybody knows if is there a fix now?

I have the same issue on my machine. I also notice the same error in my log files:

 kernel: nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
 kernel: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
 kernel: ahci 0000:00:17.0: port does not support device sleep
 kernel: ata5.00: Enabling discard_zeroes_data
 kernel: nvme nvme0: 12/0/0 default/read/poll queues
 kernel: nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
 kernel: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
 kernel: nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
 kernel: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
 kernel: ata5.00: Enabling discard_zeroes_data
 kernel: nvme nvme0: 12/0/0 default/read/poll queues
 kernel: nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
 kernel: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
 kernel: nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
 kernel: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer
 kernel: fbcon: Taking over console
 kernel: acpi LNXPOWER:08: Turning OFF
 kernel: acpi LNXPOWER:04: Turning OFF
 zim kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
 kernel: acpi LNXPOWER:03: Turning OFF
 kernel: acpi LNXPOWER:02: Turning OFF
 kernel: OOM killer enabled.
 kernel: Restarting tasks ... 
 kernel: pci_bus 0000:07: Allocating resources
 kernel: pci_bus 0000:3d: Allocating resources

I also tried various bios switches. Enable CSM, Disable secure boot. But nothing mattered.

I’ve run in the same issue, see my duplicate help request (I’m sorry about making a duplicate). Today I’ve tried various bioses for my HP zbook studio G3 (Nvidia Quadro M1000M) but it didn’t help. I played around with secure boot and legacy bios modus. Nothing worked.

Added to the issue of crashing on waking from sleep I experience problems with audio over HDMI. Where my tv was able to provide audio with the 450 drivers I’m unable to have it work under the 460 drivers. Independent whether I use the On-Demand or Nvidia (Performance Mode). Neither was I able to make it work on my Intel (Power Saving Mode) although that wasn’t possible with the 450 drivers either.

As a side note my HDMI connector is linked to the Nvidia card and I needed to wait on the reverse prime to be able to use Nvidia On-Demand when using my HDMI connection instead of my internal screen. I’m not sure if this detail matters for our current issue.

Note that this still happens for me with 460.56 (but there was also no related change in the release notes). If a new bug report might be helpful for further investigation, just let me know.

The model numbers this update broke is quite high and even recent ones like the lenovo legion 7 are affected. The bios update lenovo provided for that only fixed the situation running windows. I really don’t know where this is leading.

I’m pretty sure this is a regression as I was working fine with Ubuntu 18.04 with a 410.x driver . I’m now running 460.39 under Ubuntu 20.10. The hardware is HP Zbook Studio G3 with Quadro M1000M GPU.

I have the same issue with the 460.39 driver on Ubuntu 20.04/Kernel 5.8.0 on Dell Precision 7510 with Quadro M2000M.

Exactly the same happens on my Razor 15" (2018) without any external monitor. NVIDIA GeForce GTX 1060 Max-Q. It happened on Ubuntu 20.04 and still happens on Ubuntu 20.10. Branches 450 and 460 both does not work properly. Only the legacy version 390 works correctly.

This started happening for me (black screen when resuming after suspend) after an automatic update to 460.32.03 from 455.38 (see history.log file). I’m on an Acer Aspire 7 with NVIDIA GeForce GTX 1050, with Ubuntu 20.04.2 LTS.

I’ve been circumventing the issue by keeping my PRIME Profile on ‘Intel (Power Saving Mode)’ unless I’m using some more graphics intensive software.

12-01-12_history.log (12.8 KB) nvidia-bug-report.log.gz (403.8 KB)

Same issue on a Lenovo IdeaPad L340 with NVIDIA GeForce GTX 1050, Ubuntu 20.04.2 LTS. Only happens when coming back from sleep mode.

Happens to me as well on a Lenovo Legion Y720 with Ubuntu 20.04 , driver 460 . If I have a second monitor attached via the HDMI port screen doesn’t stay blank. In fact if I remove the second monitor suspend still works until the laptop is rebooted without the second monitor. So if I want suspend to work I just need to connect a second monitor, then remove it. If I switch to my Intel card using prime-select this also works.

I’ve rolled back to 450 drivers. But came back here to see whether a fix was found or developed by nvidia.
Now the new driver 465.24.02 notes discusses various regressions that are fixed. It is unclear however whether our problem is in that list. I don’t think it is, but there is the mention of a regression related to suspend behaviour. Is it worth testing these drivers? Or is it better to wait longer for a new production branch driver?

I’ve tested the 465 drivers but they are susceptible to the same issue. :-(
Sadly after rolling back to the 450 drivers I have run into another issue, ubuntu keeps pushing me to update. How do I block these updates?

bram@bram-Zbook:~$ sudo apt list --upgradable
Bezig met oplijsten... Klaar
libnvidia-cfg1-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-common-450/focal,focal 460.73.01-0ubuntu0.20.04.2 all [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-compute-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-compute-450/focal 460.73.01-0ubuntu0.20.04.2 i386 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-decode-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-decode-450/focal 460.73.01-0ubuntu0.20.04.2 i386 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-encode-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-encode-450/focal 460.73.01-0ubuntu0.20.04.2 i386 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-extra-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-fbc1-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-fbc1-450/focal 460.73.01-0ubuntu0.20.04.2 i386 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-gl-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-gl-450/focal 460.73.01-0ubuntu0.20.04.2 i386 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-ifr1-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
libnvidia-ifr1-450/focal 460.73.01-0ubuntu0.20.04.2 i386 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
nvidia-compute-utils-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
nvidia-dkms-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
nvidia-driver-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
nvidia-kernel-common-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
nvidia-kernel-source-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
nvidia-utils-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
xserver-xorg-video-nvidia-450/focal 460.73.01-0ubuntu0.20.04.2 amd64 [opwaardeerbaar van: 450.119.03-0ubuntu0.20.04.1]
1 Like

For those people running into this only after suspend/resume: please check if setting up this:
https://download.nvidia.com/XFree86/Linux-x86_64/460.67/README/powermanagement.html
prevents the freeze on resume.

I followed that guide but it didn’t aid me in any way. Still a hard-freeze after resume is done.

I also tried the beta driver which sets up most of the stuff in the guide directly but that behaved even weirder with my card.

But I’m a bit curios cause I don’t think experienced this issue when running Fedora 34 on the same machine. Then I switched to Ubuntu 20.04 and the issue came back…:/

I’ll try this out next week, but I’m not entirely sure why this should help. From what I understand the proposed fix relates to memory issues on suspend. There are a couple of things that I don’t get, specifically:
The GPU state saved by the NVIDIA kernel drivers includes allocations made in video memory. However, these allocations are collectively large, and typically cannot be evicted. Since the amount of system memory available to drivers at suspend time is often insufficient to accommodate large portions of video memory, the NVIDIA kernel drivers are designed to act conservatively, and normally only save essential video memory allocations.

  • My graphics card has only 4043MiB of memory, that is not much, the fix discusses cases where this amount of memory could not be stored before hibernation.
  • The issue also appears when using Nvidia Prime On-Demand where the Nvidia X Server Settings indicates a usage of 8MB of graphic memory utilization. There is certainly enough space to store this during hibernation.
  • Why did this issue not appear in previous drivers if this is related to the problem of to little allocation for video-memory storage during hibernation.

My Quadro M1000M does not support S0ix based power management. Hence I’ll try the /proc/driver/nvidia/suspend + Save allocations in an unnamed temporary file approach. But there I’m having issues as well, it indicates the use of services, such as nvidia-suspend.service, which I cannot find. Neither in the /etc/systemd/system/ folder, nor can I find the folder /usr/share/doc/NVIDIA_GLX-1.0/samples.
If I need these services, where can I obtain them?