Headless server blank screen before login

That has nothing to do with your issue, also it’s possible but fiddly.

I don’t know what you did so far but I guess that you simply ran vncserver and then connected to it, then you saw a black screen. Correct?
vncserver does not connect to the real Xserver running on the nvidia gpu but spawns a virtual Xserver running in software. Without further config, this won’t run a desktop or anything but you will see a naked Xserver, a black screen.
If you want to connect to the real Xserver, you’d have to use x11vnc/vnc0server.