Lightdm trying to use non-existent external display

lightdmmultiple-monitorsradeonsuspendxorg

I'm having problems logging in to my X session and/or resuming from a suspend.

Starting about 6 months ago, I started having issues with my desktop manager, lightdm (though I've tried others like gdm3 and get the same behavior).

The problem would begin occurring after I used an external monitor. It seems that instead of having the greeter screen displayed on my laptop, it would try to use the non-existent external display. On the laptop display, I get a mostly blank screen with an underscore "_" in the upper left hand corner.

This behavior is especially annoying since it's trying to use an external monitor, I can't even access any of the virtual terminals and have to do a hard reboot into recovery mode.
Notably, if I boot using recovery mode and then select resume, I get the greeter and can log in.

Eventually I seemed to fix the problem when I created the file /etc/lightdm/lightdm.conf with the following

[Seat:*]
display-setup-script=xrandr --output eDP --primary

This seemed to solve the problem, i.e. I could use the normal boot process, get the greeter on my laptop display, and use an external display when needed.

However, starting last week, this fix no longer works. I've rebooted, ran apt upgrade and apt update. Removed and reinstalled various lightdm .deb files, used dpkg-reconfigure, reinstalled gdm3, …

My current kernel is 5.4.0-91-generic #102-Ubuntu and I'm running MATE 20.04 LTS. It's an HP laptop running a Ryzen-7 processor with a Radeon graphics card.

A previous running of lshw gives

   *-display
        description: VGA compatible controller
        product: Picasso
        vendor: Advanced Micro Devices, Inc. [AMD/ATI]
        physical id: 0
        bus info: pci@0000:04:00.0
        version: c1
        width: 64 bits
        clock: 33MHz
        capabilities: pm pciexpress msi msix vga_controller bus_master cap_list
        configuration: driver=amdgpu latency=0
        resources: irq:50 memory:e0000000-efffffff memory:f0000000-f01fffff ioport:e000(size=256) memory:fe800000-fe87ffff

The current setting (recovery -> resume)

$ sudo lshw -c video |less
*-display UNCLAIMED
   description: VGA compatible controller
   product: Picasso
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 0
   bus info: pci@0000:04:00.0
   version: c1
   width: 64 bits
   clock: 33MHz
   capabilities: pm pciexpress msi msix vga_controller bus_master cap_list
   configuration: latency=0
   resources: memory:e0000000-efffffff memory:f0000000-f01fffff ioport:e000(size=256) memory:fe800000-fe87ffff

Note the change in configuration: line.

$ apt search amdgpu indicates I have amdgpu installed.

Below is the output in /var/log/Xorg.0.log

[    10.370] 
X.Org X Server 1.20.13
X Protocol Version 11, Revision 0
[    10.370] Build Operating System: linux Ubuntu
[    10.370] Current Operating System: Linux alanine 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 x86_64
[    10.370] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-91-generic root=UUID=742c43fb-bb10-4440-9d51-747c120972f6 ro
[    10.371] Build Date: 14 December 2021  02:14:13PM
[    10.371] xorg-server 2:1.20.13-1ubuntu1~20.04.2 (For technical support please see http://www.ubuntu.com/support) 
[    10.371] Current version of pixman: 0.38.4
[    10.371]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[    10.371] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    10.371] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Dec 26 17:08:36 2021
[    10.373] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    10.374] (==) No Layout section.  Using the first Screen section.
[    10.374] (==) No screen section available. Using defaults.
[    10.374] (**) |-->Screen "Default Screen Section" (0)
[    10.374] (**) |   |-->Monitor "<default monitor>"
[    10.374] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[    10.375] (==) Automatically adding devices
[    10.375] (==) Automatically enabling devices
[    10.375] (==) Automatically adding GPU devices
[    10.375] (==) Automatically binding GPU devices
[    10.375] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    10.376] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    10.376]    Entry deleted from font path.
[    10.377] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11/100dpi/".
[    10.377]    Entry deleted from font path.
[    10.377]    (Run 'mkfontdir' on "/usr/share/fonts/X11/100dpi/").
[    10.378] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11/75dpi/".
[    10.378]    Entry deleted from font path.
[    10.378]    (Run 'mkfontdir' on "/usr/share/fonts/X11/75dpi/").
[    10.378] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11/100dpi".
[    10.378]    Entry deleted from font path.
[    10.378]    (Run 'mkfontdir' on "/usr/share/fonts/X11/100dpi").
[    10.378] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11/75dpi".
[    10.378]    Entry deleted from font path.
[    10.378]    (Run 'mkfontdir' on "/usr/share/fonts/X11/75dpi").
[    10.378] (==) FontPath set to:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    built-ins
[    10.378] (==) ModulePath set to "/usr/lib/xorg/modules"
[    10.378] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[    10.378] (II) Loader magic: 0x556edcc6e020
[    10.378] (II) Module ABI versions:
[    10.378]    X.Org ANSI C Emulation: 0.4
[    10.378]    X.Org Video Driver: 24.1
[    10.378]    X.Org XInput driver : 24.1
[    10.378]    X.Org Server Extension : 10.0
[    10.379] (++) using VT number 7

[    10.379] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[    10.380] (II) xfree86: Adding drm device (/dev/dri/card0)
[    10.393] (--) PCI:*(4@0:0:0) 1002:15d8:103c:86fd rev 193, Mem @ 0xe0000000/268435456, 0xf0000000/2097152, 0xfe800000/524288, I/O @ 0x0000e000/256
[    10.393] (II) LoadModule: "glx"
[    10.395] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    10.403] (II) Module glx: vendor="X.Org Foundation"
[    10.403]    compiled for 1.20.13, module version = 1.0.0
[    10.403]    ABI class: X.Org Server Extension, version 10.0
[    10.403] (II) Applying OutputClass "AMDgpu" to /dev/dri/card0
[    10.403]    loading driver: amdgpu
[    10.403] (==) Matched amdgpu as autoconfigured driver 0
[    10.403] (==) Matched ati as autoconfigured driver 1
[    10.403] (==) Matched modesetting as autoconfigured driver 2
[    10.403] (==) Matched fbdev as autoconfigured driver 3
[    10.403] (==) Matched vesa as autoconfigured driver 4
[    10.403] (==) Assigned the driver to the xf86ConfigLayout
[    10.403] (II) LoadModule: "amdgpu"
[    10.403] (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[    10.409] (II) Module amdgpu: vendor="X.Org Foundation"
[    10.409]    compiled for 1.20.5, module version = 19.1.0
[    10.409]    Module class: X.Org Video Driver
[    10.409]    ABI class: X.Org Video Driver, version 24.0
[    10.409] (II) LoadModule: "ati"
[    10.409] (II) Loading /usr/lib/xorg/modules/drivers/ati_drv.so
[    10.410] (II) Module ati: vendor="X.Org Foundation"
[    10.410]    compiled for 1.20.5, module version = 19.1.0
[    10.410]    Module class: X.Org Video Driver
[    10.410]    ABI class: X.Org Video Driver, version 24.0
[    10.423] (II) LoadModule: "modesetting"
[    10.423] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[    10.424] (II) Module modesetting: vendor="X.Org Foundation"
[    10.424]    compiled for 1.20.13, module version = 1.20.13
[    10.424]    Module class: X.Org Video Driver
[    10.424]    ABI class: X.Org Video Driver, version 24.1
[    10.424] (II) LoadModule: "fbdev"
[    10.424] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[    10.425] (II) Module fbdev: vendor="X.Org Foundation"
[    10.425]    compiled for 1.20.1, module version = 0.5.0
[    10.425]    Module class: X.Org Video Driver
[    10.425]    ABI class: X.Org Video Driver, version 24.0
[    10.425] (II) LoadModule: "vesa"
[    10.425] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[    10.425] (II) Module vesa: vendor="X.Org Foundation"
[    10.425]    compiled for 1.20.4, module version = 2.4.0
[    10.425]    Module class: X.Org Video Driver
[    10.425]    ABI class: X.Org Video Driver, version 24.0
[    10.425] (II) AMDGPU: Driver for AMD Radeon:
    All GPUs supported by the amdgpu kernel driver
[    10.425] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    10.425] (II) FBDEV: driver for framebuffer: fbdev
[    10.425] (II) VESA: driver for VESA chipsets: vesa
[    10.444] (II) AMDGPU(0): [KMS] Kernel modesetting enabled.
[    10.444] (WW) Falling back to old probe method for modesetting
[    10.445] (WW) Falling back to old probe method for fbdev
[    10.445] (II) Loading sub module "fbdevhw"
[    10.445] (II) LoadModule: "fbdevhw"
[    10.445] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    10.445] (II) Module fbdevhw: vendor="X.Org Foundation"
[    10.445]    compiled for 1.20.13, module version = 0.0.2
[    10.445]    ABI class: X.Org Video Driver, version 24.1
[    10.446] (II) AMDGPU(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
[    10.446] (==) AMDGPU(0): Depth 24, (--) framebuffer bpp 32
[    10.446] (II) AMDGPU(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
[    10.446] (==) AMDGPU(0): Default visual is TrueColor
[    10.446] (==) AMDGPU(0): RGB weight 888
[    10.446] (II) AMDGPU(0): Using 8 bits per RGB (8 bit DAC)
[    10.446] (--) AMDGPU(0): Chipset: "AMD Radeon(TM) Vega 10 Graphics" (ChipID = 0x15d8)
[    10.446] (II) Loading sub module "fb"
[    10.446] (II) LoadModule: "fb"
[    10.446] (II) Loading /usr/lib/xorg/modules/libfb.so
[    10.447] (II) Module fb: vendor="X.Org Foundation"
[    10.447]    compiled for 1.20.13, module version = 1.0.0
[    10.447]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.447] (II) Loading sub module "dri2"
[    10.447] (II) LoadModule: "dri2"
[    10.447] (II) Module "dri2" already built-in
[    10.587] (II) Loading sub module "glamoregl"
[    10.587] (II) LoadModule: "glamoregl"
[    10.587] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    10.593] (II) Module glamoregl: vendor="X.Org Foundation"
[    10.593]    compiled for 1.20.13, module version = 1.0.1
[    10.593]    ABI class: X.Org ANSI C Emulation, version 0.4
[    10.621] (II) AMDGPU(0): glamor X acceleration enabled on AMD Radeon(TM) Vega 10 Graphics (RAVEN, DRM 3.35.0, 5.4.0-91-generic, LLVM 12.0.0)
[    10.621] (II) AMDGPU(0): glamor detected, initialising EGL layer.
[    10.621] (==) AMDGPU(0): TearFree property default: auto
[    10.621] (==) AMDGPU(0): VariableRefresh: disabled
[    10.621] (II) AMDGPU(0): KMS Pageflipping: enabled
[    10.621] (II) AMDGPU(0): Output eDP has no monitor section
[    10.621] (II) AMDGPU(0): Output HDMI-A-0 has no monitor section
[    10.639] (II) AMDGPU(0): EDID for output eDP
[    10.639] (II) AMDGPU(0): Manufacturer: AUO  Model: 20ec  Serial#: 0
[    10.639] (II) AMDGPU(0): Year: 2018  Week: 0
[    10.640] (II) AMDGPU(0): EDID Version: 1.4
[    10.640] (II) AMDGPU(0): Digital Display Input
[    10.640] (II) AMDGPU(0): 6 bits per channel
[    10.640] (II) AMDGPU(0): Digital interface is DisplayPort
[    10.640] (II) AMDGPU(0): Max Image Size [cm]: horiz.: 34  vert.: 19
[    10.640] (II) AMDGPU(0): Gamma: 2.20
[    10.640] (II) AMDGPU(0): No DPMS capabilities specified
[    10.640] (II) AMDGPU(0): Supported color encodings: RGB 4:4:4 
[    10.640] (II) AMDGPU(0): First detailed timing is preferred mode
[    10.640] (II) AMDGPU(0): Preferred mode is native pixel format and refresh rate
[    10.640] (II) AMDGPU(0): Display is continuous-frequency
[    10.640] (II) AMDGPU(0): redX: 0.563 redY: 0.338   greenX: 0.342 greenY: 0.576
[    10.640] (II) AMDGPU(0): blueX: 0.163 blueY: 0.133   whiteX: 0.313 whiteY: 0.329
[    10.640] (II) AMDGPU(0): Manufacturer's mask: 0
[    10.640] (II) AMDGPU(0): Supported detailed timing:
[    10.640] (II) AMDGPU(0): clock: 76.3 MHz   Image Size:  344 x 193 mm
[    10.640] (II) AMDGPU(0): h_active: 1366  h_sync: 1404  h_sync_end 1426 h_blank_end 1592 h_border: 0
[    10.640] (II) AMDGPU(0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 798 v_border: 0
[    10.640] (II) AMDGPU(0): Supported detailed timing:
[    10.640] (II) AMDGPU(0): clock: 50.9 MHz   Image Size:  344 x 193 mm
[    10.640] (II) AMDGPU(0): h_active: 1366  h_sync: 1404  h_sync_end 1426 h_blank_end 1592 h_border: 0
[    10.640] (II) AMDGPU(0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 798 v_border: 0
[    10.640] (II) AMDGPU(0): Unknown vendor-specific block 2
[    10.640] (II) AMDGPU(0): EDID (in hex):
[    10.640] (II) AMDGPU(0):    00ffffffffffff0006afec2000000000
[    10.640] (II) AMDGPU(0):    001c010495221378036ac59056579329
[    10.640] (II) AMDGPU(0):    22505400000001010101010101010101
[    10.640] (II) AMDGPU(0):    010101010101ce1d56e250001e302616
[    10.640] (II) AMDGPU(0):    360058c110000018df1356e250001e30
[    10.640] (II) AMDGPU(0):    2616360058c110000018000000000000
[    10.640] (II) AMDGPU(0):    00000000000000000000000000000002
[    10.640] (II) AMDGPU(0):    001048ff0f3c6e480f1b6e20202000a0
[    10.640] (II) AMDGPU(0): Printing probed modes for output eDP
[    10.640] (II) AMDGPU(0): Modeline "1366x768"x60.1   76.30  1366 1404 1426 1592  768 771 777 798 -hsync -vsync (47.9 kHz eP)
[    10.640] (II) AMDGPU(0): Modeline "1366x768"x40.0   50.87  1366 1404 1426 1592  768 771 777 798 -hsync -vsync (32.0 kHz e)
[    10.640] (II) AMDGPU(0): Modeline "1280x720"x60.1   76.30  1280 1404 1426 1592  720 771 777 798 -hsync -vsync (47.9 kHz e)
[    10.640] (II) AMDGPU(0): Modeline "1024x768"x60.1   76.30  1024 1404 1426 1592  768 771 777 798 -hsync -vsync (47.9 kHz e)
[    10.640] (II) AMDGPU(0): Modeline "800x600"x60.1   76.30  800 1404 1426 1592  600 771 777 798 -hsync -vsync (47.9 kHz e)
[    10.640] (II) AMDGPU(0): Modeline "640x480"x60.1   76.30  640 1404 1426 1592  480 771 777 798 -hsync -vsync (47.9 kHz e)
[    10.640] (II) AMDGPU(0): EDID for output HDMI-A-0
[    10.640] (II) AMDGPU(0): Output eDP connected
[    10.640] (II) AMDGPU(0): Output HDMI-A-0 disconnected
[    10.640] (II) AMDGPU(0): Using exact sizes for initial modes
[    10.640] (II) AMDGPU(0): Output eDP using initial mode 1366x768 +0+0
[    10.640] (II) AMDGPU(0): mem size init: gart size :bf7cf000 vram size: s:7ec0b000 visible:7ec0b000
[    10.640] (==) AMDGPU(0): DPI set to (96, 96)
[    10.640] (==) AMDGPU(0): Using gamma correction (1.0, 1.0, 1.0)
[    10.640] (II) Loading sub module "ramdac"
[    10.640] (II) LoadModule: "ramdac"
[    10.640] (II) Module "ramdac" already built-in
[    10.640] (II) UnloadModule: "modesetting"
[    10.640] (II) Unloading modesetting
[    10.640] (II) UnloadModule: "fbdev"
[    10.640] (II) Unloading fbdev
[    10.640] (II) UnloadSubModule: "fbdevhw"
[    10.640] (II) Unloading fbdevhw
[    10.640] (II) UnloadModule: "vesa"
[    10.640] (II) Unloading vesa
[    10.641] (II) AMDGPU(0): [DRI2] Setup complete
[    10.641] (II) AMDGPU(0): [DRI2]   DRI driver: radeonsi
[    10.641] (II) AMDGPU(0): [DRI2]   VDPAU driver: radeonsi
[    10.691] (II) AMDGPU(0): Front buffer pitch: 5632 bytes
[    10.691] (II) AMDGPU(0): SYNC extension fences enabled
[    10.692] (II) AMDGPU(0): Present extension enabled
[    10.692] (==) AMDGPU(0): DRI3 enabled
[    10.692] (==) AMDGPU(0): Backing store enabled
[    10.692] (II) AMDGPU(0): Direct rendering enabled
[    10.711] (II) AMDGPU(0): Use GLAMOR acceleration.
[    10.711] (II) AMDGPU(0): Acceleration enabled
[    10.711] (==) AMDGPU(0): DPMS enabled
[    10.711] (==) AMDGPU(0): Silken mouse enabled
[    10.711] (II) AMDGPU(0): Set up textured video (glamor)
[    10.723] (II) Initializing extension Generic Event Extension
[    10.723] (II) Initializing extension SHAPE
[    10.723] (II) Initializing extension MIT-SHM
[    10.723] (II) Initializing extension XInputExtension
[    10.724] (II) Initializing extension XTEST
[    10.724] (II) Initializing extension BIG-REQUESTS
[    10.724] (II) Initializing extension SYNC
[    10.724] (II) Initializing extension XKEYBOARD
[    10.724] (II) Initializing extension XC-MISC
[    10.725] (II) Initializing extension SECURITY
[    10.725] (II) Initializing extension XFIXES
[    10.725] (II) Initializing extension RENDER
[    10.725] (II) Initializing extension RANDR
[    10.725] (II) Initializing extension COMPOSITE
[    10.725] (II) Initializing extension DAMAGE
[    10.725] (II) Initializing extension MIT-SCREEN-SAVER
[    10.725] (II) Initializing extension DOUBLE-BUFFER
[    10.726] (II) Initializing extension RECORD
[    10.726] (II) Initializing extension DPMS
[    10.726] (II) Initializing extension Present
[    10.726] (II) Initializing extension DRI3
[    10.726] (II) Initializing extension X-Resource
[    10.726] (II) Initializing extension XVideo
[    10.727] (II) Initializing extension XVideo-MotionCompensation
[    10.727] (II) Initializing extension SELinux
[    10.727] (II) SELinux: Disabled on system
[    10.727] (II) Initializing extension GLX
[    23.754] (II) AIGLX: Loaded and initialized radeonsi
[    23.754] (II) GLX: Initialized DRI2 GL provider for screen 0
[    23.754] (II) Initializing extension XFree86-VidModeExtension
[    23.755] (II) Initializing extension XFree86-DGA
[    23.755] (II) Initializing extension XFree86-DRI
[    23.755] (II) Initializing extension DRI2
[    23.766] (II) AMDGPU(0): Setting screen physical size to 361 x 203

Since the problem re-emerged, I can't even resume from when the computer goes to sleep. Can someone help me figure out what's going on?

Best Answer

This seemed to do the trick

sudo dpkg-reconfigure xserver-xorg
sudo dpkg-reconfigure  xserver-xorg-video-amdgpu