Dell G5 SE 5505

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Hardware table needs IDs, missing function keys table (Discuss in Talk: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

Use Windows to update UEFI and GPU firmware. UEFI can be updated through the UEFI though.

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.

Note: Arch supplies default configuration files in /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

Scripts to control fans

The easy way is to use this python script which can push the fans according to the cpu and gpu temperatures.

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
Warning: Do not touch anything that you do not understand, a too high TDP or temperature can permanently damage your CPU/iGPU !

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)