My dad bought a Surface laptop for me.
Can run Ubuntu on it?
I tried and the keyboard does not work, so is there any version available that solves this problem?
Check out this tutorial on how to install Linux on a Microsoft Surface laptop.
In summary, the Secure Boot needs to be disabled and then the Surface laptop can be booted from a USB that has an Ubuntu image flashed on it.
The tutorial suggests first to "Try Out Ubuntu" instead of installing it at the start, to make sure that Ubuntu loads up successfully, which is a good idea. The tutorial also warns that:
WiFi does not work out of the box, so you will need to connect to the internet using a USB to ethernet converter to grab the Marvell WiFi driver.
There may be some commands to run in a terminal to get the hardware functional with the Ubuntu OS, such as the WiFi driver for the Surface laptop.
To troubleshoot the keyboard problem, try to plug an external keyboard into the USB port and test it. Maybe the kernel needs to be updated (see this question here and this tutorial here).
I bought an SP4 ages ago just to put Linux on it. At first, I used the Tigerite kernel, which worked well with no issues for me. After updating to 18.04 and getting the first official 5.0 kernel I have ever used on my SP4, almost everything works.
The only thing that does not work is the touchscreen, which includes the pen, which I couldn't care less about. No complaints on the current Ubuntu version. I have a working keyboard, touchpad, power saving (suspend, hibernate), Bluetooth, graphics drivers and more!
However, I tried to use the Jakeday kernel and had nothing but WiFi issues. The WiFi kept dropping and giving an auth error, but the touchscreen did work. So, I switched back to the official kernel and had no more problems. Use these custom kernels at your own risk.
You didn't provide any information as to what type of surface you own, so I'll give you a blanket solution, and refine it if you edit your question. Before you try this, please try giving us more information, such as your Ubuntu version(16.04,19.10, etc.), the output of lsusb and what type of surface you own(year, model number, serial number, and most importantly, keyboard serial number).
Type Cover (2017): Partially Working, touchpad Multi-Touch works, sometimes detaching/re-attaching results in a buggy experience, little to no debugging has been done on the issue. The keyboard itself does not work. This is almost certainly remediable by adding the device ID's into the Linux kernel, so, please report the device ID's (and please differentiate your model of Type Cover (i.e. with Biometrics, without Biometrics, Signature, etc.)
Surface Laptop Integrated Keyboard/Trackpad: Partially Working, touchpad Multi-Touch works, the keyboard itself does not work. This is almost certainly remediable by adding the device ID's into the Linux kernel, so please report the device ID's.
this thread is a good example of the process of adding and ID to the kernel.
So what does this mean for you? It means that if you haven't tried already, this may be remedied by installing the custom surface linux kernel
Noo linux distro contains drivers for any of surface machines. Only way to make it work is with those guys https://github.com/jakeday/linux-surface
Check out this tutorial on how to install Linux on a Microsoft Surface laptop.
In summary, the Secure Boot needs to be disabled and then the Surface laptop can be booted from a USB that has an Ubuntu image flashed on it.
The tutorial suggests first to "Try Out Ubuntu" instead of installing it at the start, to make sure that Ubuntu loads up successfully, which is a good idea. The tutorial also warns that:
There may be some commands to run in a terminal to get the hardware functional with the Ubuntu OS, such as the WiFi driver for the Surface laptop.
To troubleshoot the keyboard problem, try to plug an external keyboard into the USB port and test it. Maybe the kernel needs to be updated (see this question here and this tutorial here).
I bought an SP4 ages ago just to put Linux on it. At first, I used the Tigerite kernel, which worked well with no issues for me. After updating to 18.04 and getting the first official 5.0 kernel I have ever used on my SP4, almost everything works.
The only thing that does not work is the touchscreen, which includes the pen, which I couldn't care less about. No complaints on the current Ubuntu version. I have a working keyboard, touchpad, power saving (suspend, hibernate), Bluetooth, graphics drivers and more!
However, I tried to use the Jakeday kernel and had nothing but WiFi issues. The WiFi kept dropping and giving an auth error, but the touchscreen did work. So, I switched back to the official kernel and had no more problems. Use these custom kernels at your own risk.
You didn't provide any information as to what type of surface you own, so I'll give you a blanket solution, and refine it if you edit your question. Before you try this, please try giving us more information, such as your Ubuntu version(16.04,19.10, etc.), the output of
lsusb
and what type of surface you own(year, model number, serial number, and most importantly, keyboard serial number).According to the surface linux subreddit
this thread is a good example of the process of adding and ID to the kernel.
So what does this mean for you? It means that if you haven't tried already, this may be remedied by installing the custom surface linux kernel