Microsoft Surface RT (microsoft-surface-rt)
Released in 2012, the Surface RT was the first tablet and personal computer developed and manufactured by Microsoft. It ran on the extremely limited version of Windows, known as Windows RT 8, and that was its downfall, leading to eventual discontinuation in late 2013. Despite this, a community emerged to make the Surface RT more usable via jailbreaking and bypassing secure boot, allowing other armhf apps and even other Operating Systems such as postmarketOS to run.
Surface RT with the XFCE Desktop | |
Manufacturer | Microsoft |
---|---|
Name | Surface RT |
Codename | microsoft-surface-rt |
Released | 2012 |
Type | detachable |
Hardware | |
Chipset | Nvidia Tegra 3 (T30) |
CPU | 4x ARM Cortex-A9 @ 1300Mhz |
GPU | Nvidia GeForce ULP @ 420Mhz |
Display | 1366x768 IPS |
Storage | 32 / 64 GB |
Memory | 2 GB |
Architecture | armv7 |
Software | |
Original software | Windows RT |
Original version | 8 |
Extended version | 8.1 Update 3 |
postmarketOS | |
Category | community |
Pre-built images | yes |
Internal storage |
Works |
---|---|
SD card |
Works |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Keyboard |
Works |
Touchpad |
Works |
Multimedia | |
3D Acceleration |
Partial |
Audio |
Partial |
Camera |
Broken |
Connectivity | |
WiFi |
Works |
Bluetooth |
Broken |
Miscellaneous | |
FDE |
Works |
USB-A |
Works |
HDMI/DP |
Works |
Sensors | |
Accelerometer |
Works |
Magnetometer |
Works |
Ambient Light |
Works |
Hall Effect |
Works |
Haptics |
Works |
Primary Bootloader |
Partial |
---|---|
Secondary Bootloader |
Partial |
Mainline |
Works |
Internal Storage |
Works |
SD card |
Works |
USB Host | |
USB Peripheral |
Works |
Display |
Works |
Keyboard |
Broken |
Buttons |
Works |
This device is based on the Tegra 3. See the SoC page for common tips, guides and troubleshooting steps |
NOTE: Deep suspend does not work on this device. |
How to boot from USB
- Turn Off device
- Plug in USB Drive
- Hold the volume down button
- Press the power button for a second
- Wait until the surface logo appears
- Release volume down
Installation
Preparation
Enable test signing and install yahallo to disable secure boot.
See the instruction on OpenRT GitBook.
Note: Device can't boot from a SD card. Boot with a USB storage. |
Installation on USB storage
Unpack and flash a pre-built image to USB.
Or
Installation on eMMC
Install pmOS on USB firstly. Boot into it, connect to internet and perform:
$ sudo apk add pmbootstrap
$ pmbootstrap init # select "microsoft" vendor and "surface-rt" codename
$ pmbootstrap install --disk /dev/mmcblk0 --no-sshd # add --fde if you want FUll Disk Encryption
To install pmbootstrap, you will be asked for a sudo password. This password is "147147"
For the best experience, use "xfce4" for your desktop environment
Sometimes you will get an error with exit code 1 or 2. If you do, try installing to eMMC with Pmbootstrap again.
If it gets stuck at the same error over and over again, download a new image and flash your USB using the new image and try again.
WiFi
The WiFi firmware will go to sleep and break after some time (12 hours or less) with driver log talking about command timeout. The WiFi interface (mlan0) will vanish and trying to unload and reload the driver will block forever at trying to unload it. So the only way to recover is to hard reset.
It seems this can be avoided by disabling power management on the WiFi device. With NetworkManager this is nmcli connection modify <SSID> 802-11-wireless.powersave disable
, otherwise iw dev mlan0 set power_save off
If this isn't enough, another thing to try is to disable and re-enable the WiFi device every so often through a cronjob:
>/etc/periodic/hourly/reset-wifi cat <<EOF
#!/bin/sh
ip link set mlan0 down
ip link set mlan0 up
EOF
chmod +x /etc/periodic/hourly/reset-wifi
service crond start
rc-update add crond default
Sound
All outputs (speakers, headphones, HDMI) work, but mics are not supported for now.
U-Boot
APX booting can be performed using generic Nvidia Tegra armv7 device port.
Other Issues
- Shutdown / reboot does not work properly
- When the device is told to shutdown / reboot via GUI or via `poweroff` command etc, the device does not fully power off and stays on a black screen. Hold the power button down to forcibly power it off and then press it once more to reboot. This is a recent (~2024) regression.
- Keyboard Issues (Microsoft Surface Keyboard Model 1535 and 1561)
- At least on XFCE4, the Super key (Windows key) seems to currently do nothing even when the keyboard preset is set to the "Surface Keyboard" preset.
- Onboard Issues
- At least on XFCE4, Onboard (the On-Screen Keyboard) currently only works on the lock screen or when manually activated. There is no way to make it automatically appear when The device is in tablet mode.
Users owning this device
- Arnavion
- Chaosleo07
- CrackTheSurface
- Dilletant (Notes: owns two on Kali)
- InterstellarTaurus
- Jenneron
- Jja2000 (Notes: Hopeful on a GPU driver)
- Little-miss-synth
- LogicalErzor
- Lotigara (Notes: Broken eMMC, so can't boot without RCM)
- Neko (Notes: 64GB Model with spicy pillow and WinRT (might switch to pmOS) - 32GB Model with Win10/Raspbian)
- Retrocountry
- Russanandres (Notes: Moved To Raspbian)
- Veast (Notes: Currently running PostmarketOS!!!)
- Wangxiaohu (Notes: running Raspbian now for more package selection)