This guide assumes you have a freshly-installed Ubuntu 18.04 installed on your Dell G3. Following the following steps will recreate the configuration that Dell ships on Ubuntu-preinstalled G3 laptops.

WARNING: THESE STEPS ARE PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND. If you lose your data, brick your device, any other damage or anything else happens (e.g. your cat eats your dog), it is YOUR PROBLEM and YOUR RESPONSIBILITY. You have to make sure to get a recovery disk before making these changes.

Dell OEM customizations

Dell does quite a few modifications to Ubuntu official 16.04 ISO. This is a non-exhaustive list of what Dell changed. Please note that there is no solution yet to make the Goodix fingerprint sensor works.

Dell customizations that can be skipped

  • Bluez 5.37: Bluez 5.48 is default in Ubuntu 18.04,
  • Dell e-star (dell-e-star_0.05_all.deb): e-star logo in unity control panel,
  • Dell Super key (dell-super-key_0.04_all.deb): disable Super keyboard key (the one with Windows logo) with a gschema1,
  • Google Chrome (google-chrome-stable_64.0.3282.140-1_amd64.deb): can be installed easily,
  • Add Google Chrome to launcher (oem-add-google-chrome-to-launcher_1_all.deb): add Google Chrome to Ubuntu desktop launcher with a gschema1,
  • A more recent Mesa (libdrm 2.4.83-1): 2.4.91-2 is default in Ubuntu 18.04,
  • Dell blacklists psmouse kernel module to remove some warning in kernel logs.
  • Dell EULA (dell-eula_1.03_all.deb): useless information,
  • Dell repository: useless for this specific laptop.

ACPI OSI

In the package config-prime-select-intel-all_0.15_all.deb, Dell ships a config file to make Ubuntu announces itself as Linux-Dell-Video to the ACPI BIOS. To do the same without a Debian package, create /etc/default/grub.d/Linux-Dell-Video.cfg and write:

1
GRUB_CMDLINE_LINUX=$(echo $GRUB_CMDLINE_LINUX acpi_osi="Linux-Dell-Video" )

Then update GRUB configuration by executing in a shell:

1
sudo update-grub

Better battery life

Dell uses TLP to manage power consumption and to preserve battery life.

To get the same config as the one Dell ships, install tlp and tlp-rdw then reboot.

Dell also includes a custom TLP configuration tlp-sensible_1.1_all.deb but it is useless with recent versions of Ubuntu.

Ethernet

Install r8168-dkms and reboot to get a fully-working ethernet card.

Nvidia driver

Dell ships Ubuntu 16.04 with a preconfigured Optimus-ready (PRIME) Nvidia driver and CUDA. It uses Nvidia 390.25 driver that is older those available in Ubuntu 18.04. The way Optimus works in Ubuntu 18.04 changed a lot and now installing a recent Nvidia driver will be sufficient to get a working setup.

You can use ppa:graphics-drivers/ppa to have newer Nvidia drivers.

Before november 2018, the only way to get a proper PRIME support was to follow the instructions on Tim Richardson’s Prime-Ubuntu-18.04 project. This has been fixed in Ubuntu 18.10 and backported in 18.04.

Tear free screen with Nvidia PRIME

To use PRIME-sync and remove tearing, create /etc/default/grub.d/Nvidia-DRM.cfg and write:

1
GRUB_CMDLINE_LINUX=$(echo $GRUB_CMDLINE_LINUX nvidia-drm.modeset=1 )

This will load Nvidia at boot enabling some experimental features that might create instability. I have been using this configuration so far and I had no issues with Xorg.

Native Thunderbolt

Make sure you are running a kernel newer than 4.17 to make Linux will announce itself compatible with native Thunderbolt to the UEFI. You can upgrade to a newer kernel using Ubuntu LTS Enablement Stack:

1
apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04

  1. GNOME Settings desktop schema, a file to set defaults within gsettings database. ↩︎