Does it also restore the content of unsaved files of the application?
That’s up to the application.
If not, I’ll prefer
systemctl hibernate
. I wonder, what this new feature is for.
I believe this is for storing the position of specific windows, for multi-window applications (e.g. GIMP’s multi-window mode). So hibernation is very unrelated.
My understanding is that most of that all lives in mesa, and the kernel driver basically just abstracts the hardware.