I have been using my Lenovo Thinkbook 14 (AMD Renoir) running on Ubuntu 22.04.1 in combination with an external monitor (Dell U2720Q, 27") via a USB-C displayport 1.4 for a year now without problems, until yesterday.

Today, everything on the external monitor is slow/laggy (mouse pointer, dragging windows, etc.), while the laptop's internal monitor is fine.

With Windows 10, the external monitor works also fine. I also reset all changes made with tweaks (e.g. font sizes), and fractional scaling is off. I will try an HDMI cable once I get my hands on one. Also tried: reboot the laptop several times, switching off (and unplugging for several minutes) the external monitor.

Reducing the resolution on the external monitor (default 3840x2160) reduces the lag but does not eliminate it.

Besides booting Windows 10 several times (dual boot), I did nothing unusual (meaning, I was not playing around with screen resolution or fractional scaling or anything else related to the screen).
However, there were several "system problem detected" messages from Ubuntu. I am not sure if they are related. Here is a part of the log in /var/crash

```
JournalErrors:
 Jan 09 14:58:54 user-TB14 systemd[2346]: xdg-desktop-portal-gtk.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.SettingsDaemon.MediaKeys.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.SettingsDaemon.Wacom.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: xdg-desktop-portal-gnome.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.SettingsDaemon.Power.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.SettingsDaemon.Keyboard.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.SettingsDaemon.Color.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.Shell@wayland.service: Main process exited, code=dumped, status=11/SEGV
 Jan 09 14:58:54 user-TB14 pulseaudio[2355]: X11 I/O error handler called
 Jan 09 14:58:54 user-TB14 pulseaudio[2355]: X11 I/O error exit handler called, preparing to tear down X11 modules
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.Shell@wayland.service: Failed with result 'core-dump'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: update-notifier-crash.service: Main process exited, code=killed, status=15/TERM
 Jan 09 14:58:54 user-TB14 systemd[2346]: update-notifier-crash.service: Failed with result 'signal'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: org.gnome.SettingsDaemon.XSettings.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 systemd[2346]: xdg-permission-store.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 evolution-addre[2688]: Error setting property 'ConnectionStatus' on interface org.gnome.evolution.dataserver.Source: The connection is closed (g-io-error-quark, 18)
 Jan 09 14:58:54 user-TB14 systemd[2346]: xdg-document-portal.service: Failed with result 'exit-code'.
 Jan 09 14:58:54 user-TB14 apport-gtk[4916]: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
 Jan 09 14:58:54 user-TB14 apport-gtk[4916]: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
 Jan 09 14:58:54 user-TB14 apport-gtk[4916]: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
 Jan 09 14:58:55 user-TB14 pulseaudio[2355]: After module unload, module 'module-null-sink' was still loaded!
 Jan 09 14:58:55 user-TB14 kernel: usb 1-1.2: Failed to query (GET_DEF) UVC control 6 on unit 2: -32 (exp. 2).
 Jan 09 14:58:55 user-TB14 pipewire[4976]: spa.v4l2: '/dev/video2' VIDIOC_QUERYCTRL: Input/output error
 Jan 09 14:58:55 user-TB14 pipewire-media-session[4977]: ms.core: error id:69 seq:306 res:-5 (Input/output error): enum params id:1 (Spa:Enum:ParamId:PropInfo) failed
 Jan 09 14:58:55 user-TB14 gnome-session-binary[5004]: GLib-GIO-CRITICAL: g_bus_get_sync: assertion 'error == NULL || *error == NULL' failed
 Jan 09 14:58:55 user-TB14 gnome-session-binary[5004]: GLib-GIO-CRITICAL: g_bus_get_sync: assertion 'error == NULL || *error == NULL' failed
 Jan 09 14:58:55 user-TB14 systemd[4969]: snap.snapd-desktop-integration.snapd-desktop-integration.service: Failed with result 'exit-code'.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &DOCUMENTS. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &MUSIC. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &PICTURES. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &VIDEOS. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &DOWNLOAD. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &DOCUMENTS. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &MUSIC. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &PICTURES. Ignoring this location.
 Jan 09 14:58:55 user-TB14 tracker-miner-f[5058]: Unable to get XDG user directory path for special directory &VIDEOS. Ignoring this location.
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.a11y.Bus' requested by ':1.4' (uid=125 pid=5051 comm="/usr/bin/gnome-shell " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.a11y.Bus'
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5140]: (WW) Option "-listen" for file descriptors is deprecated
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5140]: Please use "-listenfd" instead.
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5140]: (WW) Option "-listen" for file descriptors is deprecated
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5140]: Please use "-listenfd" instead.
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.freedesktop.impl.portal.PermissionStore' requested by ':1.3' (uid=125 pid=5051 comm="/usr/bin/gnome-shell " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.freedesktop.impl.portal.PermissionStore'
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.gnome.Shell.Notifications' requested by ':1.3' (uid=125 pid=5051 comm="/usr/bin/gnome-shell " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5130]: dbus-daemon[5130]: Activating service name='org.a11y.atspi.Registry' requested by ':1.0' (uid=125 pid=5051 comm="/usr/bin/gnome-shell " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5130]: dbus-daemon[5130]: Successfully activated service 'org.a11y.atspi.Registry'
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5051]: Window manager warning: Failed to parse saved session file: Failed to open file “/var/lib/gdm3/.config/mutter/sessions/10cecfa228c0c045d2167327273577826200000050040000.ms”: No such file or directory
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.gnome.Shell.Notifications'
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.freedesktop.systemd1' requested by ':1.9' (uid=125 pid=5269 comm="/usr/libexec/gsd-sharing " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
 Jan 09 14:58:56 user-TB14 gsd-sharing[5269]: Failed to StopUnit service: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
 Jan 09 14:58:56 user-TB14 gsd-sharing[5269]: Failed to StopUnit service: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.gtk.vfs.Daemon' requested by ':1.24' (uid=125 pid=5335 comm="ibus-daemon --panel disable " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.gtk.vfs.Daemon'
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.freedesktop.portal.IBus' requested by ':1.24' (uid=125 pid=5335 comm="ibus-daemon --panel disable " label="unconfined")
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.freedesktop.portal.IBus'
 Jan 09 14:58:56 user-TB14 xbrlapi.desktop[5417]: openConnection: connect: No such file or directory
 Jan 09 14:58:56 user-TB14 xbrlapi.desktop[5417]: cannot connect to braille devices daemon brltty at :0
 Jan 09 14:58:56 user-TB14 gnome-shell[5051]: JS ERROR: Failed to initialize fprintd service: Gio.IOErrorEnum: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available
                                                   asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:114:23
 Jan 09 14:58:56 user-TB14 gsd-media-keys[5287]: Failed to grab accelerator for keybinding settings:hibernate
 Jan 09 14:58:56 user-TB14 gsd-media-keys[5287]: Failed to grab accelerator for keybinding settings:playback-repeat
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.gnome.ScreenSaver' requested by ':1.23' (uid=125 pid=5309 comm="/usr/libexec/gsd-power " label="unconfined")
 Jan 09 14:58:56 user-TB14 gnome-shell[5051]: ATK Bridge is disabled but a11y has already been enabled.
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.gnome.ScreenSaver'
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5436]: The XKEYBOARD keymap compiler (xkbcomp) reports:
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5436]: > Warning:          Unsupported maximum keycode 708, clipping.
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5436]: >                   X11 cannot support keycodes above 255.
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5436]: > Error:            Key <LFSH> added to map for multiple modifiers
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5436]: >                   Using Lock, ignoring Shift.
 Jan 09 14:58:56 user-TB14 org.gnome.Shell.desktop[5436]: Errors from xkbcomp are not fatal to the X server
 Jan 09 14:58:56 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Activating service name='org.freedesktop.portal.IBus' requested by ':1.36' (uid=125 pid=5432 comm="ibus-daemon --panel disable -r --xim " label="unconfined")
 Jan 09 14:58:57 user-TB14 /usr/libexec/gdm-wayland-session[5000]: dbus-daemon[5000]: [session uid=125 pid=5000] Successfully activated service 'org.freedesktop.portal.IBus'
 Jan 09 14:59:03 user-TB14 gdm-password][5547]: gkr-pam: unable to locate daemon control file
 Jan 09 14:59:03 user-TB14 systemd[2346]: app-gnome-gnome\x2dkeyring\x2dssh-5764.scope: Failed to add PIDs to scope's control group: No such process
 Jan 09 14:59:03 user-TB14 systemd[2346]: app-gnome-gnome\x2dkeyring\x2dssh-5764.scope: Failed with result 'resources'.
 Jan 09 14:59:03 user-TB14 systemd[2346]: Failed to start Application launched by gnome-session-binary.
 Jan 09 14:59:03 user-TB14 gnome-session-binary[5752]: GnomeDesktop-WARNING: Could not create transient scope for PID 5771: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 5771 does not exist.
 Jan 09 14:59:03 user-TB14 kernel: usb 1-1.2: Failed to query (GET_DEF) UVC control 6 on unit 2: -32 (exp. 2).
 Jan 09 14:59:03 user-TB14 systemd[2346]: org.gnome.Shell@x11.service: Start request repeated too quickly.
 Jan 09 14:59:03 user-TB14 pipewire[2353]: spa.v4l2: '/dev/video2' VIDIOC_QUERYCTRL: Input/output error
 Jan 09 14:59:03 user-TB14 pipewire-media-session[2354]: ms.core: error id:26 seq:427 res:-5 (Input/output error): enum params id:1 (Spa:Enum:ParamId:PropInfo) failed

```

My next ideas would be reinstalling the AMD graphics drivers, also trying the proprietary ones, and checking if the USB/displayport controllers work correctly.

Any ideas would be appreciated!

**Edit** 26-Jan-2023: After doing the BIOS upgrade (see answer below), the issue seemed fixed. However, after some days, the problem came again, rather erratically: Some times after a reboot it would work, and some times not, showing the same lagging behavior only on the external monitor as before.
I tried HDMI with the same monitor, and everything was fine. Therefore, I suspect the USB-C displayport to cause the issue.

Some more checking revealed that the monitor is running on 30 Hz 24-bit (Link Rate HBR) only, as shown in the monitor's info. Also, USB shows "2.0".