> For the complete documentation index, see [llms.txt](https://open-rt.gitbook.io/open-surfacert/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://open-rt.gitbook.io/open-surfacert/surface-rt/linux.md).

# Linux

Linux for Surface RT

## The 2 ways of booting

Each way of booting has it's own advantages and disadvantages. \
EFI is easy to boot but has bad performance and power effiency.\
APX needs more special hardware to boot but performs much better.

### EFI Boot

EFI booting is the easier way of booting Linux.&#x20;

#### Characteristics

* No L2 Cache, no cpuidle (bad performance)
* No power related features (no PMIC regulators)

#### Requirements

* [Yahallo](/open-surfacert/development/please-read/jwa4-notes/surface-rt-and-surface-2-jailbreak-usb.md)
* USB drive

### APX Boot

APX booting needs some special hardware.

#### Characteristics

* No Wi-Fi
* Dynamic Voltage Frequency Scaling (best performance)

#### Requirements

* USB A-to-A cable (straight: `D+ -> D+, D- -> D-`)
* µSD Card
* Linux PC (x86)

## Features

* [Screen](/open-surfacert/surface-rt/hardware/display.md) ([Touch](/open-surfacert/surface-rt/hardware/components/i2c/bus-1-daughterboard/mxt1386e-touchcontroller.md), [LVDS Encoder](/open-surfacert/surface-rt/hardware/components/lvds-encoder.md), Backlight)
* [Touchscreen](/open-surfacert/surface-rt/hardware/components/i2c/bus-1-daughterboard/mxt1386e-touchcontroller.md)
* [UART A](/open-surfacert/surface-rt/hardware/uart.md)
* [SD Card ](/open-surfacert/surface-rt/hardware/components/mmc/1-msd-card.md)(+UHS-I mode)
* USB-A host
* 2 GB DDR3 RAM
* [SPI Bootflash](/open-surfacert/surface-rt/hardware/components/spi.md)
* [eMMC](/open-surfacert/surface-rt/hardware/components/mmc/4-emmc.md)
* HDMI (with audio)
* Vol+/-, PWR, Windows Buttons
* [Touch-/Type-/Powercover](/open-surfacert/surface-rt/hardware/components/i2c/bus-0-ms-hid/microsoft-type-touch-cover.md) (+ hotplug detection)
  * Hall effect lid sensor (close tCover to suspend the device)
* [NCT1008](/open-surfacert/surface-rt/hardware/components/i2c/bus-4-system/onsemi-nct1008-temperatur.md) CPU and case temperature sensor
* [Wifi](/open-surfacert/surface-rt/hardware/components/mmc/3-wifi-sdio-marvell-88w8797.md)
* [Battery / Charger](/open-surfacert/surface-rt/hardware/components/i2c/bus-4-system/acpi-control-method-battery.md)
* [Audio](/open-surfacert/surface-rt/hardware/components/i2c/bus-4-system/wolfson-wm8962-audiocodec.md): only output (headphone & speakers)
* [Sensor Collection / Sensor Hub](/open-surfacert/surface-rt/hardware/components/i2c/bus-0-ms-hid/mircrosoft-sensor-collection.md)
* [PMIC](/open-surfacert/surface-rt/hardware/components/i2c/bus-4-system/tps659110-pmic.md)

### What's Missing?

* Hardware Acceleration (3D)
* Bluetooth
* Camera
