Display corruption on Lenovo T480 after installing 22.04 LTS

Asked by ccbirb

Ever since I installed 22.04 (Lenovo Thinkpad T480, Nvidia GeForce MX150) in April I've been having episodes of my laptop display becoming garbled seemingly at random. At first it happened once every few days or so but it has recently been getting worse, occurring several times a day. It starts at the bottom of the screen and sweeps upwards until most of the screen is covered, then after a few seconds everything goes black. Listening closely I can hear a faint buzzing sound which would suggest hardware issues, however I had no problems with 20.10 before the install and I am currently dual-booting Windows 10 which also has none of these issues.

Overall the system stays responsive, logging out with Ctrl+Alt+Delete or locking the screen usually works and restores the screen to normal. When the corruption starts while an external monitor is plugged in, only the laptop display is affected. If needed I can provide a photo of the screen when the glitching starts.

So far I've tried without success:

    - Moving from nouveau NVIDIA drivers to proprietary (nvidia-driver-510)

    - Switching between the Xorg and Wayland version on the login screen

I used to run Mint on this laptop a few years ago and I remember having had screen issues related to modesetting but wasn't able to find anything about it related to my current problems.

Thanks in advance and if any more info is needed I'd be glad to give it :)

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
ccbirb
Solved:
Last query:
Last reply:
Revision history for this message
Kyle Francis Morey (kyle-morey) said :
#1

I had a similar issue with my E590 a few years ago after an update to Gnome.

I resolved the issue by setting the refresh rate in display settings to match those recommended for my integrated monitor.

If your issue is similar to what I experienced, the different refresh rates cause a cumulative mismatch that resembles a sea of Gaussian static. I am not %100 sure, but I suspect that there is a missing or broken instruction that is keeping the software from controlling the refresh rate of the monitor.

I hope I was able to help!

Revision history for this message
ccbirb (ccbirb) said :
#2

Thanks for the answer!

So I had a look in the display settings and I can only choose between 60.02Hz and 48Hz.

However, running xrandr gives me the following (omitting the output for lower screen resolutions):

Screen 0: minimum 16 x 16, current 1920 x 1080, maximum 32767 x 32767
XWAYLAND0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1920x1080 59.96*+
   1440x1080 59.99
   ...

There indeed seems to be a refresh rate difference, however I couldn't find which one might be correct as the laptop specs simply state the display refresh rate is 60Hz. After some digging around I used "sudo get-edid | edid-decode" to get the following output:

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: LGD
    Model: 1313
    Made in: 2016
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 6
    DisplayPort interface
    Maximum image size: 31 cm x 17 cm
    Gamma: 2.20
    DPMS levels: Standby Suspend Off
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red : 0.5800, 0.3603
    Green: 0.3349, 0.5595
    Blue : 0.1601, 0.1201
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1: 1920x1080 60.020 Hz 16:9 66.683 kHz 138.700 MHz (309 mm x 174 mm)
                 Hfront 48 Hsync 32 Hback 80 Hpol P
                 Vfront 3 Vsync 5 Vback 23 Vpol N
    DTD 2: 1920x1080 47.999 Hz 16:9 53.327 kHz 110.920 MHz (309 mm x 174 mm)
                 Hfront 48 Hsync 32 Hback 80 Hpol P
                 Vfront 3 Vsync 5 Vback 23 Vpol N
    Alphanumeric Data String: 'LG Display'
    Alphanumeric Data String: 'LP140WF6-SPB7'
Checksum: 0x74

So I'm guessing the 60.02 Hz shown in the display settings is indeed the correct refresh rate, however according to xrandr it is currently set to 59.96Hz and 60.02Hz is not available. Running "xrandr -s 1920x1080 -r 60.02" gives me "Rate 60.02 Hz not available for this size". Running "xrandr -s 1920x1080 -r 60" works but still leaves me with the 59.96Hz refresh rate.

Assuming the refresh rate is the issue here, is there a way to "force" xrandr to use 60.02Hz?

Revision history for this message
Khalid Abu Shawarib (khalid-shawarib) said :
#3

I had something similar issue on a desktop monitor except that the screen didn't turn black but returned to normal. The three things that caused this bug were using 144Hz, enabling variable refresh rate, and a using a certain display port. Unfortunately, these don't seem to apply here.

Revision history for this message
Kyle Francis Morey (kyle-morey) said (last edit ):
#4

You should try using:

xrandr --newmode "modeName" modeInformation

To add the profile with the correct resolution and refresh rates use the xrandr --addmode flag to add the new mode to the display, and then the --output and --mode flags to apply it.

Revision history for this message
ccbirb (ccbirb) said (last edit ):
#5

Thanks for all the replies, I think I've figured out the problem, it doesn't seem to have been related to refresh rate after all.

My laptop has dual graphics and I noticed that on 22.04 LTS, the default nvidia prime profile activates the discrete GPU on demand.

After changing it to use the discrete GPU all the time I didn't even get graphical boot, and in recovery mode I found an nvidia bug report file filled with errors. This would also explain the random nature of the graphical failures; they most likely happen whenever the nvidia GPU comes on.

Keeping the integrated Intel graphics on permanently seems to have solved my issue as I haven't had even mild glitches for the whole day.

Although this leaves me with no discrete graphics I'm leaving this as is for now, as I don't strictly need to do anything graphics-heavy on Ubuntu at the moment.