Le clavier et le pavé tactile de la Surface Pro 10 peuvent se figer dès l’écran d’accueil d’une clé USB Live Linux. Cet article détaille les raisons, les tests déjà conduits, puis les solutions robustes pour rétablir les périphériques d’entrée et mener à bien un partitionnement ou une installation Kali Linux/GParted sans accroc.
Vue d’ensemble du problème
Sur une Surface Pro 10 for Business associée à un Surface Pro Keyboard, tout fonctionne jusqu’à l’apparition du menu de démarrage de GParted ou de Kali Linux Live. Sans crier gare, l’icône clavier disparaît de la barre système ; dès lors, ni frappe ni déplacement de curseur ne sont détectés. Le même support USB s’exécute pourtant sans failles sur une Surface Pro 5 (génération 2017). L’incident se reproduit avec différents claviers Type Cover et quelle que soit l’édition ISO employée.
Symptômes typiques
- Fonctionnement normal du clavier au logo de démarrage ;
- Gel complet dès le chargement du noyau Linux ;
- Non‐réactivité du clavier même dans BusyBox ou dans l’initramfs ;
- Absence de pointage : touchpad et clics restent muets ;
- Périphérique non listé par
lsusb
ni parlspci
, ce qui confirme un pilote manquant plutôt qu’une panne matérielle.
Causes identifiées
- Absence de pilote HID propriétaire dans l’image ISO : le contrôleur d’entrées de la Surface Pro 10, inédit, ne dispose pas encore de modules inclus par défaut.
- Écart matériel entre générations : la génération 5 exploite un firmware HID déjà amont dans le noyau ; le nouveau modèle requiert le sous‑système
surface_hid
et les couchessurface_aggregator
. - Portée limitée des pilotes Windows : l’exécutable MSI « Surface Pro 10 Drivers and Firmware » agit uniquement dans l’environnement Windows, sans répercussion sur un boot Linux.
Tests et mesures déjà tentés
Action | Résultat |
---|---|
Réinstallation firmware Surface dans Windows | Aucun effet visible côté Linux Live |
Extraction des .inf + pnputil /add-driver | Clavier toujours inactif |
Désactivation/activation Secure Boot et Secure Core | Aucun changement |
Essai d’un autre Type Cover | Même gel du périphérique HID |
Clavier USB‑C externe | Fonctionne instantanément (contournement) |
Recommandations pratiques
Employer un clavier externe
C’est la parade la plus rapide : brancher un clavier USB‑A/USB‑C ou Bluetooth permet de naviguer dans GParted et de compléter l’installation avant le premier redémarrage sous Linux pleinement configuré. Une fois le noyau mis à jour, vous pourrez revenir au Type Cover officiel.
Migrer vers un noyau Linux prenant en charge la famille Surface
Les correctifs s’agrègent dans la branche linux‑surface
maintenue par la communauté ; à défaut, un noyau en version 6.9 ou supérieure intègre déjà une partie des patches. La procédure pas à pas :
- Démarrer la machine avec l’USB Live et un clavier externe.
- Installer la distribution sur le SSD.
- Se connecter à Internet puis ajouter le dépôt « linux‑surface ». Exemple sous Arch Linux :
sudo pacman -Syu
git clone https://aur.archlinux.org/linux-surface.git
cd linux-surface
makepkg -si
- Activer les modules :
sudo modprobe surface_hid
sudo modprobe surface_aggregator
- Regénérer l’initramfs pour injecter les nouveaux pilotes dans l’image de démarrage :
sudo mkinitcpio -P
- Mettre à jour le chargeur Systemd‑boot, GRUB ou rEFInd selon le cas.
- Redémarrer sans clavier externe : le Type Cover doit désormais être reconnu dès l’écran de connexion.
Activer l’option “USB Keyboard Support” dans l’UEFI
Cette bascule, repérée dans l’onglet Devices du firmware, force la carte mère à présenter le Type Cover comme clavier USB générique jusqu’au chargement de l’OS. La détection reste aléatoire, mais certains utilisateurs confirment un succès après réinitialisation du BIOS puis réactivation de l’option.
Surveiller les dépôts de la distribution
Ubuntu, Fedora et Arch diffusent régulièrement des mises à jour du noyau. Une simple commande sudo apt full-upgrade
ou sudo dnf upgrade
peut suffire quelques semaines plus tard pour récupérer une version intégrant les modules Surface.
Consulter les forums spécialisés
Les sections « Laptop Hardware Compatibility » d’Arch Linux, « Surface Linux » sur Reddit ou encore les groupes Matrix #surface-linux regorgent de retours d’expérience, notamment des scripts automatisés pour Debian et openSUSE. Avant de compiler, jetez un œil aux fils épinglés : ils contiennent souvent un paquet pré‑compilé et signé.
Tutoriel : compilation manuelle des modules Surface
Pour les distributions où linux‑surface n’existe pas encore, la compilation à la main offre un contrôle total.
- Récupérer les sources :
git clone https://github.com/linux-surface/linux-surface.git
- Installer les dépendances de build (gcc, make, headers, bc, libncurses-dev, openssl dev…)
- Configurer le noyau :
make oldconfig
puis rechercher les entréesSURFACE_
et les passer à built‑in ou module selon préférence. - Compiler :
make -j$(nproc)
- Installer :
sudo make modules_install install
- Mettre à jour l’initramfs :
sudo dracut -f --kver $(make kernelrelease)
La démarche est longue (20–30 minutes) mais garantit l’inclusion des derniers correctifs non publiés.
Scénarios sans clavier externe
Lorsque l’accès physique à un périphérique USB est impossible (dépannage sur site, port unique endommagé, etc.), trois solutions de substitution existent :
- Live USB avec SSH auto‑démarré : placer une clé publique dans
/root/.ssh/authorized_keys
puis activersystemctl enable ssh
dans l’image ; on pilote la machine à distance dès la phase Live. - Pré‑configuration d’un serveur VNC : le démon démarre dans l’initramfs et diffuse le framebuffer, permettant de cliquer/taper depuis un autre poste.
- Option kernel “kbd‑mode=off” : désactive le multiplexeur HID de Surface et laisse le contrôleur exposer un pipeline USB standard temporaire.
Comprendre la pile HID Microsoft Surface
Le contrôleur clavier/touchpad est relié via le connecteur latéral et communique sur un bus SPI, non sur le traditionnel USB interne. Microsoft fournit un Surface Embedded Controller (SEC) qui agrège clavier, touchpad, gyroscope, gyroscope, caméra IR et boutons latéraux. Sans le module surface_aggregator
, l’OS ne voit aucun périphérique, d’où la disparition de l’icône clavier.
Chronologie de l’intégration dans le noyau
Version noyau | Fonctions Surface intégrées |
---|---|
5.13 | Gestion de l’accéléromètre et du gyroscope |
5.16 | Base du contrôleur Surface Aggregator |
6.2 | Support initial Surface Pro 8 |
6.4 | Touchpad précision sur Surface Laptop 5 |
6.9 | Ajout Surface Pro 10 – clavier et touchpad |
Un noyau antérieur à 6.9 ignore donc totalement le Type Cover de la Pro 10 ; c’est pourquoi un Live USB bâti sur Debian 12 (5.10) ou Ubuntu 22.04 (5.15/6.5 HWE) pose problème.
Risque Secure Boot et signature de modules
Sur les Surface Pro 10 for Business, Secure Core est activé par défaut ; il interdit tout module noyau non signé par une autorité approuvée. Si vous compilez linux‑surface
vous‑même, deux choix s’offrent à vous :
- Générer une paire de clés Machine Owner Key puis signer chaque
.ko
viakmodsign
, avant d’enregistrer le hash de la clé publique dans le BIOS. - Désactiver Secure Boot le temps du premier démarrage, vérifier le fonctionnement, puis réactiver et signer proprement.
Bonnes pratiques de maintenance
- Surveiller la parution des notes de version Surface UWP (Windows ) : elles indiquent souvent les correctifs équivalents requis côté Linux.
- Étager les mises à jour : testez d’abord la compilation sur une clé USB test avant de l’appliquer au système de production.
- Exporter un snapshot Btrfs ou Timeshift avant la mise à niveau du noyau ; un retour en arrière est alors instantané.
- Reporter les anomalies à la liste de diffusion « surface‑linux » avec
dmesg
complet : plus le retour est riche, plus vite le correctif sera fusionné.
FAQ
Q : Le clavier fonctionne dans le BIOS ; pourquoi disparaît‑il dans Linux ?
R : Le firmware simule un périphérique HID universel jusqu’au hand‑off vers l’OS. Au chargement du noyau, l’agrégateur Surface prend la relève. Sans pilote compatible, il coupe la liaison USB émulée.
Q : Une fois le noyau mis à jour, dois‑je garder le clavier externe ?
R : Non ; dès que le module surface_hid
est présent, le Type Cover redevient 100 % opérationnel, y compris les gestes multipoints.
Q : Peut‑on flasher le firmware Surface Pro 10 pour corriger le souci ?
R : Il n’existe pas de firmware alternatif officiel ; seul le noyau peut résoudre l’incompatibilité, pas une mise à jour BIOS.
Conclusion
Le blocage du clavier sur Surface Pro 10 n’est pas une panne matérielle mais un décalage entre l’évolution du matériel Microsoft et l’intégration progressive des pilotes dans le noyau Linux. Un clavier externe, un noyau ≥ 6.9 ou le projet linux‑surface règlent définitivement le problème. En attendant, un Live USB configuré pour SSH ou VNC reste la roue de secours idéale. Gardez un œil sur les futures mises à jour : chaque version rapproche un peu plus la Surface Pro 10 du « fonctionne out of the box » auquel les utilisateurs Linux aspirent.