web-dev-qa-db-fra.com

Installer Ubuntu sur Surface Pro 4

Je suis passé de Win 10 à Ubuntu 16.04. J'ai essayé de suivre cet article et cette vidéo , mais je rencontre toujours des problèmes, car la dernière version du noyau est la 4.6.3.
Je suis toujours sur le noyau fourni avec Ubuntu, qui est 4.4.0.

Bref, mon clavier, ma tablette tactile, mon écran tactile, les boutons de volume et d'alimentation, le stylet, l'indicateur wifi (coin supérieur droit) et l'appareil photo ne fonctionnent pas.
J'ai réussi à faire fonctionner le Wifi et le Bluetooth.

Quelqu'un peut-il m'aider à écrire/trouver des correctifs et à recompiler le noyau?


Veuillez poster toutes les mises à jour et les numéros sur Mon organisation GitHub et toute contribution est appréciée

deriver-config et modules

Pour que le type de couverture fonctionne, exécutez le script SP4-1 à partir de deriver-config

7
Amir

J'ai utilisé ce guide sur Reddit

Si des problèmes avec le noyau de fridgecow se bloquaient et ne pourraient jamais redémarrer ou s'éteindre correctement, le logo Ubuntu ne ferait que geler.

J'ai utilisé les cantenna (6a et 7a) et fonctionne bien, sauf que les boutons de volume ne se réveillent pas et que les boutons de volume ne fonctionnent pas.

Télécharger ce fichier (le noyau corrigé)

cd dans le répertoire où il est allé (par exemple cd Downloads) et installer les packages

Sudo dpkg -i './linux-headers-4.4.0-rc8touchkernel+_1_AMD64.deb'
Sudo dpkg -i './linux-image-4.4.0-rc8touchkernel+_1_AMD64.deb'

Montez votre partition Windows (vous pouvez télécharger les fichiers depuis ici si vous avez supprimé votre partition Windows ou si vous ne les trouvez pas) et copiez les fichiers dans votre répertoire racine Ubuntu (vous devrez peut-être modifier le chemin. sur le point de montage de votre partition Windows:

Sudo mkdir /iTouch
cp /media/$USER/Windows/Windows/INF/PreciseTouch/Intel/* /iTouch

Maintenant, faites des liens symboliques vers les fichiers afin que le pilote puisse les trouver

Sudo ln -sf /iTouch/SurfaceTouchServicingKernelSKLMSHW0078.bin /iTouch/vendor_kernel_skl.bin
Sudo ln -sf /iTouch/SurfaceTouchServicingSFTConfigMSHW0078.bin /iTouch/integ_sft_cfg_skl.bin
Sudo ln -sf /iTouch/SurfaceTouchServicingDescriptorMSHW0078.bin /iTouch/vendor_descriptor.bin
Sudo ln -sf /iTouch/iaPreciseTouchDescriptor.bin /iTouch/integ_descriptor.bin

Vous devrez ensuite vous assurer que vous avez l'option de démarrer ce noyau ou de le configurer pour qu'il démarre par défaut en configurant GRUB.

2
user3518221

J'ai un noyau assez Nice Surface Pro 4 fonctionnant sur mon installation Ubuntu.

Le récapitulatif

Ce qui fonctionne:

  • wifi/bluetooth
  • multi-touches
  • stylo
  • trackpad sur la couverture de frappe

Ce qui fonctionne un peu:

  • hiberner - après la reprise, il n'y a ni contact ni stylo

Qu'est-ce qui ne:

  • suspendre (voir la remarque sur l'économie d'énergie ci-dessous)
  • freeze (la version de suspension/sommeil qui consomme le plus de batterie et ne fonctionne pas de manière fiable)
  • la couverture de frappe

Ce que je n'ai pas essayé:

  • les caméras

Idée générale

L'idée générale derrière ce noyau est de prendre les modifications apportées par Hyungwoo Yang à https://github.com/ipts-linux-org/ipts-linux-new/wiki et de les appliquer à Ubuntu. 4.9rc3 noyau. Voici les étapes à suivre pour mettre le noyau en ordre. Le processus de compilation prend environ 45 minutes avec tous les cœurs de Surface 4. Le clonage des référentiels du noyau nécessite environ 1,5 Go d’espace disque.


Étapes pour produire le noyau

  1. installez Ubuntu 16.10 yakkety. Pour ce faire, vous aurez besoin d'un concentrateur USB capable de gérer à la fois l'Ubuntu Live-USB et le clavier/souris.

  2. démarrez Linux avec un clavier USB.

  3. préparez le noyau Ubuntu 4.9rc3.

    • clonez le noyau Ubuntu 4.9rc3 (requiert ~ 1,5 g d'espace):

      git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.9-rc3

    • téléchargez 6 correctifs: Patch1Patch2PatchPatch4Patch5Patch6

    • appliquez les correctifs au noyau dans l’ordre: do

      git am /path/to/THEPATCH.patch

      pour chacun des correctifs.

  4. créer un patch avec support tactile/stylet à partir du noyau ipts-linux-new.

    • clone le noyau (nécessite environ 1,5 g d'espace) dans un autre répertoire:

      git clone https://github.com/ipts-linux-org/ipts-linux-new.git

    • créer le patch:

      git diff 0c183d92b20b5c84ca655b45ef57b3318b83eb9e > /path/to/ipts-linux-new_patch.txt

  5. appliquer le correctif ipts-linux-new à v4.9rc3

    `cd /path/to/v4.9rc3`
    `patch -p1 < /path/to/ipts-linux-new_patch.txt`
    `git add .`
    `git commit -m 'Patch for Surface Pro 4 taken from ipts-linux-new.'`
    
  6. compiler le noyau et créer des paquets ubuntu .deb (copiés à partir de compilation du noyau Ubunt )

    cd /path/to/v4.9rc3

    • initialiser les fichiers debian:

      fakeroot debian/rules clean

    • configurez le noyau que vous allez construire:

      fakeroot debian/rules editconfigs

      • Dites oui seulement à la question AMD64. Cela montrera l'interface "menuconfig". activer les deux options suivantes:
        • Pilotes de périphérique -> Périphérique de verrouillage express NVM (y)
        • Pilotes de périphérique -> Divers périphériques -> Intel Precise Touch & Stylus (m)
    • commentez ou supprimez "do_zfs = true" dans "/path/to/v4.9rc3/debian.master/rules.d/AMD64.mk"

    • renommer le noyau en éditant "/path/to/v4.9rc3/debian.master/changelog"

  7. compiler le noyau (utilisez plus de threads que de processeurs pour le rendre plus rapide)

    `fakeroot debian/rules clean` #necessary, but I don't know why
    `DEB_BUILD_OPTIONS=parallel=5 fakeroot debian/rules binary-headers binary-generic binary-perarch`
    
  8. quatre nouveaux fichiers .debs doivent être créés dans le répertoire situé à côté de v4.9rc3. Installez le .debs avec la commande suivante:

    `Sudo dpkg -i linux-image-* linux-headers-4.9.0-040900rc3*`
    
  9. copier les fichiers du pilote de Windows à Linux:

    • copiez les fichiers du pilote de "\ Windows\INF\PreciseTouch\Intel" dans le répertoire linux "/ lib/firmware/intel/ipts". Il devrait y avoir au moins 4 fichiers avec des noms similaires à ceux-ci:

      • iaPreciseTouchDescriptor.bin
      • SurfaceTouchServicingSFTConfigMSHW0078.bin
      • SurfaceTouchServicingDescriptorMSHW0078.bin
      • SurfaceTouchServicingKernelSKLMSHW0078.bin
    • Créez des liens symboliques vers ces fichiers:

      cd /lib/firmware/intel/ipts

      ln -s iaPreciseTouchDescriptor.bin intel_desc.bin

      ln -s SurfaceTouchServicingSFTConfigMSHW0078.bin config.bin

      ln -s SurfaceTouchServicingDescriptorMSHW0078.bin vendor_desc.bin

      ln -s SurfaceTouchServicingKernelSKLMSHW0078.bin vendor_kernel.bin

Vous devriez pouvoir démarrer le nouveau noyau maintenant. Si les liens sont au bon endroit, le toucher et le stylo fonctionneront bien.


Note sur l'économie d'énergie

La fonctionnalité de suspension manquante est un inconvénient majeur. Ceci est dû au fiasco "en veille" de Microsoft: https://lwn.net/Articles/580451/ . Freeze utilise plus de batterie (la batterie est peut-être déchargée deux fois moins vite que si vous aviez laissé l'ordinateur allumé) et ne semble pas fiable. Avec l'hibernation, l'état est conservé avec succès, mais malheureusement, les fonctionnalités de toucher et de stylet ne fonctionnent pas après la reprise.

2
krumpelstiltskin

Sur les algorithmes tactiles SP4 s'exécute sur le processeur graphique, les pilotes traditionnels ne fonctionnent pas

Voici le lien de github: https://github.com/ipts-linux-org/ipts-linux/wiki

Écran tactile, stylo Surface Pro ..

IPTS signifie: Intel Precision Touch et Stylus.

Dans ce dépôt github, il y a un noyau spécifique avec le pilote d'écran tactile.

Désolé de choisir un noyau spécifique, mais les correctifs doivent être applicables à tout noyau ultérieur à 4.4.

1
ardaC

Je tape/mousing depuis Ubuntu 16.10 sur SP4. Pour arriver ici, j’ai fait ce qui suit:

  • charger Ubuntu à l'aide d'un concentrateur USB pour le support clavier/souris

  • Sudo apt-get install les deux packages suivants:

  • ukuu (EASY!) met à jour le dernier noyau RC (4.10-rc8). CECI prend désormais en charge le clavier/souris magnétique SP4 (merci, personnes du noyau!). ONLY NIGGLE: sans fil, alors allez-y sur Google et corrigez-le.

  • grub-customizer pour choisir Win10/Ubuntu/Mint.

Ubuntu fonctionne sans trépidations, j'ai choisi 16,10 yakkety car je n'aime pas 16,04 xenial min/max/close sur l'UL de l'écran, et je n'ai jamais trouvé de solution simple à ce problème.

Linux MINT démarre également avec le support du clavier (après la mise à niveau du noyau vers la version 4.10-rc8) mais pas avec le pavé tactile de la souris.

0
user258424

J'ai encore trouvé le meilleur noyau. Il utilise le même ensemble de patchs que décrit dans mon autre article, ainsi que d’autres qui permettent à la couverture de type de fonctionner avec le multi-touch sur le pavé tactile. Je l'ai en cours d'exécution avec mon installation 16.10.

Ce noyau nécessite peu de travail de la part de l'utilisateur puisqu'il est déjà compilé dans des packages .deb que vous pouvez télécharger.

Ce qui fonctionne:

  • toucher
  • stylo
  • wifi
  • clavier
  • trackpad
  • boutons de volume physique et touches de raccourci clavier

Qu'est-ce qui ne:

  • sleep
  • parfois buggy

Il ne sert à rien que je plagie les directions car elles sont dynamiques et bien formulées:

https://www.reddit.com/r/SurfaceLinux/comments/4t64zt/getting_the_sp4_running_with_ubuntu_1604/

0
krumpelstiltskin

Il existe une archive de paquets personnels (PPA) avec le noyau emballé pour vous à l'adresse suivante: https://launchpad.net/~tigerite/+archive/ubuntu/kernel .

Suivez les instructions "Ajouter ce PPA à votre système" puis exécutez les commandes apt spécifiées.

Il est probablement préférable de commencer par une installation de Xenial (16.04) plutôt que de Yakkety (16.10) car il n'y a pas eu de mise à jour récente (depuis mai) du PPA.

0
krumpelstiltskin