This post lists Dell modifications made to pre-installed Ubuntu 16.04 on Dell G3 and focuses on installing a fully-working Ubuntu 18.04.
WARNING: THIS METHOD OF HACKING IS 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 customization
- Install Nvidia driver with PRIME on 18.04
- Tear free screen with Nvidia PRIME
- Native Thunderbolt
This guide assumes you have a clean Ubuntu 18.04 installed on your Dell G3. Following the following steps will recreate the configuration that Dell ships on Ubuntu-preinstalled G3 laptops.
Dell OEM customization
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 fingerprint sensor works.
- 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) by default by creating a gschema,
- 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) : a useless gschema,
- A more recent Mesa (libdrm 2.4.83-1) : 2.4.91-2 is default in Ubuntu 18.04,
- Dell EULA (dell-eula_1.03_all.deb) : useless information,
- Dell repository : useless for this specific laptop.
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 change, create
/etc/default/grub.d/Linux-Dell-Video.cfg and write :
GRUB_CMDLINE_LINUX=$(echo $GRUB_CMDLINE_LINUX acpi_osi="Linux-Dell-Video" )
Then update GRUB configuration by executing in a shell :
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-sensible_1.1_all.deb which contain custom Dell configuration (GPL-2+ package by Canonical).
Just reboot and voilà!
r8168-dkms and reboot to get a fully-working ethernet card.
That is optional, but Dell blacklists
psmouse kernel module to remove some warning in kernel
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 since (and the official method will result in a black screen…).
We will cover how to get a similar configuration in the following section.
Install Nvidia driver with PRIME on 18.04
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.
Now this had 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 :
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.
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 LTSEnablementStack :
# apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04