Help Inquiry: Trouble with GNOME 40.4 + GDM on Alpine 3.14.1 Edge with Linux LTS

I apologize for my ignorance in how to solve this on my own, but I’ve been triaging this for almost two years now across three different machines. So, I would love to get some help/ideas on what I’m doing wrong.

Current machine: Geo GeoBook 120 Minecraft Edition

Prior Machine: HP EliteBook 2740p

Prior Machine: i7-6700k with GTX 1050TI

I’m using Alpine Linux Edge (3.14.1 with Linux LTS) on the GeoBook Geo 120. I have installed Alpine with the LTS kernel, the linux-firmware-intel, linux-firmware-i915 packages, setup-xorg-base, xf86-video-intel, added a user (alpine, id 1000), added alpine to video,input groups, added gdm to default runlevel with openrc.

The machine boots and works just fine. The problem comes when GDM (I think handles this?) suspends the monitor for say, screen-save timeout at 5min of idle. Upon moving the mouse or pressing a key, the screen does not come back on.

I need to re-invoke GDM with CTRL+ALT+F1 and wait for it to come back. This behavior is also what happens for suspend/resume, and hibernate/resume, though the actual processes of suspend/hibernate themselves work fine. I just need to re-invoke GDM every time.

After I do this, I can login and work with my session for a while, but things will be odd (Night Light won’t be on if appropriate) and I usually will get unceremoniously and without warning punted back to the greeter to login, whereupon my session has been reset.

I’ve tried to grep dmesg, but to be honest, I have no idea what I need to be looking for.

Any input would be very much appreciated.


/etc/group

root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root,adm,alpine
lp:x:7:lp,alpine,root
mem:x:8:
kmem:x:9:
wheel:x:10:root,alpine
floppy:x:11:root,alpine
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:man
cron:x:16:cron
console:x:17:
audio:x:18:pulse,alpine,root
cdrom:x:19:alpine,root
dialout:x:20:root,alpine
ftp:x:21:
sshd:x:22:
input:x:23:root,alpine
at:x:25:at
tape:x:26:root,alpine
video:x:27:root,alpine
netdev:x:28:
readproc:x:30:
squid:x:31:squid
xfs:x:33:xfs
kvm:x:34:kvm,alpine,root
games:x:35:alpine,root
shadow:x:42:
cdrw:x:80:alpine,root
www-data:x:82:
usb:x:85:alpine,root
vpopmail:x:89:
users:x:100:games,alpine,root
ntp:x:123:
nofiles:x:200:
smmsp:x:209:smmsp
locate:x:245:
abuild:x:300:
utmp:x:406:
ping:x:999:
nogroup:x:65533:
nobody:x:65534:
messagebus:x:101:messagebus
flatpak:x:102:flatpak
polkitd:x:103:polkitd
plugdev:x:104:root,alpine
pulse-access:x:105:alpine,root
pulse:x:106:pulse,alpine,root
scanner:x:107:alpine,root
colord:x:108:colord
geoclue:x:109:geoclue
gdm:x:110:gdm
alpine:x:1000:
camera:x:111:
lpadmin:x:112:alpine,root
avahi:x:86:avahi

/proc/cmdline

BOOT_IMAGE=/boot/vmlinuz-lts root=/dev/mapper/vg0-lv_root ro modules=sd-mod,usb-storage,ext4 quiet acpi_osi=Linux intel_pstate=active intel_pstate=powersave i915.enable_guc=2 random.trust_cpu=on rootfstype=ext4

rc-update

                acpid |      default                           
            bluetooth |      default                           
             bootmisc | boot                                   
             cpupower |      default                           
                crond |      default                           
                cupsd |      default                           
                 dbus |      default                           
                devfs |                                 sysinit
                dmesg |                                 sysinit
                 fuse |      default                           
                  gdm |      default                           
             hostname | boot                                   
              hwclock | boot                                   
            killprocs |                        shutdown        
             loadkmap | boot                                   
                  lvm | boot                                   
              modules | boot                                   
             mount-ro |                        shutdown        
           networking | boot                                   
       networkmanager |      default                           
                 ntpd |      default                           
           pulseaudio |      default                           
            savecache |                        shutdown        
              sensord |      default                           
               smartd |      default                           
                 sshd |      default                           
                 swap | boot                                   
               sysctl | boot                                   
               syslog | boot                                   
                  tlp |      default                           
                 udev |                                 sysinit
       udev-postmount |      default                           
         udev-trigger |                                 sysinit
              urandom | boot                                   
       wpa_supplicant | boot                                   

lsmod

Module                  Size  Used by
rfcomm                 49152  12
ctr                    16384  2
ccm                    20480  6
cmac                   16384  3
algif_hash             16384  1
algif_skcipher         16384  1
af_alg                 28672  6 algif_hash,algif_skcipher
bnep                   20480  2
msr                    16384  0
joydev                 24576  0
mousedev               24576  0
uvcvideo              114688  0
btusb                  49152  0
videobuf2_vmalloc      16384  1 uvcvideo
btrtl                  16384  1 btusb
videobuf2_memops       16384  1 videobuf2_vmalloc
btbcm                  20480  1 btusb
videobuf2_v4l2         36864  1 uvcvideo
btintel                28672  1 btusb
videobuf2_common       65536  2 videobuf2_v4l2,uvcvideo
bluetooth             483328  41 btrtl,btintel,btbcm,bnep,btusb,rfcomm
hid_generic            16384  0
videodev              282624  3 videobuf2_v4l2,uvcvideo,videobuf2_common
ecdh_generic           16384  2 bluetooth
mc                     57344  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
uas                    28672  0
ecc                    36864  1 ecdh_generic
usbhid                 45056  0
nls_utf8               16384  1
nls_cp437              20480  1
coretemp               16384  0
vfat                   20480  1
fat                    86016  1 vfat
hwmon                  32768  1 coretemp
spi_pxa2xx_platform    28672  0
intel_pmc_bxt          16384  0
intel_telemetry_pltdrv    24576  0
intel_punit_ipc        16384  1 intel_telemetry_pltdrv
intel_telemetry_core    20480  1 intel_telemetry_pltdrv
snd_hda_codec_hdmi     69632  1
x86_pkg_temp_thermal    16384  0
rtw88_8821ce           16384  0
rtw88_8821c            77824  1 rtw88_8821ce
rtw88_pci              28672  1 rtw88_8821ce
snd_sof_pci            20480  0
snd_sof_intel_byt      16384  1 snd_sof_pci
snd_sof_intel_ipc      16384  1 snd_sof_intel_byt
snd_sof_intel_hda_common    77824  1 snd_sof_pci
rtw88_core            155648  2 rtw88_pci,rtw88_8821c
kvm_intel             311296  0
snd_hda_codec_realtek   147456  1
snd_sof_xtensa_dsp     16384  2 snd_sof_intel_hda_common,snd_sof_intel_byt
snd_sof_intel_hda      16384  1 snd_sof_intel_hda_common
kvm                   917504  1 kvm_intel
snd_sof               114688  4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
snd_hda_codec_generic    94208  1 snd_hda_codec_realtek
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_sof
irqbypass              16384  1 kvm
crct10dif_pclmul       16384  1
ghash_clmulni_intel    16384  0
snd_soc_skl           147456  0
mei_hdcp               20480  0
snd_soc_hdac_hda       20480  2 snd_sof_intel_hda_common,snd_soc_skl
snd_hda_ext_core       32768  4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
mac80211              913408  2 rtw88_pci,rtw88_core
snd_soc_sst_ipc        16384  1 snd_soc_skl
i2c_designware_platform    16384  0
i2c_designware_core    24576  1 i2c_designware_platform
intel_rapl_msr         16384  0
snd_soc_sst_dsp        36864  1 snd_soc_skl
snd_soc_acpi_intel_match    45056  3 snd_sof_pci,snd_sof_intel_hda_common,snd_soc_skl
snd_soc_acpi           16384  4 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_soc_skl
aesni_intel           368640  8
crypto_simd            16384  1 aesni_intel
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
glue_helper            16384  1 aesni_intel
snd_hda_intel          49152  3
snd_intel_dspcfg       24576  4 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common,snd_soc_skl
rapl                   16384  0
intel_cstate           16384  0
soundwire_intel        40960  2 snd_sof_intel_hda_common,snd_intel_dspcfg
pcspkr                 16384  0
soundwire_generic_allocation    16384  1 soundwire_intel
i915                 2674688  14
wdat_wdt               16384  0
cfg80211              958464  2 rtw88_core,mac80211
evdev                  24576  19
input_leds             16384  0
intel_xhci_usb_role_switch    16384  0
snd_soc_core          299008  5 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
lpc_ich                28672  0
efi_pstore             16384  0
serio_raw              16384  0
i2c_hid                28672  0
i2c_i801               32768  0
snd_compress           20480  1 snd_soc_core
rfkill                 28672  6 bluetooth,cfg80211
pwm_lpss_pci           16384  0
roles                  16384  1 intel_xhci_usb_role_switch
i2c_smbus              16384  1 i2c_i801
pwm_lpss               16384  1 pwm_lpss_pci
libarc4                16384  1 mac80211
thermal                20480  0
fan                    16384  0
soundwire_cadence      28672  1 soundwire_intel
hid                   139264  3 i2c_hid,usbhid,hid_generic
drm_kms_helper        274432  1 i915
tpm_crb                16384  0
tpm_tis                16384  0
tpm_tis_core           24576  1 tpm_tis
snd_hda_codec         163840  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
tpm                    69632  3 tpm_tis,tpm_crb,tpm_tis_core
cec                    49152  2 drm_kms_helper,i915
ac                     16384  0
battery                20480  0
video                  49152  1 i915
rng_core               16384  1 tpm
snd_hda_core          106496  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hwdep              16384  1 snd_hda_codec
drm                   602112  8 drm_kms_helper,i915
int3403_thermal        16384  0
intel_gtt              24576  1 i915
snd_pcm               122880  10 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core
int3400_thermal        16384  0
intel_hid              20480  0
agpgart                49152  2 intel_gtt,drm
acpi_thermal_rel       16384  1 int3400_thermal
i2c_algo_bit           16384  1 i915
snd_timer              40960  1 snd_pcm
ipv6                  585728  42
fb_sys_fops            16384  1 drm_kms_helper
processor_thermal_device    16384  0
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
snd                   102400  16 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
sysimgblt              16384  1 drm_kms_helper
mei_me                 36864  1
intel_rapl_common      24576  2 intel_rapl_msr,processor_thermal_device
sparse_keymap          16384  1 intel_hid
intel_lpss_pci         24576  6
intel_lpss             16384  1 intel_lpss_pci
af_packet              53248  10
i2c_core               98304  10 i2c_designware_platform,videodev,i2c_hid,i2c_designware_core,drm_kms_helper,i2c_algo_bit,i2c_smbus,i2c_i801,i915,drm
soundcore              16384  1 snd
intel_ish_ipc          28672  0
int340x_thermal_zone    16384  2 int3403_thermal,processor_thermal_device
intel_soc_dts_iosf     16384  1 processor_thermal_device
idma64                 20480  0
mei                   110592  3 mei_hdcp,mei_me
virt_dma               16384  1 idma64
mfd_core               16384  3 intel_pmc_bxt,intel_lpss,lpc_ich
tiny_power_button      16384  0
intel_ishtp            57344  1 intel_ish_ipc
button                 16384  0
fuse                  139264  3
efivarfs               16384  1
dm_mod                151552  6
mmc_block              49152  3
crc32_pclmul           16384  0
crc32c_intel           24576  2
xhci_pci               20480  0
xhci_pci_renesas       16384  1 xhci_pci
xhci_hcd              270336  1 xhci_pci
ahci                   40960  0
libahci                45056  1 ahci
libata                286720  2 libahci,ahci
sdhci_pci              61440  0
cqhci                  24576  1 sdhci_pci
sdhci                  65536  1 sdhci_pci
mmc_core              176128  4 sdhci,cqhci,mmc_block,sdhci_pci
loop                   40960  0
ext4                  909312  1
crc16                  16384  2 bluetooth,ext4
mbcache                16384  1 ext4
jbd2                  143360  1 ext4
usb_storage            73728  1 uas
usbcore               286720  7 xhci_hcd,usbhid,usb_storage,uvcvideo,btusb,xhci_pci,uas
sd_mod                 53248  0
t10_pi                 16384  1 sd_mod
scsi_mod              208896  4 sd_mod,usb_storage,uas,libata

Things I’ve tried:
https://wiki.alpinelinux.org/wiki/Gnome_Setup
(And all the pre-requisites in the general Alpine setup process)


From here:
https://wiki.archlinux.org/title/GDM

Configure X server access permission

You can use the xhost command to configure X server access permissions.

For instance, to grant GDM the right to access the X server, use the following command:

# xhost +SI:localuser:gdm
Failure on logout

If GDM starts up properly on boot, but fails after repeated attempts on logout, try adding this line to the daemon section of /etc/gdm/custom.conf:

GdmXserverTimeout=60
GDM does not start until input is provided

If, after booting, the screen stays black and GDM does not start until the mouse is moved or something is typed on the keyboard, it may be due to a lack of entropy required for random number generation. To confirm, check that the following line appears inside systemd-random-seed’s log (which can be read by running journalctl --unit systemd-random-seed with root privileges):

Kernel entropy pool is not initialized yet, waiting until it is.

To fix this, you can pass the random.trust_cpu=on kernel parameter if your CPU supports the RDRAND instruction, or you can use haveged which also provides entropy, albeit it is of allegedly low quality. See Debian’s article on the topic for other solutions. 

https://wiki.archlinux.org/title/Intel_graphics#Enable_GuC_/_HuC_firmware_loading

Enable GuC / HuC firmware loading

On supported Skylake and newer processors, some video features (e.g. CBR rate control on SKL low-power encoding mode) may require the use of an updated GPU firmware,[3] which is loaded by default only on Gen 11+ hardware since Linux 5.4.[4] Enabling GuC/HuC firmware loading can cause issues on some systems; disable it if you experience freezing (for example, after resuming from hibernation).
Note: See Gentoo:Intel#Feature support for an overview of Intel processor generations.

For processors before Gen 11, it is necessary to add i915.enable_guc=2 to the kernel parameters to enable both GuC and HuC firmware loading. Alternatively, if the initramfs already includes the i915 module (see Kernel mode setting#Early KMS start), you can set these options through a file in /etc/modprobe.d/, e.g.: 

Early KMS GRUB Command:

i915.modeset=1

I believe we have a someone with a similar problem here: gdm: fails to wake up after locking (#12605) · Issues · alpine / aports, but unfortunately we weren’t able at the time to trace back what exactly causes this mishap. Oddly enough, this seems to only happen for some users while other users don’t report any problems at all.

1 Like

Thanks so much for taking the time to assist me!

Yep, this is exactly what I’m experiencing. It is just so odd to me because I seemingly have a 100% local reproduction rate across three different machines, but I gather that it isn’t actually a common problem overall, especially not in the wider Linux/GDM community as searching around shows up next to nothing.

I’ll add a link to this thread there incase the details above help provide extra context.