I have a bunch of RPi 3B+ that are set to "Desktop Autologin GUI as user XYZ" using the raspi-config
tool. The RPis all run headless, but need the desktop GUI up and running for remote desktop sessions using DWService. This works fine, except for one of those RPis, which does not allow remote access to the (virtual) screen.
Here's what I figured out so far on the particular RPi that has this problem:
The SD card is writable, so the GUI autologin setting should be stored on the SD card after adjusting in
raspi-config
(I tested this by writing a file, and the file was still there after rebooting the machine).There is 23G of free space on the SD card. This should be more than enough for the desktop environment to run (that's the first thing that came up when I googled for this problem).
If I log in via ssh, I can't find the GUI login session (the other RPis show the x11 session as expected):
water@pemcell-A:~ $ loginctl
SESSION UID USER SEAT TTY
1 1001 water seat0 tty1
3 1001 water pts/0
2 sessions listed.
- The X server log file shows that the X server terminated:
water@pemcell-A:~ $ tail /var/log/Xorg.0.log
[ 20.649] (II) SELinux: Disabled on system
[ 20.649] (II) Initializing extension GLX
[ 20.650] (II) AIGLX: Screen 0 is not DRI2 capable
[ 20.771] (II) IGLX: Loaded and initialized swrast
[ 20.771] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 20.771] (II) Initializing extension XFree86-VidModeExtension
[ 20.772] (II) Initializing extension XFree86-DGA
[ 20.773] (II) Initializing extension XFree86-DRI
[ 20.773] (II) Initializing extension DRI2
[ 20.937] (II) Server terminated successfully (0). Closing log file.
Overall, this looks like the GUI environment tries to start at boot, but for some reason it stops working. However, I have no clue what is going on, and where to look for solutions. Can someone shine some light on this or tell me where to look?
P.S.: please don't tell me to reinstall the whole system, which might wipe out the issue. I have already thought of that, but it would be a lot of work to set up and configure all the software running on this RPi, so I am hoping to avoid that.
Edit-1: Here's a diff of the /var/log/Xorg.0.log files on a "good" and on the "bad" machine (I don't really know what this stuff means, but maybe it's useful to someone who does):
1c1
< [ 20.606]
---
> [ 13.871]
4,10c4,10
< [ 20.606] Build Operating System: linux Raspbian
< [ 20.606] Current Operating System: Linux pemcell-A 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l
< [ 20.606] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=720 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=55aea015-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
< [ 20.606] Build Date: 05 August 2022 08:00:36AM
< [ 20.606] xorg-server 2:1.20.11-1+deb11u2 (https://www.debian.org/support)
< [ 20.606] Current version of pixman: 0.40.0
< [ 20.606] Before reporting problems, check http://wiki.x.org
---
> [ 13.871] Build Operating System: linux Raspbian
> [ 13.871] Current Operating System: Linux pemcell-B 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l
> [ 13.871] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=1024 bcm2708_fb.fbheight=768 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=5d0896c7-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
> [ 13.871] Build Date: 05 August 2022 08:00:36AM
> [ 13.871] xorg-server 2:1.20.11-1+deb11u2 (https://www.debian.org/support)
> [ 13.871] Current version of pixman: 0.40.0
> [ 13.871] Before reporting problems, check http://wiki.x.org
12c12
< [ 20.606] Markers: (--) probed, (**) from config file, (==) default setting,
---
> [ 13.871] Markers: (--) probed, (**) from config file, (==) default setting,
15,21c15,21
< [ 20.606] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Aug 9 13:32:55 2022
< [ 20.607] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
< [ 20.607] (==) No Layout section. Using the first Screen section.
< [ 20.607] (==) No screen section available. Using defaults.
< [ 20.607] (**) |-->Screen "Default Screen Section" (0)
< [ 20.607] (**) | |-->Monitor "<default monitor>"
< [ 20.608] (==) No device specified for screen "Default Screen Section".
---
> [ 13.872] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Aug 9 10:34:41 2022
> [ 13.924] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
> [ 13.936] (==) No Layout section. Using the first Screen section.
> [ 13.936] (==) No screen section available. Using defaults.
> [ 13.936] (**) |-->Screen "Default Screen Section" (0)
> [ 13.936] (**) | |-->Monitor "<default monitor>"
> [ 13.944] (==) No device specified for screen "Default Screen Section".
23,24c23,24
< [ 20.608] (**) | |-->Device "Allwinner A10/A13 FBDEV"
< [ 20.608] (==) No monitor specified for screen "Default Screen Section".
---
> [ 13.944] (**) | |-->Device "Allwinner A10/A13 FBDEV"
> [ 13.944] (==) No monitor specified for screen "Default Screen Section".
26,40c26,40
< [ 20.608] (==) Automatically adding devices
< [ 20.608] (==) Automatically enabling devices
< [ 20.608] (==) Automatically adding GPU devices
< [ 20.608] (==) Max clients allowed: 256, resource mask: 0x1fffff
< [ 20.608] (WW) The directory "/usr/share/fonts/X11/misc" does not exist.
< [ 20.608] Entry deleted from font path.
< [ 20.608] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
< [ 20.608] Entry deleted from font path.
< [ 20.609] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
< [ 20.609] Entry deleted from font path.
< [ 20.609] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
< [ 20.609] Entry deleted from font path.
< [ 20.609] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
< [ 20.609] Entry deleted from font path.
< [ 20.609] (==) FontPath set to:
---
> [ 13.945] (==) Automatically adding devices
> [ 13.945] (==) Automatically enabling devices
> [ 13.945] (==) Automatically adding GPU devices
> [ 13.945] (==) Max clients allowed: 256, resource mask: 0x1fffff
> [ 13.968] (WW) The directory "/usr/share/fonts/X11/misc" does not exist.
> [ 13.968] Entry deleted from font path.
> [ 13.968] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
> [ 13.968] Entry deleted from font path.
> [ 13.972] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
> [ 13.972] Entry deleted from font path.
> [ 13.972] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
> [ 13.973] Entry deleted from font path.
> [ 13.973] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
> [ 13.973] Entry deleted from font path.
> [ 13.973] (==) FontPath set to:
44,45c44,45
< [ 20.609] (==) ModulePath set to "/usr/lib/xorg/modules"
< [ 20.609] (II) The server relies on udev to provide the list of input devices.
---
> [ 13.973] (==) ModulePath set to "/usr/lib/xorg/modules"
> [ 13.973] (II) The server relies on udev to provide the list of input devices.
47,53c47,53
< [ 20.609] (II) Loader magic: 0x20cf40
< [ 20.609] (II) Module ABI versions:
< [ 20.609] X.Org ANSI C Emulation: 0.4
< [ 20.609] X.Org Video Driver: 24.1
< [ 20.609] X.Org XInput driver : 24.1
< [ 20.609] X.Org Server Extension : 10.0
< [ 20.611] (++) using VT number 7
---
> [ 13.973] (II) Loader magic: 0x20cf40
> [ 13.973] (II) Module ABI versions:
> [ 13.973] X.Org ANSI C Emulation: 0.4
> [ 13.973] X.Org Video Driver: 24.1
> [ 13.973] X.Org XInput driver : 24.1
> [ 13.973] X.Org Server Extension : 10.0
> [ 13.978] (++) using VT number 7
55,78c55,78
< [ 20.611] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
< [ 20.612] (II) no primary bus or device found
< [ 20.612] (II) LoadModule: "glx"
< [ 20.612] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
< [ 20.615] (II) Module glx: vendor="X.Org Foundation"
< [ 20.615] compiled for 1.20.11, module version = 1.0.0
< [ 20.615] ABI class: X.Org Server Extension, version 10.0
< [ 20.615] (II) LoadModule: "fbturbo"
< [ 20.616] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
< [ 20.616] (II) Module fbturbo: vendor="X.Org Foundation"
< [ 20.616] compiled for 1.20.3, module version = 0.5.1
< [ 20.616] Module class: X.Org Video Driver
< [ 20.616] ABI class: X.Org Video Driver, version 24.0
< [ 20.616] (II) FBTURBO: driver for framebuffer: fbturbo
< [ 20.616] (WW) Falling back to old probe method for fbturbo
< [ 20.616] (II) Loading sub module "fbdevhw"
< [ 20.616] (II) LoadModule: "fbdevhw"
< [ 20.617] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
< [ 20.617] (II) Module fbdevhw: vendor="X.Org Foundation"
< [ 20.617] compiled for 1.20.11, module version = 0.0.2
< [ 20.617] ABI class: X.Org Video Driver, version 24.1
< [ 20.617] (II) FBTURBO(0): using /dev/fb0
< [ 20.617] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
< [ 20.617] (II) FBTURBO(0): Creating default Display subsection in Screen section
---
> [ 13.978] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
> [ 13.979] (II) no primary bus or device found
> [ 13.980] (II) LoadModule: "glx"
> [ 13.986] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
> [ 14.110] (II) Module glx: vendor="X.Org Foundation"
> [ 14.110] compiled for 1.20.11, module version = 1.0.0
> [ 14.110] ABI class: X.Org Server Extension, version 10.0
> [ 14.110] (II) LoadModule: "fbturbo"
> [ 14.112] (II) Loading /usr/lib/xorg/modules/drivers/fbturbo_drv.so
> [ 14.117] (II) Module fbturbo: vendor="X.Org Foundation"
> [ 14.118] compiled for 1.20.3, module version = 0.5.1
> [ 14.118] Module class: X.Org Video Driver
> [ 14.118] ABI class: X.Org Video Driver, version 24.0
> [ 14.118] (II) FBTURBO: driver for framebuffer: fbturbo
> [ 14.129] (WW) Falling back to old probe method for fbturbo
> [ 14.129] (II) Loading sub module "fbdevhw"
> [ 14.129] (II) LoadModule: "fbdevhw"
> [ 14.129] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
> [ 14.136] (II) Module fbdevhw: vendor="X.Org Foundation"
> [ 14.136] compiled for 1.20.11, module version = 0.0.2
> [ 14.136] ABI class: X.Org Video Driver, version 24.1
> [ 14.137] (II) FBTURBO(0): using /dev/fb0
> [ 14.137] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
> [ 14.137] (II) FBTURBO(0): Creating default Display subsection in Screen section
80,145c80,144
< [ 20.617] (==) FBTURBO(0): Depth 24, (==) framebuffer bpp 32
< [ 20.617] (==) FBTURBO(0): RGB weight 888
< [ 20.617] (==) FBTURBO(0): Default visual is TrueColor
< [ 20.617] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
< [ 20.617] (II) FBTURBO(0): hardware: BCM2708 FB (video memory: 3600kB)
< [ 20.617] (DB) xf86MergeOutputClassOptions unsupported bus type 0
< [ 20.617] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
< [ 20.617] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
< [ 20.618] (II) FBTURBO(0): processor: Unknown
< [ 20.618] (II) FBTURBO(0): checking modes against framebuffer device...
< [ 20.618] (II) FBTURBO(0): checking modes against monitor...
< [ 20.618] (II) FBTURBO(0): Virtual size is 1280x720 (pitch 1280)
< [ 20.618] (**) FBTURBO(0): Built-in mode "current"
< [ 20.618] (==) FBTURBO(0): DPI set to (96, 96)
< [ 20.618] (II) Loading sub module "fb"
< [ 20.618] (II) LoadModule: "fb"
< [ 20.618] (II) Loading /usr/lib/xorg/modules/libfb.so
< [ 20.619] (II) Module fb: vendor="X.Org Foundation"
< [ 20.619] compiled for 1.20.11, module version = 1.0.0
< [ 20.619] ABI class: X.Org ANSI C Emulation, version 0.4
< [ 20.619] (II) FBTURBO(0): using backing store heuristics
< [ 20.630] (II) FBTURBO(0): can't load 'g2d_23' kernel module
< [ 20.630] (II) FBTURBO(0): failed to enable the use of sunxi display controller
< [ 20.630] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
< [ 20.630] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
< [ 20.630] (II) FBTURBO(0): enabled fbdev copyarea acceleration
< [ 20.630] (==) FBTURBO(0): Backing store enabled
< [ 20.631] (==) FBTURBO(0): DPMS enabled
< [ 20.631] (II) FBTURBO(0): failed to enable hardware cursor
< [ 20.631] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
< [ 20.631] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
< [ 20.631] (II) Initializing extension Generic Event Extension
< [ 20.632] (II) Initializing extension SHAPE
< [ 20.633] (II) Initializing extension MIT-SHM
< [ 20.633] (II) Initializing extension XInputExtension
< [ 20.634] (II) Initializing extension XTEST
< [ 20.635] (II) Initializing extension BIG-REQUESTS
< [ 20.636] (II) Initializing extension SYNC
< [ 20.637] (II) Initializing extension XKEYBOARD
< [ 20.638] (II) Initializing extension XC-MISC
< [ 20.638] (II) Initializing extension SECURITY
< [ 20.639] (II) Initializing extension XFIXES
< [ 20.640] (II) Initializing extension RENDER
< [ 20.641] (II) Initializing extension RANDR
< [ 20.642] (II) Initializing extension COMPOSITE
< [ 20.643] (II) Initializing extension DAMAGE
< [ 20.644] (II) Initializing extension MIT-SCREEN-SAVER
< [ 20.645] (II) Initializing extension DOUBLE-BUFFER
< [ 20.645] (II) Initializing extension RECORD
< [ 20.646] (II) Initializing extension DPMS
< [ 20.647] (II) Initializing extension Present
< [ 20.648] (II) Initializing extension DRI3
< [ 20.648] (II) Initializing extension X-Resource
< [ 20.649] (II) Initializing extension XVideo
< [ 20.649] (II) Initializing extension XVideo-MotionCompensation
< [ 20.649] (II) Initializing extension SELinux
< [ 20.649] (II) SELinux: Disabled on system
< [ 20.649] (II) Initializing extension GLX
< [ 20.650] (II) AIGLX: Screen 0 is not DRI2 capable
< [ 20.771] (II) IGLX: Loaded and initialized swrast
< [ 20.771] (II) GLX: Initialized DRISWRAST GL provider for screen 0
< [ 20.771] (II) Initializing extension XFree86-VidModeExtension
< [ 20.772] (II) Initializing extension XFree86-DGA
< [ 20.773] (II) Initializing extension XFree86-DRI
< [ 20.773] (II) Initializing extension DRI2
< [ 20.937] (II) Server terminated successfully (0). Closing log file.
---
> [ 14.137] (==) FBTURBO(0): Depth 24, (==) framebuffer bpp 32
> [ 14.137] (==) FBTURBO(0): RGB weight 888
> [ 14.137] (==) FBTURBO(0): Default visual is TrueColor
> [ 14.137] (==) FBTURBO(0): Using gamma correction (1.0, 1.0, 1.0)
> [ 14.137] (II) FBTURBO(0): hardware: BCM2708 FB (video memory: 3072kB)
> [ 14.137] (DB) xf86MergeOutputClassOptions unsupported bus type 0
> [ 14.137] (**) FBTURBO(0): Option "fbdev" "/dev/fb0"
> [ 14.137] (**) FBTURBO(0): Option "SwapbuffersWait" "true"
> [ 14.138] (II) FBTURBO(0): processor: Unknown
> [ 14.138] (II) FBTURBO(0): checking modes against framebuffer device...
> [ 14.138] (II) FBTURBO(0): checking modes against monitor...
> [ 14.138] (II) FBTURBO(0): Virtual size is 1024x768 (pitch 1024)
> [ 14.138] (**) FBTURBO(0): Built-in mode "current"
> [ 14.138] (==) FBTURBO(0): DPI set to (96, 96)
> [ 14.138] (II) Loading sub module "fb"
> [ 14.138] (II) LoadModule: "fb"
> [ 14.138] (II) Loading /usr/lib/xorg/modules/libfb.so
> [ 14.144] (II) Module fb: vendor="X.Org Foundation"
> [ 14.144] compiled for 1.20.11, module version = 1.0.0
> [ 14.144] ABI class: X.Org ANSI C Emulation, version 0.4
> [ 14.167] (II) FBTURBO(0): using backing store heuristics
> [ 14.184] (II) FBTURBO(0): can't load 'g2d_23' kernel module
> [ 14.184] (II) FBTURBO(0): failed to enable the use of sunxi display controller
> [ 14.184] (II) FBTURBO(0): No sunxi-g2d hardware detected (check /dev/disp and /dev/g2d)
> [ 14.184] (II) FBTURBO(0): G2D hardware acceleration can't be enabled
> [ 14.184] (II) FBTURBO(0): enabled fbdev copyarea acceleration
> [ 14.184] (==) FBTURBO(0): Backing store enabled
> [ 14.195] (==) FBTURBO(0): DPMS enabled
> [ 14.196] (II) FBTURBO(0): failed to enable hardware cursor
> [ 14.196] (II) FBTURBO(0): no 3D acceleration because the driver has been compiled without libUMP
> [ 14.196] (II) FBTURBO(0): if this is wrong and needs to be fixed, please check ./configure log
> [ 14.203] (II) Initializing extension Generic Event Extension
> [ 14.204] (II) Initializing extension SHAPE
> [ 14.206] (II) Initializing extension MIT-SHM
> [ 14.207] (II) Initializing extension XInputExtension
> [ 14.216] (II) Initializing extension XTEST
> [ 14.218] (II) Initializing extension BIG-REQUESTS
> [ 14.219] (II) Initializing extension SYNC
> [ 14.221] (II) Initializing extension XKEYBOARD
> [ 14.222] (II) Initializing extension XC-MISC
> [ 14.224] (II) Initializing extension SECURITY
> [ 14.225] (II) Initializing extension XFIXES
> [ 14.227] (II) Initializing extension RENDER
> [ 14.228] (II) Initializing extension RANDR
> [ 14.231] (II) Initializing extension COMPOSITE
> [ 14.235] (II) Initializing extension DAMAGE
> [ 14.236] (II) Initializing extension MIT-SCREEN-SAVER
> [ 14.237] (II) Initializing extension DOUBLE-BUFFER
> [ 14.239] (II) Initializing extension RECORD
> [ 14.240] (II) Initializing extension DPMS
> [ 14.242] (II) Initializing extension Present
> [ 14.243] (II) Initializing extension DRI3
> [ 14.243] (II) Initializing extension X-Resource
> [ 14.244] (II) Initializing extension XVideo
> [ 14.246] (II) Initializing extension XVideo-MotionCompensation
> [ 14.246] (II) Initializing extension SELinux
> [ 14.246] (II) SELinux: Disabled on system
> [ 14.246] (II) Initializing extension GLX
> [ 14.249] (II) AIGLX: Screen 0 is not DRI2 capable
> [ 16.139] (II) IGLX: Loaded and initialized swrast
> [ 16.139] (II) GLX: Initialized DRISWRAST GL provider for screen 0
> [ 16.139] (II) Initializing extension XFree86-VidModeExtension
> [ 16.141] (II) Initializing extension XFree86-DGA
> [ 16.143] (II) Initializing extension XFree86-DRI
> [ 16.146] (II) Initializing extension DRI2
Edit-2: Looking at /var/log/lightdm/lightdm.log
I found the following bit:
[+0.40s] DEBUG: Launching process 907: /usr/share/dispsetup.sh
[+0.40s] DEBUG: Process 907 exited with return value 1
[+0.40s] DEBUG: Seat seat0: Exit status of /usr/share/dispsetup.sh: 1
[+0.40s] DEBUG: Seat seat0: Stopping display server due to failed setup script
So I tried looking at the /usr/share/dispsetup.sh
script, but found that the file does not exists on the "bad" machine (it does on the "good" machines). This explains why the GUI environment will not start at boot.
Now, the new question is: what would be a reasonable explanation for the missing dispsetup.sh file, and what would be a suitable fix?
lightdm
, the display manager, or else the desktop environment, presumably the latter with autologin but I cannot say for sure) doesn't last long. There may be an error about that in the system log.