Ubuntu 22.10 and Dell Latitude 7390 – screen does not turn back on after waking up from sleep

Bug #2006994 reported by Attila
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Ubuntu 22.10 and Dell Latitude 7390 – screen does not turn back on after waking up from sleep

Scenario:

Fresh and clean Ubuntu 22.10 install on Latitude 7390, requiring nomodeset kernel boot option to be added in GRUB at boot time when booting from USB stick. This can be achieved by following instructions from here: https://www.dell.com/support/kbdoc/en-uk/000123893/manual-nomodeset-kernel-boot-line-option-for-linux-booting

Then, nomodeset needs to be permanently added to /etc/default/grub
Followed instructions from https://askubuntu.com/questions/38780/how-do-i-set-nomodeset-after-ive-already-installed-ubuntu

If nomodeset is not added, Dell Latitude 7390 will freeze at one point or another, either before reaching the Gnome desktop, either little after. This is the case with both, installing Ubuntu 22.10 from Live USB and running Ubuntu 22.10 after install the install (and having the USB stick disconnected).

The issue after having Ubuntu 22.10 installed on Dell Latitude 7390 and having nomodeset permanently added to GRUB for each boot is:

If by chance the system goes into sleep, after waking up, there is a totally pitch-black screen; nothing shows up, no screen backlight either. However, caps-lock works and I am able to log in to the system via ssh and can see the system is up an running well. I can even issue a request to send the system to sleep by “sudo systemctl suspend” and then wake the the system up several times without loosing ssh access, however, the screen will remain pitch-black.

Other tries to troubleshoot and see if the system can be brought back with a working display (while nomodeset kernel option is being used):

1. sudo systemctl suspend -i
>>> this will result in an unusable system after waking up, again, with a pitch-black screen; moreover, the caps-lock would not work, the keyboard backlight won’t work, ssh won’t work; I need a hard reset to get the system back up.

2. start the system in single user mode by inserting “single” in GRUB at boot time;
>>> the system will be unusable after waking up, same as in try 1.

3. after a normal boot into the GNOME desktop with kernel nomodeset option and investigating the dmesg for any acpi, no error could be found.

Tried to read up on other possible solutions, while stumbled upon the ubuntu wiki page below:
https://wiki.ubuntu.com/UnderstandingSuspend
Unfortunately, to not much help so far.

Other notes:
N1. All the above were done by having the latest BIOS v1.30.0
N2. This laptop came with Windows 10 Pro which works fine: goes into suspend and wakes up fine, with working screen and display.

N3. Dell Latitude 7390 was released on 15 Feb 2018 ( source: https://www.laptoparena.net/dell/notebook-dell-latitude-7390-n025l739013emea-black-12984 ) and the user manual states it has support for Ubuntu. Therefore, other older and major Ubuntu versions were given a try, along with a new version of Fedora:
N3.1 – Ubuntu 22.04
N3.2 – Ubuntu 18.04.6
N3.3 – Ubuntu 16.04.7
N3.4 – Fedora-Workstation-Live-x86_64-37-1.7
Each of the above will freeze at one point or another if nomodeset is not used, except the Ubuntu 18.04.6 and Ubuntu 16.04.7 which will run well and install well from the USB Live stick and will also run fine after the install, until the system goes into sleep, after which, when the system is awake, the screen is black and will have nothing displayed.

Any advice will be appreciated. Thank you!

ProblemType: Bug
DistroRelease: Ubuntu 22.10
Package: linux-image-5.19.0-31-generic 5.19.0-31.32
ProcVersionSignature: Ubuntu 5.19.0-31.32-generic 5.19.17
Uname: Linux 5.19.0-31-generic x86_64
ApportVersion: 2.23.1-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: tuser 2832 F.... wireplumber
 /dev/snd/seq: tuser 2829 F.... pipewire
CRDA: N/A
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Sat Feb 11 13:37:59 2023
InstallationDate: Installed on 2023-01-15 (27 days ago)
InstallationMedia: Ubuntu 22.10 "Kinetic Kudu" - Release amd64 (20221020)
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
 Bus 001 Device 002: ID 0bda:5650 Realtek Semiconductor Corp. Integrated Webcam_HD
 Bus 001 Device 004: ID 0a5c:5832 Broadcom Corp. 5880
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. Latitude 7390
ProcEnviron:
 LANGUAGE=en_GB:en
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcFB: 0 EFI VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.19.0-31-generic root=UUID=ef0306ad-ea82-4608-b711-ee16cf13a267 ro debug nomodeset ignore_loglevel
RelatedPackageVersions:
 linux-restricted-modules-5.19.0-31-generic N/A
 linux-backports-modules-5.19.0-31-generic N/A
 linux-firmware 20220923.gitf09bebf3-0ubuntu1
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
WifiSyslog:

dmi.bios.date: 11/20/2022
dmi.bios.release: 1.30
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.30.0
dmi.board.name: 09386V
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.30.0:bd11/20/2022:br1.30:svnDellInc.:pnLatitude7390:pvr:rvnDellInc.:rn09386V:rvrA00:cvnDellInc.:ct10:cvr:sku081B:
dmi.product.family: Latitude
dmi.product.name: Latitude 7390
dmi.product.sku: 081B
dmi.sys.vendor: Dell Inc.

Revision history for this message
Attila (usingubuntu) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Attila (usingubuntu) wrote :
Revision history for this message
isotope (vadim-ryazanov) wrote :

Similar behaivour started recently on my Lenovo V330. Presumably introduced by one of the updates.

Revision history for this message
Benjamin Renard (brenard) wrote :

I have exactly the same problem on my Dell Latitude 7390. I also try it with Debian Bullseye and I reproduce this problem. No problem on the original Microsoft Windows installation.

Revision history for this message
Benjamin Renard (brenard) wrote :

With some help (https://gitlab.freedesktop.org/drm/intel/-/issues/4813), I finally found a better workaround than the "nomodeset" kernel parameter : replace it by "i915.enable_psr=0". See https://gitlab.freedesktop.org/drm/intel/-/issues/4813 for details. For me, all seem works well now (including suspend on RAM/disk and with/without my DisplayLink USB-C dock).

Revision history for this message
Attila (usingubuntu) wrote :

Thank you for this, Benjamin Renard! I have tried this and indeed, the problem is gone. I only have the laptop, no additional displays attached, however, it works fine! Until the problem is 100% solved by someone, I will just use the "i915.enable_psr=0" kernel parameter at boot time. For anyone who is looking to do the same, just follow the steps after >>> Solution – Part II (Permanent "nomodeset" option) <<< from https://www.dell.com/support/kbdoc/en-uk/000123893/manual-nomodeset-kernel-boot-line-option-for-linux-booting and replace "nomodeset" with i915.enable_psr=0

Any other updates to this issue are appreciated here! :) Have a great week!

Revision history for this message
Attila (usingubuntu) wrote (last edit ):

[Edited] UPDATE RE: i915.enable_psr=0

Yes, this kernel parameter solves the problem - WHEN - the laptop runs off it's internal battery.

As soon as I plug the power cable in and issue a >> systemctl suspend << command, the screen will go blank, however, the system will not go into sleep: the keyboard backlight will stay on and will fade after a while; if I touch the touchpad or any key on the keyboard, the backlight will turn back on; moreover, sometimes the keyboard backlight just stays on constantly, does not fade away; the power button will have it's led on, won't turn off and I can hear the system is somewhat still running - as in: it does not become 100% quiet, some electricity is still in use.

So, this kernel module is only a partial solution, by using i915.enable_psr=0 it is possible to install and run Ubuntu 22.10 without freezing the system and if the laptop runs off the battery, even suspend will work fine (the system will wake up as expected).

Looking for further solutions, to sort our the suspend-wakeup issue if the laptop runs of AC power.

Revision history for this message
isotope (vadim-ryazanov) wrote :

My issue is now resolved. Not sure, but I think it was broken GRUB somehow in my case. Right after issue started manifesting itself, I noticed every time update shows up, any GRUB related items are deselected and could not be selected in Software Updater GUI. Tried terminal and those same packages showed as "kept back" and would not update. After quick search, I tried to apt install those packages and it did work! All of the sudden, my laptop started coming alive after suspend instead of becoming zombie. Hope this helps someone.

Revision history for this message
isotope (vadim-ryazanov) wrote :

And.... it is happening again...

Revision history for this message
Attila (usingubuntu) wrote :

INDEED! The problem is back. I can not explain how, however, after a little while, after adding the i915.enable_psr=0 kernel boot option to grub permanently, if the system fades to black or the system goes into sleep mode, it won't come back up again :(

Non-explainable behaviour! Anyone knows of any fix to this? Would be greatly appreciated!

Revision history for this message
Ben Baker (benbaker76) wrote :

Can you try adding `intel_idle.max_cstate=1` kernel boot arg. So far it seems to have fixed the suspend-wakeup issue on AC power for me.

Revision history for this message
Attila (usingubuntu) wrote :

@ Ben Baker thank you for your suggestion. I did try and here is what has actually happened:

When I only added `intel_idle.max_cstate=1` kernel boot arg to grub boot, without `nomodeset` and without `i915.enable_psr=0`, I got a system freeze just when the login screen showed up. I only tried this once.

Then, I have added `intel_idle.max_cstate=1` along 'i915.enable_psr=0' (without `nomodeset`). This time, the system booted fine. When I tried "sudo systemctl suspend", yes, the system went into sleep and woke up fine. I did not wait too long after the system went into sleep and me waking it up again. I have tried this on AC and on battery and it worked both times. And it does so even if I just close the lid and then open it back up again. Great!

What still seems to be an issue, however, if the screen fades to black after being idle. Now, if this happens and one would quickly interact with the system, all comes back and works fine. IF THERE IS 10-20 SECONDS WAIT AFTER THE SCREEN FADED TO BLACK, it becomes unresponsive (I repeated the test three times, and once it happened after 2 minutes 39 seconds)! I had ping running to this laptop and I also had an ssh connection showing 'top' and both were gone (ping stopped and 'top' stopped updating).

I also tried to issue "sudo systemctl hibernate" and again, the screen would go black straight away, keyboard back-light would fade, with the power button led still on, and, the system would become unresponsive (still, if I press any key on the keyboard, the back-light would come back on again and fade after a little while). For the record, ping and 'top' via ssh would also stop.

It would be really good for this to get a solution. (I tried running Ubuntu 23.04 and the problem persists, without me testing too much).

Revision history for this message
Ben Baker (benbaker76) wrote :

Thanks for posting @Attila. So it turns out I'm still getting the occasional freezing still also.

I have found another kernel boot arg to try.

`i915.enable_dc=0`

I'm going to add this now and see if it helps.

Revision history for this message
Ben Baker (benbaker76) wrote :

Using the following kernel boot args:

`GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 i915.enable_dc=0 intel_idle.max_cstate=1"`

So far I haven't got any issues waking from sleep. @Attila can you confirm if it works for you?

Revision history for this message
Attila (usingubuntu) wrote (last edit ):

Hello!

Unfortunately, I have not been notified by email that a new comment has been posted here, and so, I am only seeing this now, by simple coincidence!

First, thank you @BenBaker for the suggestion.

I have just tried it straight away. And here are my results: yes, with your kernel boot args, the Dell Latitude 7390 seems to work fine on AC and on DC (or battery) as well. To be more precise, I have added the exact same kernel boot args and if the system became IDLE, the screen faded to black and was coming back on if any key-press was made.

Moreover, if suspend is the action for closing the lid, this works fine too!

I issued -> sudo systemctl suspend <- works fine.
I issued -> sudo systemctl hibernate <- seemingly, this will shut down the system as when the power button is pressed to wake the system back up, the system starts just like after a shutdown.

So, in conclusion, with your last suggestion, everything works fine (with very little testing as detailed above) as suspend is regarded, but hibernate will shut the system down.

And all the above, on Ubuntu 22.10

Thank you again and if anyone would come up with more solutions, please share! Have a nice day!

Revision history for this message
Attila (usingubuntu) wrote :

NEW: I have now installed Ubuntu 23.10 on Dell Latitude 7390.

My 1st attempt of booting the installer from the live USB Stick was a lot of waiting and then the system suddenly rebooted (a lot of waiting at the black screen with the Dell logo and the Ubuntu logo and the animated Ubuntu loading circle).

My 2nd attempt was to add the Grub boot arguments at boot time, just like Ben Baker has suggested on comment #15 above (direct link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2006994/comments/15 ):

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 i915.enable_dc=0 intel_idle.max_cstate=1"

With the above three parameters added, the installer had booted successfully and I was able to install Ubuntu. In order to make these parameters permanent, I have then done:

sudo nano /etc/default/grub and edited the line GRUB_CMDLINE_LINUX_DEFAULT to look like it is shown above and saved and exited. sudo update-grub did give an error (probably, because I was still running Ubuntu from the live USB stick), however, when I rebooted the system, to my surprise, the edit persisted and the system booted fine! :)

**** A side note to anyone NEW who will encounter this issue and who will wish to attempt to add the above boot parameters into grub at boot time:

Step #1: when the system boots and the Ubuntu logo shows up, quickly press ESC for the Grub menu to show up (if ESC is pressed too many times, the system will jump to the grub>_ prompt instead of the grub menu; to get back from the grub>_ prompt, just type normal and press ENTER, after which press ESC again for the grub menu to show up, otherwise, the system will boot as normal).

Step #2: in the grub menu, select the line with Ubuntu, usually the top line, and press e to edit, then, use the arrow keys to navigate to the line starting with:

linux /boot/vmlinuz-..... root=UID=..... ro quiet splash $vt_handoff

The above line may slightly differ on different laptops?

Just carefully add the i915.enable_psr=0 i915.enable_dc=0 intel_idle.max_cstate=1 after the splash, making sure nothing gets erased and that there is a space separator between the already present boot parameters (or arguments).

Step #3: after all this is finished, press CTRL+X or F10 to boot the system with these arguments. If successful with your boot and install, etc. just remember that these boot args were only added at boot time and so, one would need to add them again and again at every boot. In order to save them and boot without hassle, one will need to sudo nano /etc/default/grub and edit there the same way, then, run sudo update-grub for the changes to be updated for grub.

Happy New Year 2024! :) and HOPE this ISSUE will be sorted ONE DAY :)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.