Overview
I decided to give Pop!_OS 20.10 a try on the new Dell XPS 9310 laptop.
Normally I go with the most recent Ubuntu LTS which is what gets the stamp of approval from Dell and Canonical.
I don't live in a country that has the Developer edition of the XPS pre-loaded with Ubuntu so I have to buy the Windows Home version and install Linux myself.
Here is how I have setup my machine.
Buying Decision
When you do a search online for Linux on the XPS 9310 you will find a mixed bag of people who have a fully working setup and people who haven't been so lucky.
My Specs:
Option | My Choice |
---|---|
Processor | 11th Generation Intel® Core™ i7-1185G7 Processor (12MB Cache, up to 4.8 GHz) |
RAM | 16GB 4267MHz LPDDR4x Memory Onboard |
SSD | 512GB M.2 PCIe NVMe Solid State Drive |
Display | 13.4" FHD+ (1920 x 1200) InfinityEdge Non-Touch Anti-Glare 500-Nit Display |
Wireless | Killer™ Wi-Fi 6 AX1650 (2x2) and Bluetooth 5.1 |
Reasons I made these choices:
- Some of the 32gb RAM configurations will give you the AX500-DBS wireless card. That is the card that most of the people online seem to have problems with. From what I read, this should be resolved in future kernel releases and might be fine by 21.04 releases of Ubuntu
- I always choose 1080p for longer battery life. I also don't think a screen that small needs the upgrade.
BIOS Options
sudo dmidecode -s bios-version
Shows me that I am currently running BIOS version 1.1.1
There is a newer version of the BIOS 1.1.4 that was released on December 10 2020 but I haven't tried to download/install it yet. You still get firmware and system updates in Pop!_OS just like Ubuntu so there is still no need to dual boot.
These are only the options that I have changed.
Option | My Choice | Why? |
---|---|---|
Secure Boot | Off | When you download the .iso System76 says to turn this off |
Storage Mode | AHCI | Have always run into problems in the past if this was set to RAID |
Power Battery Configuration | Primarily AC Use | Make battery last a little longer(not sure if true) |
Intel Speed Shift | Off | |
Security Absolute | Off |
Pop!_OS Install 20.10
Get your base OS installed.
- Download the .iso from System76
- Create a bootable USB-c stick(or normal USB if you want to use the adapter)
- Boot from the USB stick
- Choose erase everything install + encrypt option
- Get the Dell repos added to your apt sources. This gets fingerprint and facial login working. Source link: Post By DanielNTX. This also allows you to pull updates from Dell. I haven't tested using howdy and facial login because i don't have a need for it.
- Settings > User > Add Fingerprint. The new fingerprint you setup wont work for login and sudo until you run the below command.
8.
sudo pam-auth-update
space-bar to add fingerprint option. Now you should be able to use fingerprint to login as well as sudo. - Settings > Power > Turn off automatic brightness. I find this really annoying so I turn it off
OS Extras
These are some of the other things I installed and configured on my machine that are part of my workflow.
Settings > Power > Show Battery %
Keyboard Shortcut > Change Window Launcher to Super + space-bar
Add my SSH keys and config file from my old laptop and chmod 400 them
Start ssh-agent:
eval "$(ssh-agent -s)"
Add SSH key to agent:
ssh-add ~/.ssh/id_rsa
- Config Git:
git config --global user.name "DevOpsEnv"
git config --global user.email email@example.com
git config --list --show-origin
- Install openvpn and configure my VPN:
sudo apt install network-manager-openvpn-gnome
###Open network manager and create VPN connection from .ovpn script###
Install VSCode - Login to github to sync settings and extensions
Install Google Chrome - Login to sync extensions
Install Zoom
Install Slack
Install DBeaver(Flatpak) - Add Db connections
Install FileZilla - Add SFTP connections
Install Spotify
Install Alacritty - Pull down my config file
Install Remmina - Setup RDP connections
Install Postman(Flatpak)
Install Password Manager Of Choice
Install Authy - No .deb or flatpak and I don't want any snaps or snapd running on my machine so I will have to find an alternative to authy :(
Install Stacer
Install Docker:
Add repo:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Add Docker GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Setup stable repository:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Install Docker Engine:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
Run Docker as non-root user:
sudo usermod -aG docker <your-user>
Reboot your machine to make this take effect
- Install Docker Compose
pip install docker-compose
- Install cfn-flip - Allows you to convert cloudformation templates from JSON <> YAML and convert join to sub functions
pip install cfn-flip
- Install cfn-lint - Linter for cloudformation templates
pip install cfn-lint
Install cfn-guard and cfn-nag (not yet complete)
Install aws-cli and add my config
Install awsume - Allows role switching between aws accounts under the same organisation
pip3 install awsume
###Add alias awsume=". awsume" to ~/.bashrc###
Install htop
Install fd - find replacement written in rust
Install figlet
Install tldr - quick easy manpage examples
clone cheatsheets repo - community driven cheatsheets for linux commands
Install Node.js - From Nodesource
curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
sudo apt-get install -y nodejs
Hardware Peripherals Compatibility
The XPS 9310 running Pop!_OS works with the following hardware
- Blue Yeti Nano
- Logitech MX Master3 Mouse
- Tethering to Samsung Galaxy S10+
- Cable Matters 10Gbps USB C Dock (USB Docking Station). I plug 2 external displays into the dock with the other peripherals mentioned and it has 1 cable that plugs into the XPS. Charging pass-through works so it is just the 1 cable required.
Problems
- No Authy deb or flatpak which is a disappointing
- If i want to close my laptop there is no way to authenticate with sudo as I need the fingerprint scanner. I haven't really tried to troubleshoot this one yet
That is everything that I can think of for now
Top comments (5)
Signed up here just to mention that this is an excellent guide and exactly what I was looking for.
I have a developer edition 32GB XPS 9310 OLED Dev Edition due to arrive this week and first thing I will do is follow your guide - many thanks for taking the time to share.
Did you ever solve or find a workaround for the 2 problems that you state? Any further improvements 1 year on?
Hi, did you ever managed to enable hibernation on the dell xps13 with Pop? I have the same machine and bought it with Ubuntu 22.04 pre-installed. Everything works rather fine, actually. But hibernation fails (I've succeeded on other Dell/Linux machines, both xps15, to use a combination of these guides: ubuntuhandbook.org/index.php/2021/08/enable-hibernate-ubuntu-21-10/ and gist.github.com/dawaltconley/8cb4c...)). When I tried on the dell xps 13 plus with Ubuntu 22.04, I can never wake the machine up after hibernation. I suspect it's because of the FN keys backlight, which seems to always stay on. NB: I have successfully disabled the keyboard backlight from BIOS, but for the top FN functions, it does still work and I guess it may break hibernation? Or am I missing something obvious?
Thanks!
I actually got more insight into this, I think. I believe the main issue was a problem with Dell's firmware - the newer version (I think 2.1) mentions a fix for a problem that prevented resume after hibernation (which was my problem). For good measure, I also installed Pop OS! and everything was working out even before the firmware update. Hibernation and resume work pretty well. Haven't tested whether the firmware fix makes it OK under the original Ubuntu too, though.
Thanks for sharing the guide!
I used it too on my Dell XPS 9310 setup.
Did you set up any energy saving packages such as tlp or powertop?
No problem.
I have not installed powertop or tlp.
The battery life has been good enough for the short periods of time I am unplugged.