These are just my notes and settings for getting everything running nice on the Surface Go tablet.
As of this writing, I was using Ubuntu 18.10.
Generally, you need to:
Once booted up for the first time, everything in the UI is huge and difficult to use. Open up the "Displays" config panel and change the scaling to 100%.
Once that is done, fonts are a bit hard to read. To increase font sizes, you can go to "Universal Access" and enable "Large Text."
Alternatively, you can run the following to set a specific font scaling factor:
gsettings set org.gnome.desktop.interface text-scaling-factor 1.4
This worked for me on the Surface Go 128gb and Ubuntu Linux 18.10. File paths will vary from version to version, so you may need to make some tweaks.
fix_wifi.sh and reboot.
If it doesn't work or you get errors running the script, open the
fix_wifi.sh script and type the commands manually. Sometimes file paths change slightly and you can TAB your way through it.
After running updates on the system, the wifi firmware might get replaced, breaking your wifi. Just run the script again to fix it.
I noticed that in certain light conditions, the display on my tablet would shift brightness lighter/darker and it was distracting. Disabling "Auto Brightness" in the "Power" config panel fixed this. I'll just control the brightness manually.
For the Surface tablet, Microsoft designed a special low power mode that is not compatible with standard "suspend" supported by Linux. As a result, when you close the tablet cover, the screen is disabled, but everything is still running. Batter life in this state is measured in hours -- not days.
As a workaround, you should enable hibernation and set the tablet to automatically hibernate after a reasonable period of inactivity.
cat /etc/fstaband note the UUID of your swap partition.
sudo vim /etc/default/gruband find the setting
UUID=, followed by the UUID of your swap partition.
Test that hibernation works by running
sudo systemctl hibernate. Wait a minute, then power on your tablet again and ensure that your previously open windows are restored.
The system should enter a sort of "suspend" state (scare quotes because it's not really actually suspend) which saves some battery, but I wanted the system to hibernate after a longer period of inactivity. Below steps accomplish that:
Add the following line to
suspend-to-hibernate.service file in this repo to
Enable the service:
sudo systemctl enable suspend-to-hibernate