Supported Devices and Features - linux-surface/linux-surface GitHub Wiki
Devices supported by linux-surface:
- Surface Book 1 (SB1)
- Surface Book 2 (SB2)
- Surface Book 3 (SB3)
- Surface Laptop Studio (SLS1)
- Surface Laptop Studio 2 (SLS2)
- Surface Laptop 1 (SL1)
- Surface Laptop 2 (SL2)
- Surface Laptop 3 (SL3, SL3A = AMD, SL3I = Intel)
- Surface Laptop 4 (SL4, SL4A = AMD, SL4I = Intel)
- Surface Laptop 5 (SL5)
- Surface Laptop Go 1 (SLG1)
- Surface Laptop Go 2 (SLG2)
- Surface Laptop Go 3 (SLG3)
- Surface Laptop SE (SLSE)
- Surface Go 1 (SGO1)
- Surface Go 2 (SGO2)
- Surface Go 3 (SGO3)
- Surface 3 (S3)
- Surface Pro 1 (SP1)
- Surface Pro 2 (SP2)
- Surface Pro 3 (SP3)
- Surface Pro 4 (SP4)
- Surface Pro (5th Gen / 2017) (SP5)
- Surface Pro 6 (SP6)
- Surface Pro 7 (SP7)
- Surface Pro 7+ (SP7+)
- Surface Pro 8 (SP8)
- Surface Pro 9 (Intel) (SP9)
- Surface Dock
Unknown/Data needed:
Unsupported:
- Surface RT 1, Surface RT 2 (See Open Surface RT instead.)
- Surface Pro X (SPX) (see here and here for ongoing work)
- Surface Pro 9 (ARM/SQ3)
If your device is listed under "Unknown/Data needed" or not listed at all, feel free to help us out and have a look at providing us with some diagnostic data.
Feature Matrix
Not all features are supported equally on all devices. Please check the dedicated page for your device for more detailed information on the supported and not-supported features.
✓
- The feature is supported?
- It is unknown whether the feature is supported. You are free to update it if you know❌
- The feature is not supported and won't workN/A
- The feature is not applicable to the device because it lacks the hardware for it.🧪
- Experimental. The feature is supported by some experimental code.
Surface Tablets
Hardware | S3 | SGO | SGO2 | SGO3 | SP1 | SP2 | SP3 | SP4 | SP5 | SP6 | SP7 | SP7+ | SP8 | SP9(I)¹⁹ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Keyboard | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ | ✓¹ |
Touchpad | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ | ✓¹ |
Tablet Mode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ |
Touchscreen | ✓⁵ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ✓¹ |
Pen | ✓⁵ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ✓¹ |
WiFi | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
LTE | ✓⁵ | ✓⁷ | ✓⁷ | ✓⁷ | N/A | N/A | N/A | N/A | ✓⁷ | N/A | N/A | ✓ | ✓ | N/A |
Bluetooth | ✓¹⁵ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓¹⁵ | ✓¹⁵ | ✓¹⁵ | ✓¹⁵ | ✓ | ✓ | ✓ | ✓ |
Speakers | ✓⁵ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Buttons | ✓ | ✓ | ✓ | ✓¹ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓² | ✓² | ✓ | ✓¹ |
SD Card Reader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | N/A | N/A |
Suspend | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Hibernate | ✓¹ | ✓ | ? | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ? | ✓¹⁹ |
S0ix³ | ✓ | ? | ✓ | ✓ | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ? | ✓ | ✓²¹ |
Sensors | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ? | ✓¹⁷ | ? |
Battery Status | ✓⁵ | ✓ | ✓ | ✓¹ | ✓ | ✓ | ✓ | ✓ | ✓⁸ | ✓⁸ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ |
Performance Modes | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ |
Cameras | ❌ | ¹⁰ | ¹⁰ | ¹⁰ | ✓ | ✓ | ✓ | ¹⁰ | ¹⁰ | ¹⁰ | ❌ | ❌ | ❌ | ❌ |
Surface Books and Surface Laptop Studio
Hardware | SB | SB2 | SB3 | SLS1 | SLS2 |
---|---|---|---|---|---|
Keyboard | ✓ | ✓ | ✓⁹ | ✓⁹ | ✓ |
Touchpad | ✓ | ✓ | ✓⁹ | ✓¹² | ❌ |
Tablet Mode | ✓ | ✓ | ✓ | ✓¹⁶ | ✓ |
Touchscreen | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ? |
Pen | ✓¹ | ✓¹ | ✓¹ | ✓¹ | ? |
WiFi | ✓ | ✓ | ✓ | ✓ | ? |
Bluetooth | ✓¹⁵ | ✓¹⁵ | ✓ | ✓ | ? |
Speakers | ✓ | ✓ | ✓ | ✓ | ? |
Buttons | ✓ | ✓ | ✓ | ✓ | ? |
SD Card Reader | ✓ | ✓ | ✓ | N/A | N/A |
Suspend | ✓ | ✓ | ✓ | ✓ | ? |
Hibernate | ✓ | ✓ | ✓ | ✓ | ? |
S0ix ³ | ? | ✓¹ | ? | ✓ | ? |
Sensors | ✓ | ✓ | ? | ✓ | ? |
Battery Status | ✓ | ✓⁸ | ✓⁹ | ✓⁹ | ? |
Performance Modes | ❌ | ✓⁸ | ✓⁹ | ✓⁹ | ✓ |
Dedicated GPU | ✓¹ | ✓⁹ | ✓⁹ | ✓ | ? |
Clipboard Detachment | ? | ✓²² | ✓²² | N/A | N/A |
Cameras | ¹⁰ | ¹⁰ | ❌ | ✓ | ? |
Surface Laptops
Hardware | SL | SL2 | SL3(A) | SL3(I) | SL4(A) | SL4(I) | SL5¹⁹ | SLG | SLG2 | SLG3 | SLSE |
---|---|---|---|---|---|---|---|---|---|---|---|
Keyboard | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓²⁰ | ✓ | ✓ | ✓ | ✓ |
Touchpad | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓²⁰ | ✓ | ✓ | ✓ | ✓ |
Touchscreen | ✓¹ | ✓¹ | ❌ | ✓¹ | ❌ | ✓¹ | ✓¹ | ✓ | ✓ | ✓ | N/A |
Pen | ✓¹ | ✓¹ | ❌ | ✓¹ | ❌ | ✓¹ | ✓¹ | N/A | N/A | N/A | N/A |
WiFi | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Bluetooth | ✓¹⁵ | ✓¹⁵ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Speakers | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Buttons | ✓ | ✓ | ✓² | ✓² | ✓¹ | ✓¹ | ? | ✓ | ✓ | ✓ | ✓ |
Suspend | ✓ | ✓ | ⁴ | ✓ | ? | ? | ¹⁹ | ✓ | ✓ | ✓ | ✓ |
Hibernate | ✓ | ✓ | ✓ | ✓ | ? | ? | ? | ✓ | ✓ | ✓ | ✓ |
S0ix³ | ✓ | ✓ | ✓ | ✓ | ✓¹¹ | ✓ | ? | ✓ | ✓ | ✓ | ? |
Sensors | ✓ | ✓ | ✓ | ✓ | ✓ | ? | ? | ✓ | ✓ | ✓ | ✓ |
Battery Status | ✓⁸ | ✓⁸ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓ | ✓⁹ | ✓¹⁸ | ✓¹⁸ | ✓ |
Performance Modes | ✓⁸ | ✓⁸ | ✓⁹ | ✓⁹ | ✓⁹ | ✓⁹ | ✓²⁰ | ✓⁹ | ✓¹⁸ | ✓¹⁸ | ? |
Cameras | ❌ | ❌ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
- ¹ Requires linux-surface kernel
- ² Requires linux 5.4+ (including ubuntu 20.04+ (Not sure what Linux version earlier versions of Ubuntu use))
- ³ Also called "Modern Standby" / "Connected Standby"
- ⁴ Suspends, but only wakes up from external keyboard
- ⁵ Visit Surface 3 page for details: Surface 3
- ⁷ See this page for setup information
- ⁸ Requires linux 5.12+ or linux-surface kernel
- ⁹ Requires linux 5.13+ or linux-surface kernel
- ¹⁰ Camera Work in Progress
- ¹¹ Partially working with additional patches #458
- ¹² Requires quirk for libinput. See this wiki entry for details.
- ¹⁵ Marvell Wi-Fi/Bluetooth chip has a firmware bug where system powersaving is prohibited if any Bluetooth Low Energy devices are paired (yes: paired, not connected). For best battery life, make sure not to pair any BT LE devices (that includes the Surface Pen).
- ¹⁶ Requires linux-surface kernel >=5.18.4
- ¹⁷ Requires linux-surface kernel >=5.18.7
- ¹⁸ Requires linux-surface kernel >=5.18.10
- ¹⁹ For Intel 12th generation devices that has problem that seem to be affected across that Intel generation of Surface devices, see device specified and "Intel 12th Generation Devices Issues" wiki page for more information.
- ²⁰ Requires linux-surface kernel >=6.0.8-3
- ²¹ s0ix performance is poor on Runtime Screen Off (tested by S0ixSelftestTool)
- ²² Visit your device's wiki page for more details
Features provided by the Surface Aggregator Module
Some features provided by the Surface Aggregator Module (specifically faster clipboard detachment, discrete GPU power control on SB2/SB3, and performance modes) may need additional configuration. For a documentation of those features and how to use them, please have a look at the Surface Aggregator Module Wiki.