Perfection. Today. – Running Fedora on Dell XPS 7590

received_718834481937660.jpeg

The new Dell XPS 7590 is a great machine. Like every great machine it has some drawbacks, but since it is much greater than the sum of its features you bond with it and forgive it.

Take mine for example. Even though the keyboard is far from perfect (with backspace and enter keys making some really weird noises) and it arrived with some scratches on the beautiful aluminium chamfered edges,
everything else about it is just… well perfect.

The 4K OLED display – perfect. The six-core powerhouse 9750H – perfect. The fast NVIDIA GTX1650 – perfect. The carbon/aluminium chassis – perfect. And the best thing about it: It runs Linux almost 100% out of the box.

Installation #

Chances are that your Dell XPS will ship with Windows. If you want to dual-boot (which I recommend for BIOS updates) you will need to go through some steps.

To avoid repeating everthing, there is a great post here detailing all the steps you need to do before booting off your USB live drive and installing Fedora.

Only thing I would add is to update your firmware before doing anything else. You want to be on 1.3.3 version (Dec 2019). You can update the firmware easily through Dell Update Utility.

After this, we are ready to install Fedora.

The good stuff #

Fedora works out of the box on the 7590. So, Wi-Fi, BT, 4K display scaling. Almost everything works. When you boot it and install it, then you can fix some of the bad stuff.

The bad stuff #

Let’s go through the bad stuff.

OLED Brightness #

Since 7590 has an OLED screen brightness will not work out of the box. However the fix is very easy. You can use the xrandr way described here which works fine but has several issues: on resuming from suspend your brightness will be at 100% which will blind you at night, and it only works with Xorg. Much better solution for both Wayland and Xorg is to use https://github.com/udifuchs/icc-brightness which works perfectly. Just follow the build instructions and you will be good to go.

NVIDIA #

7590 has dual graphics (yay). I only realized recently that the Bumblebee project is obsolete. However, I’ve a had great experience with negativo17’s drivers. They are basically plug and play (do a dnf upgrade and reboot before proceeding):

# dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
# dnf -y remove "*nouveau*"
# dnf -y install nvidia-driver dkms-nvidia nvidia-driver-cuda

(I prefer dkms over akmods), and reboot. Check your gpu is ok with nvidia-smi. Installing the driver will make the card run all the time. And while the power-draw is not that huge it is best to blacklist the module so it is ran on demand. First on the cmdline:

$ sudo grubby --update-kernel=ALL --args="rd.driver.blacklist=nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"

and for modprobe.d:

cat /etc/modprobe.d/blacklist.conf 
blacklist nvidia
blacklist nvidia_drm
blacklist nvidia_modeset
blacklist nvidia_uvm

and reboot. Then, lsmod | grep nvidia should yield nothing. But then you may ask how can you use your NVIDIA GPU? Well you have several options:

  1. disable the module blockers and use PRIME (handy alias alias nvidia-run='__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia)
  2. Use nvidia-xrun to run NVIDIA powered Xorg session on a separate tty.

Both work fine, I prefer option 1, since I don’t mind rebooting when I need to use my GPU. Of course, also, option 3 is leaving it on all the time which depending on your workloads could be an option. :)

Deep sleep #

Out of the box 7590 doesn’t go to deep sleep which can be fixed with a simple:

$ sudo grubby --update-kernel=ALL --args="mem_sleep_default=deep"

Thermals #

XPS 7590 can run hot so you may want to look into some thermal management. Installing powertop helps a lot:

$ sudo dnf -y install powertop 

To avoid doing auto-tune all the time make a service:

# /etc/systemd/system/powertop.service
[Unit]
Description=Powertop tunings

[Service]
Type=exec
ExecStart=/usr/sbin/powertop --auto-tune
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

and enable it with sudo systemctl enable powertop.

Long term XPS owners also recommend running a slight undervolt, more info here: https://github.com/kitsunyan/intel-undervolt

I run -100mV on my GPU and CPU and it helps a bit. At idle I am around 45C where Windows is around 55C.

Another recommendation is to control the frequency with a handy little gnome extension: https://extensions.gnome.org/extension/945/cpu-power-manager/

Conclusions #

Overall, I am very happy with my Dell XPS 7590. Battery life so far looks great (7-8 hours of light use) and it is really powerful. Hope this posts helps you install Fedora! :)

 
72
Kudos
 
72
Kudos

Now read this

Testing PyTorch XLA with Google Colab TPUs

If you are not aware, PyTorch XLA project is an effort to run PyTorch on TPU (Tensor Processing Unit) architecture which offers even higher performance in training Deep Learning models compared to GPU’s. In my previous post I showed you... Continue →