My problem is simple. From time to time, my screen goes suddenly white. However, when this happens, I run systemctl suspend and after awakening, the screen is back to normal.
I would like to run a command to restore the screen without needing to first suspend. Do you think this would be possible?
I would think that all what is needed are the commands which deal with graphical components when awakening, but are these in any way accessible?
Thanks for the support.
Welcome to the forum!
The only systems I’ve ever seen this happen with were machines with AMD graphics hardware. Is this the case for your system too?
I do not know whether it’s the driver that’s responsible for this or whether it’s a bug in the AMD hardware itself, but a suspend and waking up resets the hardware and reloads the kernel and the drivers.
To the best of my knowledge, neither of those two things can be changed from within a running system. The hardware cannot be reset other than by a reboot — suspending the system encompasses a reboot when waking up — and the graphics driver cannot be reset because it is part of the kernel, and once it grabs hold of the GPU, it cannot be unloaded anymore.
At least, such is my experience. Your mileage may vary.
It is a laptop with Intel CPU and Nvidia GPU, although I don’t know if the Nvidia is actually being used.
Thanks for your quick reply, it is interesting to know. Do you think then that most probably there’s no workaround? Like a command
I found a similar problem and solution with respect to audio, which was not working after awakeing, but restored with
systemctl --user restart pulseaudio.service
Well, sound is a different thing in this regard. PulseAudio is a service that runs in userspace, on top of the in-kernel sound system.
Userspace components run in isolated memory address spaces and in the lowest-privilege ring of the processors, so they can always be restarted, but you cannot do that with kernelspace components without reloading the kernel itself.