Dell G5S (Ryzen / Renoir) Laptop Unstable on Battery

I have a brand new Dell G5S laptop with the Ryzen 4000 CPU and the Radeon RX GPU onboard. I have a very odd issue in that it is unstable when running on battery power but pretty solid when plugged in to the wall. It also seems to be running hotter (57 degree idle temp) and the battery life is estimated to be only about an hour and a half when unplugged.

To confirm the problem, I can run the unigine-heaven benchmark when plugged in but on battery power it will freeze as soon as I start the bench mark. It will also randomly freeze on battery power doing nothing special.

I have been to the Arch Ryzen wiki page and installed the amd-ucode package. I also added idle=nomwait to my grub config. I have the zen monitor installed and I’m seeing idle temps in the 60Cs, min temps of 56C and Max Temp of 93C. It is changing the CPU Speed between 1.4ghz and 4+ghz. I’ve updated to all of the latest packages and am running the latest arch 5.8 linux kernel.

I’ve done a lot of googling but haven’t found much to go off. There is a reddit page that had some other users but none seemed to encounter the issue of being on battery power.

Any suggestions would be greatly appreciated.

I’m assuming you installed TLP. If not do it now.

I had some instability on battery with a Lenovo Ideapad Flex 5 w/ 4500U processor. My problems went away with kernel 5.7.12+ (not 5.8.0 Edit: runs fine with 5.8.12+), the newest BIOS/firmware and disabling tlp.

But there could be a problem with the battery if it is running hot and the run time estimate is low with a full charge. What does inxi -Bx report for battery condition? I had a new phone with a bad battery. It ran hot and not very long.

Sorry I never responded earlier. Got busy with some other projects. I’ve now come back to the laptop and trying to get it setup for use. inxi -Bx say’s command not found but I have another utility that shows battery status at 97% so I think the battery is okay.

I’m running the latest linux-zen arch kernel, nothing really helps there. I have enabled TLP and set the profils to all be on the powersave governor and that seems to help some. It doesn’t freeze as quickly anymore but still freezes on a regular basis.

Another thing that seems to be happening is that when on battery power, if the laptop goes into suspend, when I wake it up, I get the password prompt I am able to input my password but then it just comes up to a black screen with the mouse cursor visble and movable but nothing else.

I’ve been reading through this Reddit thread and tried all of the sugestions:

Some of them seemed to help but what I am surprised is that none of the other users are reporting instability when on battery power. When plugged in, the laptop is rock solid. Even played Team Fortress 2 for an hour without problems.

I did some additional searching and found this thread:

I’m going to give this a whirl and see what it does.

I still think the issue is the battery. I’m not sure why inxi was not found, but you can install it with pacman. inxi will give a little more information than just percentage charge.
My old Dell Inspiron had (hardware) diagnostics as a setup option (press < F12 > during power-up), maybe the G5S does too. If it does, there should be a battery test.

inxi is not installed by default:
sudo pacman -Syu inxi

1 Like

Thanks, installed it and got it to run. Here is the output:

Battery: ID-1: BAT0 charge: 49.9 Wh condition: 49.9/51.0 Wh (98%) model: BYD DELL M4GWP05 status: Full

1 Like

Those results look good, so I’ll abandon my thoughts about the battery. That still leaves power management settings as a possibility - compare on battery vs. A/C. I have a Lenovo 4500U based laptop and I’m getting good temps and battery life without TLP. But that probably doesn’t help with this Dell! Dell is usually pretty good about getting hardware support into linux. Maybe the new 5.9 kernel will be better (due out Sunday.) The reddit thread had several comment edits to use 5.8 instead of 5.6…

I just started the laptop on battery power but had to leave it sit at the login screen for several minutes while feeding a baby. I then logged in and within 10 seconds it had frozen with the caps lock key flashing quickly (I think that means kernel panic). I rebooted and logged in again and this time it ran for about 20 seconds. I was able to pull up the energy consumption from the KDE Info Center. It showed 20w of power being pulled from the battery. It then froze. I plugged it into the wall and it is rock steady.

I am already on the 5.8 kernel. I tried the testing 5.9 kernel but it booted to a black screen so I reverted back to 5.8. If 5.9 mainline is being released tomorrow, I will certainly upgrade to it and keep my fingers crossed.

One follow up question maybe you could help me with is what commands or logs should I look at after a kernel panic to try to diagnose?

If your system is locking up hard (needs long press on power button), the logs won’t show any clues. If the lockups are temporary then journalctl could help. See this post.

Regarding linux-5.9.0, arch might take a few more days after kernel. org releases it.

Looks like I have a possible solution pulled from this Reddit thread:

Adding amdgpu.runpm=0 appears to make the laptop more stable. I was able to run unigine-heaven and Team Fortress 2 while on battery life and it didn’t crash. At least the laptop appears to be usable now on battery power. I’ll update if / when I have additional information.

3 Likes

Follow up on this. Found this thread here:

One of the AMD devs has submitted a patch for Linux 5.9 that addresses the issue. I tested on the Arch Linux 5.9.1 kernel and either the fix isn’t working or the patch didn’t make it in to the Arch kernel. I still need to use:

amdgpu.runpm=0

To keep things stable on battery power.

Did you try the pcie_port_pm=force in the command line to see if it allows you to remove amdgpu.runpm=0?

I didn’t not try that but will try that now. Where did that option come from? I must have missed it in the threads somewhere.

It was in the thread.

Edit: Not sure it will work but it did for some. Nothing to lose trying it.

Tried it but it still hangs. I’m back to using:

amdgpu.runpm=0