Dell G5 SE 5505
Hardware | PCI/USB ID | Working? |
---|---|---|
GPU | 1002:731f | Yes |
Wireless | 8086:2723 | Yes |
Bluetooth | 8087:0029 | Yes |
Audio | 1022:15e3 | Yes |
Touchpad | 04F3:30CB | Yes |
Webcam | 0c45:671f | Yes |
Ethernet | 10ec:8168 | Yes |
This page describes Dell G5 SE 5505 laptop.
Installation
Disable Secure Boot in your BIOS (press the F2
key on boot). Install Arch Linux as usual using UEFI installation method. You may have to use the amdgpu.runpm=0
kernel parameters if you are experiencing GPU crashes.
Firmware
There are a few ways to update the firmware on this device. Using Windows and the Dell provided tools on the support page for this laptop is certainly one of them, but that method often causes many issues. This guide will explain how to update the firmware for the Dell G5 SE 5505 within Arch.
Before we begin with instructions, make sure "UEFI Capsule Updates" is enabled in the UEFI settings. Passing firmware updates (especially UEFI or similar I/O updates) from an OS to the NVRAM (where firmware data is "physically stored" on the motherboard) is impossible to achieve otherwise.
Since we are downloading files to a storage medium with very limited storage capacity, it's important to make sure there is sufficient available space in the NVRAM partition. Often times the above referenced Dell support tools used to install capsule updates from Windows fail to function and end up filling the NVRAM with dump logs.
Navigate to the proper directory by running:
cd /sys/firmware/efi/efivars/
Make sure to remove all dump files within this directory, if any. A quick way to remove all dump logs at once is to run:
rm -rf dump-*
Now there are no dump files, we can update the system firmware by running a very useful tool: fwupd.
run fwupdmgr get-updates
to pull firmware updates, then
fwupdmgr update
to install the updates.
At this point your device may restart. It's important to not touch anything, especially the power button/AC adapter and let the updates run their course.
Graphics
Works out of the box, install mesa if you want to use 3D applications. If you want to use the dedicated GPU, use DRI_PRIME=1 command
, where command
is the command you want to launch with your dGPU (see PRIME#For open source drivers - PRIME). Wayland session works out of the box on gnome with pipewire. AMD's Smart Access Memory (or Resizable BAR) should work since kernel ≥ 5.11.4.
Screen tearing
Works out of the box for Wayland sessions.
For X11: install xf86-video-amdgpu
.
/usr/share/X11/xorg.conf.d/
, and no extra configuration is necessary for most setups.If no *0-amdgpu.conf
is present in /etc/X11/xorg.conf.d/
folder, copy the default amdgpu.conf
file from /usr/share/X11/xorg.conf.d/
.
Example:
# cp /usr/share/X11/xorg.conf.d/10-amdgpu.conf /etc/X11/xorg.conf.d/
Edit the .conf file as follows:
/etc/X11/xorg.conf.d/10-amdgpu.conf
Section "OutputClass" Identifier "AMDgpu" MatchDriver "amdgpu" Driver "amdgpu" Option "TearFree" "true" EndSection
Video Encoding / Decoding
# vainfo
vainfo: VA-API version: 1.14 (libva 2.12.0) vainfo: Driver version: Mesa Gallium driver 22.0.5 for AMD RENOIR (LLVM 13.0.1, DRM 3.48, 6.0.9-060009-generic) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
Power management
CPU
acpi-cpufreq is working down to 1.40 GHz. amd_pstate fails to load with BIOS Version 1.14.0 (11/30/2022)
kernel: amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
GPU
Battery life below two hours when amdgpu.runpm=0
is used and the dedicated GPU never turns off.
Since Kernel Version 6.0.x and BIOS Version: 1.13.0 amdgpu power management sees fewer GPU crashes.
Show power management profiles:
# cat /sys/class/drm/card?/device/pp_power_profile_mode
Enable power saving mode (as root):
# echo manual > /sys/class/drm/card0/device/power_dpm_force_performance_level # echo "2" > /sys/class/drm/card0/device/pp_power_profile_mode
See amdgpu kernel documentation
Suspension and hibernation
Does not work. You can try to enabling its support via BIOS injection, see [1]
Temperature monitoring, Fan control
Monitoring
By default the kernel loads the k10temp
module to check cpu thermals.
$ sensors
k10temp-pci-00c3 Adapter: PCI adapter Tctl: +38.0°C Tdie: +38.0°C
To monitor GPU temp, and see fan speeds you will have to force load the dell-smm-hwmon Kernel module (see [2] for documentation), which is not loaded by default on this laptop.
# modprobe dell-smm-hwmon restricted=0 ignore_dmi=1
To make this setting persist upon reboot edit your /etc/modules-load.d/dell-smm-hwmon.conf
file
dell-smm-hwmon
and your /etc/modprobe.d/dell-smm-hwmon.conf
file
# This file must be at /etc/modprobe.d/ options dell-smm-hwmon restricted=0 ignore_dmi=1
You should now see a dell result in the result of sensors
.
dell_smm-virtual-0 Adapter: Virtual device Processor Fan: 0 RPM Video Fan: 0 RPM Other: +37.0°C CPU: +40.0°C Ambient: +38.0°C GPU: +38.0°C Other: +37.0°C
Fan Control
An easy way to manually control fans, or to manually create custom fan curves is to use: this python script which can more accurately push the fans according to CPU and GPU temperatures. This script also restores the defunct Fn + F7
"boost" functionality by providing a command that manually activates the boost profile defined by UEFI data.
Thermal management, overclocking
CPU
The packages ryzenadj-gitAUR and ryzen-controller-binAUR (gui for ryzenadj) should work out of the box to control maximum temperature and TDP of your CPU. For instance, the following command restrict your CPU TDP to 40 Watts and maximum temperature to 70°C (perfectly safe on this laptop)
# ryzenadj -a 40000 -b 40000 -c 40000 -f 70
see [3] and [4] for detailed instructions on how to use theses tools.
Undervolting and overclocking are not available on this laptop, zenstates-gitAUR does not seem to have any effect on zen2 processors see [5] .
Also see Improving performance for more performance tricks.
GPU
You can try to use corectrl. Also see AMDGPU#Overclocking.
Webcam
# v4l2-ctl --list-formats-ext ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 960x540 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 848x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) [1]: 'YUYV' (YUYV 4:2:2) Size: Discrete 1280x720 Interval: Discrete 0.100s (10.000 fps) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 640x360 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 424x240 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 320x180 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps)