Ubuntu 22.04 on Surface Pro 7+

Jarret B

Well-Known Member
Staff member
Joined
May 22, 2017
Messages
348
Reaction score
390
Credits
12,246
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:
  • 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)
That's the basics of it. Online, it talks about Windows 10, but mine had Windows 11.

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.jpg

FIGURE 1

In the left pane, click on 'Boot Configuration', as shown in Figure 2.

Figure 2.jpg

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.jpg

FIGURE 3

Figure 4.jpg

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.jpg

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:


Very nice, i didnt read the whole thing but this is proof that hardware manufacturers will never or rarely choose to block linux distributions.
 
I'd actually considered the Surface when I was last buying a mobile device for myself. I ended up with a Dell in that case.
 
reboot with simple Touch enabled is success. Next step got me an error :
meson build returns "ERROR: Neither directory contains a build file 'meson.build "
 
reboot with simple Touch enabled is success. Next step got me an error :
meson build returns "ERROR: Neither directory contains a build file 'meson.build "
Read readme file in cloned repository. It says to clone newer repo instead
 
sudo modprobe ithc gives no response.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intremap=nosid splash"

This has been edited, the system rebooted. Touchscreen is not working.
 

Attachments

  • photo_2023-09-08_22-40-28.jpg
    photo_2023-09-08_22-40-28.jpg
    241.9 KB · Views: 494
I was happy to find this article, until I tried everything I could think of and more to get Ubuntu installed onto my fairly new Microsoft Surface Pro 7+ I know how to install and use Ubuntu, I'm currently running Kubuntu on a Microsoft Surface Laptop Go 2. When I say I tried everything, I mean everything, it just won't take, won't even boot up into a USB flash drive, well it will for a USB flash drive with Windows 10 or 11. I can install Windows 10 or 11 on my Surface Pro 7+ I actually have two Surface Laptop Go, no problems installing, or testing out about a dozen different Distros of Linux, primarily Ubuntu based, I finally narrowed it down to Ubuntu/KDE (Kubuntu).
 
Very nice, i didnt read the whole thing but this is proof that hardware manufacturers will never or rarely choose to block linux distributions.
I don't know about that. It seems totally weird that I can install Ubuntu onto my Microsoft Laptop Go, but not onto my Microsoft Surface Pro 7+ One of the many Windows 11 updates probably did a number to the UEFI. I did install Kubuntu on an older Microsoft Surface Pro 4, but I no longer have that device.
 
It's grdst you were able to install Ubuntu in lieu of windows. I have been trying to install any flavor of Linux along side my windows 11. I have to have windows for school. But so far Ubuntu will not boot from my usb, open suse leap gets to starting ramdisk then stalls. I tried parrot and got not compatible with uefi. I have a surface Pro x btw
 
I will be buying a Microsoft Surface Go 2 and I'm going to try and install Ubuntu/Kubuntu onto it. Basically what I'd like to end up with, is a note taking tablet similar to the reMarkable Tablet, but having a complete OS will give me more options and functionality.
 
I own four different Microsoft Devices, two of their Laptops and two of their 2-in-1 Surface Go/Pro Tablets/Laptops. While I've had no problem installing Linux on the Laptops, I've had no success installing Linux on the Surface Go or the Surface Go Pro, which really stymies me. I'm currently looking at disabling the TPM (Trusted Platform Module) security that Microsoft incorporates on these devices, along with BitLocker that Windows10/11 uses. I will also attempt to boot into GParted Live and repartition, reformat the drives. My Distro of choice is Kubuntu.
 
I'm a newb to Ubuntu and used this guide to install Ubuntu on my Surface Pro 7 today and everything worked great up until enabling the touchscreen.

After some googling I used these instructions https://github.com/linux-surface/linux-surface/wiki/Installation-and-Setup#Debian--Ubuntu to enable the touchscreen and multi touch. I don't have a stylus so I don't verify that's working.

Just wanted to leave this here in case any other newbs like me were having issues with the touchscreen.
 

Members online


Top