Failure to resume from suspend since version 460: "Display engine push buffer channel allocation failed"

My desktop fails to resume from (ram) suspend on nvidia-460. I’ve tried at least versions 460.67, 460.39 and the beta 465.19.01. Specifically, upon resume, the screen does not come back, and after a few seconds I see the following lines in dmesg:

Apr 13 11:41:03 goffrie-l15 kernel: nvidia-modeset: ERROR: GPU:0: Display engine push buffer channel allocation failed: 0x65 (Call timed out [NV_ERR_TIMEOUT])
Apr 13 11:41:03 goffrie-l15 kernel: nvidia-modeset: ERROR: GPU:0: Failed to allocate display engine core DMA push buffer

The system is still accessible via ssh, but anything display-related hangs (e.g. xrandr, chvt).

It works fine on 455.05.01, so I’ve been staying on that version. This is on Arch Linux, on a desktop with a GTX 1080. I have the same issue on NixOS too (on the same hardware).

I’ve attached an nvidia-bug-report from 465.19.01. Some of the commands run by the script hung so I killed them (e.g. vulkaninfo, nvidia-smi) to get the log completed. nvidia-bug-report.log.gz (130.4 KB)

1 Like

Known bug, no fix so far:
https://forums.developer.nvidia.com/t/regression-460-series-black-screen-on-boot-nvidia-modeset-error-gpu-failed-to-allocate-display-engine-core-dma-push-buffer/165598/16