Problem with resume from suspend (Ubuntu 16.04, GT 940MX)

I have the same problem and find SOLUTION.

Short answer, whats happens - in resume process Linux (+systemd) forget to turn on monitor. So to solve problem only just need to turn on monitor.

Short solution (fast test is it helps for you or not)
Ctrl+Alt+F1, you see login prompt, login as normal user (not root) and do (one line command):
chvt 7 ; sleep 3; xrandr --display :0.0 --auto

Long solution
Install 360 driver and install all nvidia-*.service & install /usr/bin/nvidia_sleep.sh
Install 470 driver (which does not contains this systemd services in /usr/share/doc/nvidia-* folders).
Edit /usr/bin/nvidia_sleep.sh
and in resume section after chvt command add under your xserver user:
sleep 3; xrandr --display :0.0 --auto

Also need to add root (may be other) as XServer user, so under your working XSession you need to allow root to execute xrandr:
edit /etc/X11/xinit/xinitrc and add:
xhost +localhost
or
xhost +root@localhost
check it works:
sudo su -l xrandr
should work.

Long explanation (for NVidia)
Asus N550JK, NVIDIA GeForce GTX 850M, XUbuntu 20.04, NVidia card in performance mode. No special keys in kernel boot parameters (except resume, for hibernation)

I have few years installed XUbuntu 16 & 18 WITHOUT such kind problems (but with complex suspend/resume process which avoid in this case systemd usage, but sometimes just enter my password to blank screen and system successful wakeup, as for me looks like buggy screensaver).
I install XUbuntu 20.04 and got a annoying problem, after suspend I have blank screen and helps only reboot.
I can switch to chvt 1 console (Ctrl+Alt+F1) see login prompt, can login, see X processes works fine (ps aux | grep X), cry.
As I already do with XUbuntu 18 I just Ctrl+Alt+F7 and enter password into plank screen and nothing happens (but actually I unlock my screen lock program and see working screen without image). I good know difference between no backlight problem and no any image problem for my notebook (I replace old LCD and have a lot of fun with Analog/Digital backlight control in BIOS level). When backlight is missing - you can use powerful light source and can see image image on screen, but in this case I see no any image. So NVidia driver does not display GRAPHICAL picture at all (but text mode on chvt 1 works fine and reboot splash screen works fine (O^O)). journalctl does not show any problems.
I choice 360 or 470 driver (performance mode). Both have problem with resume from suspend.

So I got idea what happens:

  • systemd get command to suspend
  • systemd run xflock4
  • user close lid
  • systemd understands that user go out, remove xflock4 and turn off monitor
  • actual system suspend happens
  • notebook remember that display is turned off
  • successful wakeup process
  • but systemd forget to turn on display, but NVidia driver remember that display is turned off, so just show noting to this DISPLAY=:0.0
  • manual (using chvt 1) display turn on using xrandr solve problem

P.S. NVidia driver control program can create /etc/X11/xorg.conf file - do not do that, if you create it - remove it.

Good Luck :)