I have to admit, I've thought about getting a Surface Pro for a long time. After I bought one, I realized what an amazing piece of hardware it is. It's a tablet running on Windows 11. Then I realized, it needs Linux to be better (but I am amazed at the hardware on this thing, seriously).
I bought a Surface Pro 7+ Bundle that was originally $762, but I got a great deal since it was on a clearance price. For anyone that can get a hold of one, take a look.
So, let's look at the specs on this thing.
Surface Pro 7+ Specifications
The specifications for my system are:
The Bundle included the cover with the keyboard.
Now, getting a Linux distro on the Surface Pro was easy, but the problem occurs with getting the touch screen to work. Keep in mind, this is a tablet with the specs of a low-end business computer. It is an All-In-One (AIO) device, but just looking at it, it's a tablet (with ATMOS sound).
Backing up the Surface Pro
Sometimes, you may want to restore Windows (I'm not sure why). Just in case you do, let's backup Windows before we install Linux.
After you go through the initial setup after turning on the device, you will be at a Windows screen.
You will need a 16 GB USB Flash Drive. I strongly suggest a USB 3.0 or above drive. Speed will help the process go faster.
Insert the flash drive and in the Search box, type in 'Recovery Drive'. Once the app appears, double-click it to start the app. Check the option to 'Backup system files to the recovery drive.'.
I had no problems backing up the device. The resulting image is an EFI image that you can boot from to replace Windows back on the Surface Pro, just in case.
Definitely make sure your battery is full or at least leave the system plugged in so your battery doesn't go dead during the process.
Depending what is being backed up, the process could take a bit. Backing up my system took over an hour.
Once it completes the backup, we are ready to install Ubuntu.
Installing Ubuntu
Start by downloading your Ubuntu ISO installation file. I used 'ubuntu-22.04-desktop-amd64.iso'. Use whatever program you prefer, such as Etcher, to place the ISO on a flash drive so you can boot from the drive to install Ubuntu.
Power down the Surface Pro and insert the flash drive into the USB Port.
Hold down the Volume Up button and push down the power button, but release the power button while still holding down the Volume Up button. Once the 'Surface UEFI' screen appears, you can release the Volume Up button. You should see a screen similar to Figure 1.
FIGURE 1
In the left pane, click on 'Boot Configuration', as shown in Figure 2.
FIGURE 2
You can click on the trash can icon to the right of the line labeled 'Windows Boot Manager' since we will delete Windows. Click on 'OK' when asked to delete the item.
If the top item is not 'USB Storage', then drag-and-drop 'USB Storage' to the top. Making it the first entry will assure that the Surface Pro will boot from the USB Storage before any other item listed. You will also have to enable the item at the bottom 'Enable Boot from USB Devices'.
The last thing to change is to disable the Secure Boot option. So, click on 'Security' in the left pane, as shown in Figure 3. Click on the option for 'Change Configuration'. You should then see a window appear similar to Figure 4. Change the entry selected to 'None' and then click 'OK'.
FIGURE 3
FIGURE 4
In the left pane, click on 'Exit' and then click on the button 'Restart Now'.
The next step is important. If you do not have a Type Cover, a cover with the built-in keyboard and touch pad, then you'll need a USB Hub to connect a keyboard, mouse and the flash drive.
NOTE: When Ubuntu installs and starts after installation, there is not touch screen support. We enable that after the installation and the device restarts. So the keyboard and mouse are necessary.
Once the device restarts, it should start the installation for Ubuntu. We performed this process as normal. When you get to the screen for 'Updates and other software', check the box for 'Install third-party software for graphics and Wi-Fi hardware and additional media formats'. For 'Installation type' you should choose 'Erase disk and install Ubuntu'.
Once the system reboots, you’ll see a screen like Figure 5 appear when the device boots. The screen shows Ubuntu is booting on a Microsoft device.
FIGURE 5
Setting up the Touch Screen
When the system restarts in Ubuntu, perform any needed updates and install needed files with the commands:
sudo apt update
sudo apt upgrade -y
sudo apt install git meson build-essential dkms pkg-config cmake systemd -y
Once the system is up-to-date, we can start installing the packages for the Intel Touch Host Controller (ITHC). Once we install that for the touch screen to function, we'll install the Multi-Touch capabilities and the Intel Precision Touch and Stylus (IPTSD). The Multi-Touch allows the screen to register multiple fingers, like three fingers to switch workspaces. The IPTSD will allow you to use a stylus, especially for drawing.
So, to start the installation for the touch screen, perform the following commands:
cd Downloads
git clone https://github.com/quo/ithc-linux.git
cd ithc-linux
sudo make dkms-install
sudo modprobe ithc
You will need to edit GRUB so that the touch screen will enable after booting, so edit the file '/etc/default/grub'. Find the following line and add the information shown in the second line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intremap=nosid splash"
Now, to update the GRUB files, you need to run 'sudo update-grub'.
Reboot with the command 'sudo reboot now'. When the system restarts, the touch screen should be functioning. Now, we need to go ahead and to the Multi-touch and IPTSD.
Open a terminal and perform:
cd Downloads
git clone https://github.com/quo/iptsd.git
cd iptsd
meson build
ninja -C build install
During the last command, you’ll be asked for a password to perform the file copy to protected folders.
We next need to create a file and put specific information in it. So, try the command 'sudo nano /lib/systemd/system/iptsd.service'. Add the following lines into the text file that may not exist:
[Unit]
Description=Intel Precise Touch & Stylus Daemon
Documentation=https://github.com/linux-surface/iptsd
[Service]
Type=simple
ExecStart=/usr/local/bin/iptsd
[Install]
WantedBy=default.target
After saving the file, try the following commands:
sudo systemctl enable iptsd
sudo systemctl start iptsd
You should be able to use three fingers to swipe the workspace from right to left. You can also swipe the workspace up to see the Activities, or down to see the Desktop.
Conclusion
Everything else should work on Ubuntu on the Surface Pro 7+.
This is not a hard issue to resolve, it just gets a little involved. Just make sure you do everything step-by-step and do not skip any steps.
You should have a full functioning Surface Pro 7+ with Ubuntu 22.04.
I bought a Surface Pro 7+ Bundle that was originally $762, but I got a great deal since it was on a clearance price. For anyone that can get a hold of one, take a look.
So, let's look at the specs on this thing.
Surface Pro 7+ Specifications
The specifications for my system are:
- Screen: 12.3-inch PixelSense Display
- Resolution: 2736 x 1824 (267 PPI)
- Aspect ratio: 3:2
- Touch: 10-point multi-touch
- 8GB LPDDR4x RAM
- Dual-core 11th Gen Intel Core i3-1115G4 Processor (Wi-Fi)
- TPM 2.0 chip for enterprise security
- Enterprise-grade protection with Windows Hello face sign-in
- Ambient light sensor
- Accelerometer
- Gyroscope
- Magnetometer
- 1 x USB-C
- 1 x full-size USB-A
- 3.5mm headphone jack
- 1 x Surface Connect port
- Surface Type Cover port
- MicroSDXC card reader (Wi-Fi)
- Windows Hello face authentication camera (front-facing)
- 5.0MP front-facing camera with 1080p full HD video
- 8.0MP rear-facing auto-focus camera with 1080p full HD video
- Dual far-field Studio Mics
- 1.6W stereo speakers with Dolby ATMOS
- Wi-Fi 6: 802.11ax compatible
- Bluetooth Wireless 5.0 technology
- Surface Pro 7+ supports Microsoft Pen Protocol (MPP)
The Bundle included the cover with the keyboard.
Now, getting a Linux distro on the Surface Pro was easy, but the problem occurs with getting the touch screen to work. Keep in mind, this is a tablet with the specs of a low-end business computer. It is an All-In-One (AIO) device, but just looking at it, it's a tablet (with ATMOS sound).
Backing up the Surface Pro
Sometimes, you may want to restore Windows (I'm not sure why). Just in case you do, let's backup Windows before we install Linux.
After you go through the initial setup after turning on the device, you will be at a Windows screen.
You will need a 16 GB USB Flash Drive. I strongly suggest a USB 3.0 or above drive. Speed will help the process go faster.
Insert the flash drive and in the Search box, type in 'Recovery Drive'. Once the app appears, double-click it to start the app. Check the option to 'Backup system files to the recovery drive.'.
I had no problems backing up the device. The resulting image is an EFI image that you can boot from to replace Windows back on the Surface Pro, just in case.
Definitely make sure your battery is full or at least leave the system plugged in so your battery doesn't go dead during the process.
Depending what is being backed up, the process could take a bit. Backing up my system took over an hour.
Once it completes the backup, we are ready to install Ubuntu.
Installing Ubuntu
Start by downloading your Ubuntu ISO installation file. I used 'ubuntu-22.04-desktop-amd64.iso'. Use whatever program you prefer, such as Etcher, to place the ISO on a flash drive so you can boot from the drive to install Ubuntu.
Power down the Surface Pro and insert the flash drive into the USB Port.
Hold down the Volume Up button and push down the power button, but release the power button while still holding down the Volume Up button. Once the 'Surface UEFI' screen appears, you can release the Volume Up button. You should see a screen similar to Figure 1.
FIGURE 1
In the left pane, click on 'Boot Configuration', as shown in Figure 2.
FIGURE 2
You can click on the trash can icon to the right of the line labeled 'Windows Boot Manager' since we will delete Windows. Click on 'OK' when asked to delete the item.
If the top item is not 'USB Storage', then drag-and-drop 'USB Storage' to the top. Making it the first entry will assure that the Surface Pro will boot from the USB Storage before any other item listed. You will also have to enable the item at the bottom 'Enable Boot from USB Devices'.
The last thing to change is to disable the Secure Boot option. So, click on 'Security' in the left pane, as shown in Figure 3. Click on the option for 'Change Configuration'. You should then see a window appear similar to Figure 4. Change the entry selected to 'None' and then click 'OK'.
FIGURE 3
FIGURE 4
In the left pane, click on 'Exit' and then click on the button 'Restart Now'.
The next step is important. If you do not have a Type Cover, a cover with the built-in keyboard and touch pad, then you'll need a USB Hub to connect a keyboard, mouse and the flash drive.
NOTE: When Ubuntu installs and starts after installation, there is not touch screen support. We enable that after the installation and the device restarts. So the keyboard and mouse are necessary.
Once the device restarts, it should start the installation for Ubuntu. We performed this process as normal. When you get to the screen for 'Updates and other software', check the box for 'Install third-party software for graphics and Wi-Fi hardware and additional media formats'. For 'Installation type' you should choose 'Erase disk and install Ubuntu'.
Once the system reboots, you’ll see a screen like Figure 5 appear when the device boots. The screen shows Ubuntu is booting on a Microsoft device.
FIGURE 5
Setting up the Touch Screen
When the system restarts in Ubuntu, perform any needed updates and install needed files with the commands:
sudo apt update
sudo apt upgrade -y
sudo apt install git meson build-essential dkms pkg-config cmake systemd -y
Once the system is up-to-date, we can start installing the packages for the Intel Touch Host Controller (ITHC). Once we install that for the touch screen to function, we'll install the Multi-Touch capabilities and the Intel Precision Touch and Stylus (IPTSD). The Multi-Touch allows the screen to register multiple fingers, like three fingers to switch workspaces. The IPTSD will allow you to use a stylus, especially for drawing.
So, to start the installation for the touch screen, perform the following commands:
cd Downloads
git clone https://github.com/quo/ithc-linux.git
cd ithc-linux
sudo make dkms-install
sudo modprobe ithc
You will need to edit GRUB so that the touch screen will enable after booting, so edit the file '/etc/default/grub'. Find the following line and add the information shown in the second line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intremap=nosid splash"
Now, to update the GRUB files, you need to run 'sudo update-grub'.
Reboot with the command 'sudo reboot now'. When the system restarts, the touch screen should be functioning. Now, we need to go ahead and to the Multi-touch and IPTSD.
Open a terminal and perform:
cd Downloads
git clone https://github.com/quo/iptsd.git
cd iptsd
meson build
ninja -C build install
During the last command, you’ll be asked for a password to perform the file copy to protected folders.
We next need to create a file and put specific information in it. So, try the command 'sudo nano /lib/systemd/system/iptsd.service'. Add the following lines into the text file that may not exist:
[Unit]
Description=Intel Precise Touch & Stylus Daemon
Documentation=https://github.com/linux-surface/iptsd
[Service]
Type=simple
ExecStart=/usr/local/bin/iptsd
[Install]
WantedBy=default.target
After saving the file, try the following commands:
sudo systemctl enable iptsd
sudo systemctl start iptsd
You should be able to use three fingers to swipe the workspace from right to left. You can also swipe the workspace up to see the Activities, or down to see the Desktop.
Conclusion
Everything else should work on Ubuntu on the Surface Pro 7+.
This is not a hard issue to resolve, it just gets a little involved. Just make sure you do everything step-by-step and do not skip any steps.
You should have a full functioning Surface Pro 7+ with Ubuntu 22.04.
Last edited: