Arch Linux - Post-installation
Dell G5 5590

Personal Arch Linux post-installation guide for a Dell G5 5590. This guide is a complement of my Arch Linux post-installation guide and is part of my Linux installation guide.

It will be assumed that this guide is done using an unprivileged user.

Graphics card - Nvidia RTX 2060

$ sudo pacman -S nvidia-open nvidia-settings

Remove kms from the HOOKS array in /etc/mkinitcpio.conf and regenerate the initramfs with mkinitcpio -p linux.

Power management

Set the kernel parameter mem_sleep_default to deep (see this)

... mem_sleep_default=deep ...

If there is a long waiting time when resuming (see this), blacklist the kernel module ucsi_ccg

/etc/modprobe.d/dell.conf
blacklist ucsi_ccg

X Window System

PRIME Render Offload

According to the official documentation, the X server will automatically use NVIDIA's PRIME render offload (since the X server version in the repositories is newer than 1.20.7). To check this, execute

$ xrandr --listproviders

and check that the output has a provider provider named "NVIDIA-G0", for example:

Providers: number : 2
Provider 0: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 5 associated providers: 1 name:modesetting
Provider 1: id: 0x270 cap: 0x2, Sink Output crtcs: 4 outputs: 3 associated providers: 1 name:NVIDIA-G0

If automatic configuration does not work, explicitly configure the iGPU and dGPU devices:

/etc/X11/xorg.conf.d/20-nvidia-offload.conf
Section "ServerLayout"
        Identifier     "layout"
        Screen      0  "iGPU"
EndSection

Section "Device"
        Identifier     "iGPU"
        Driver         "modesetting"
EndSection

Section "Screen"
        Identifier     "iGPU"
        Device         "iGPU"
EndSection

Section "Device"
        Identifier     "dGPU"
        Driver         "nvidia"
EndSection

Offloading Graphics Display - PRIME

Configure the X Server according to the official documentation:

/etc/X11/xorg.conf.d/20-nvidia-offload.conf
Section "ServerLayout"
	Identifier     "layout"
	Screen      0  "dGPU"
	Inactive       "iGPU"
EndSection

Section "Device"
	Identifier     "dGPU"
	Driver         "nvidia"
	BusID          "<busID_nvidia>"
EndSection

Section "Screen"
	Identifier     "dGPU"
	Device         "dGPU"
	Option         "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
	Identifier     "iGPU"
	Driver         "modesetting"
EndSection

Section "Screen"
	Identifier     "iGPU"
	Device         "iGPU"
EndSection

where <busID_nvidia> is the PCI Bus ID of the Nvidia graphics card. To get the appropriate Bus ID (e.g., PCI:1:0:0), execute

lspci | grep VGA

Add the following lines to ~/.xinitrc:

~/.xinitrc
...
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
...