Migrating Lenovo T480 from Ubuntu to Pop!_OS
I’ve been using Ubuntu exclusively on my T480 for over a year now, and have been quite happy with it. I’m not a big fan on snaps, and since Canonical is pushing it more and more onto Ubuntu, I decided to give another distribution a try.
System 76’s Pop!_OS is based on Ubuntu and seems to have quite a good reputation. It doesn’t include snapd and System76 maintains a ppa that appears quite developer friendly - thus I decided to give it a try.
BIOS settings
I changed these settings when I first setup my T480, but I included them for completeness:
Thunderbolt BIOS Assist Mode (High CPU usage fix)
BIOS:
Config > “Thunderbolt(TM) 3” >
- Thunderbolt BIOS Assist Mode [Enabled]
Other power-saving options and configs
BIOS:
Security > “I/O Port Access” >
- Bluetooth [Disabled]
- Integrated Camera [Disabled]
- Microphone [Disabled]
- Fingerprint Reader [Disabled]
Preparation
Remember to back up all your files. In my case the most important directories were:
~/.gitconfig
: global git configuration~/.ssh
: ssh keys and configs; I could set up new keys everywhere, but it’s just too much of a hassle~/.thunderbird
: thunderbird profile & configs~/.mozilla
: firefox profile & configs~/Documents
~/Pictures
~/Videos
editor configs omitted
Post installation configurations
Pop!_OS works quite well out of the box. Here’s a few changes I did after the installation completed.
Restore backed-up folders
Pretty much self explanatory. Restore the previously backed up folders into the home folder.
NVMe IO error workaround
sudo kernelstub -a "nvme_core.default_ps_max_latency_us=500"
For details see newer articles:
- Follow-up on random IO errors in Pop!_OS on NVMe drives
- Random “xprop input/output error” on Pop!_OS
Switch graphics mode to intel
While I struggled with the dedciated nvidia graphis card and it’s power consumption last time around (which ultimately boiled down to a simple sudo prime-select intel
) , the Pop!_OS version with proprietary nvidia drivers comes with a graphics mode toggle directly in the GUI. Or a bit more comfortable:
sudo system76-power graphics integrated
also, make sure to turn off power for the discrete nvidia graphics chip:
sudo system76-power graphics power off
https://support.system76.com/articles/graphics-switch-pop/
After waking up from suspend, discrete graphics seem to turn back on automatically, as described in this issue: https://github.com/pop-os/system76-power/issues/74
To work around this, add following script to /lib/systemd/system-sleep/
(slightly altered from the one in the issue)
#!/usr/bin/env bash
case $1 in
post)
if [ $(/usr/bin/system76-power graphics) == "integrated" ]; then
/usr/bin/system76-power graphics power off;
fi
;;
esac
Gnome configuration
- Extensions (Pop!_OS ships with
chrome-gnome-shell
installed) - Disable alt+click window dragging
- change
mouse-button-modifier
in dconf => only on old distros
- change
- Disable animations
sudo apt install gnome-tweaks
- “Gnome tweak tool” > Appearance > Animations
Keyboard shortcuts
I don’t like the default keyboard shortcuts much, thus I changed the following values in Settings > Keyboard shortcuts:
Name | Shortcut |
---|---|
Home folder | Super+E |
Launch email client | Disabled |
Launch terminal | Ctrl+Alt+T |
Launch web browser | Disabled |
Enter adjustment mode | Disabled |
Resize window larger | Disabled |
Resize window shorter | Disabled |
Switch focus to window down | Disabled |
Switch focus to window left | Disabled |
Switch focus to window right | Disabled |
Switch focus to window up | Disabled |
Move to workspace above | Ctrl+Alt+Up |
Move to workspace below | Ctrl+Alt+Down |
Move window one workspace down | Shift+Ctrl+Alt+Down |
Move window one workspace up | Shift+Ctrl+Alt+Up |
Switch applications | Disabled |
Switch windows | Alt+Tab |
Focus the active notification | Disabled |
Lock screen | Super+L |
Turn screen reader on or off | Disabled |
Turn zoom on or off | Disabled |
Zoom in | Disabled |
Zoom out | Disabled |
Close window | Alt+F4 |
Maximize window | Super+Up |
Toggle maximization state | Super+Down |
View split on left | Super+Left |
View split on right | Super+Right |
Software
Editors
sudo apt install git vim
- atom
- Android Studio
- IntelliJ with Scala Plugins
Misc
- VPN
apt install network-manager-openvpn-gnome
- copy and import configs
- Privacy settings
- Disable telemetry
sudo apt purge ubuntu-report popularity-contest apport whoopsie
https://askubuntu.com/questions/1031901/how-to-disable-telemetry-for-all-users
- “Software Center” > Search “ubuntu-amazon-default” > Remove
- Disable telemetry
- Setup editor configs
sudo apt install powertop
Input methods
sudo apt-get install ibus-anthy
OR
-
sudo apt install ibus-mozc
(<- this is from google) -
“System settings” > “Region & language” > Add “Japanese (anthy mozc)”