@apol1o Hello again.
Thanks a lot for the thoughtful answer.
I will be trying the linux-clear kernel, see if it hs better drivers for this situation.
journalctl -b-1 -o short-precise -k -p 4
is flooded with the following lines
i915 0000:00:02.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080
which does seem related to driver issues.
I am indeed using kernel mode setting, with
MODULES=(i915)
in my /etc/mkinitcpio.conf
. I tried with and without, but same problem of “black screen / visible mouse” seems to happen.
As far as DMPS is concerned, I can indeed turn the screen on and off with xset dpms force on | off
, but in my case, after resume, the DPMS seems to already be on. Namely, I can see the mouser cursor moving, and even use the Xf86Brightness key to control brightness. Only the desktop does not seem to be rendered at all (or covered by a huge black window mask).
In any case, will try to look deeper at how to control the DPMS more precisely before and after the resume, might get lucky too.
UPDATE: Hibernation (systemctl hibernate
) now working as expected after installing linux-clear-bin
. Huge thanks @apol1o .
I looked it up and it seems like a kernel specialized for intel CPU / GPU ? so it might have more suited graphics drivers. It even works with Kernel Mode setting.
UPDATE 2: While the previous update does mention that hibernation works, there is a potentially serious caveat at stake. I have experimented around with three different kernels: linux
from the official Arch packages, linux-clear
and linux-clear-bin
from the AUR.
It turns out that hibernation is working on linux-clear-bin
because some i915 are not working / not compiled in said kernel (throws up a a few error messages on boot, such as Failed to initialized GuC
or GPU marked as wedged
. So while hibernation works, the GPU / rendering features performances is quite bad. I realized this when trying to do some 3D modeling with blender. It was very slow even with the basic project. Beside that, it seems that battery does not hold as well as it did using the linux
kernel, but it might be due to different use cases.
However, linux
and linux-clear
kernels seem to have better i915 GPU driver support (no glaring i915 related errors thrown on boot). This seems to be corroborated by the fact that blender 3D rendering runs way smoother, compared to linux-clear-bin
.
So to sum it up:
linux-clear-bin = 5.19.11.1191-1
: sub optimal i915 GPU driver, which happen to break the thing that prevents hibernation (suspend-to-disk) from working
linux = 5.19.11.arch1-1
(Arch repo) and linux-clear = 5.19.11-1
(AUR) have better i915 drivers, but something in there prevents proper hibernation.
I guess I will have to wait for linux kernel that has better i915 graphics support to get the best of both world. Too bad the recent 5.19.12 is broken as of now (2022-09-30)