it-swarm.com.de

Ubuntu auf Surface pro installieren 4

Ich bin von Win 10 auf Ubuntu 16.04 umgezogen. Ich habe versucht, diesen Artikel und dieses Video zu folgen, aber es treten immer noch Probleme auf, da die neueste Kernel-Version 4.6.3 ist.
Ich arbeite immer noch mit dem Kernel, der mit Ubuntu 4.4.0 installiert wurde.

Kurz gesagt, meine Tastatur, das Touchpad, der Touchscreen, die Lautstärketasten und die Ein/Aus-Tasten, der Stift, die WLAN-Anzeige (obere rechte Ecke) und die Kamera funktionieren nicht.
Ich habe es geschafft, dass Wifi und Bluetooth funktionieren.

Kann mir jemand beim Schreiben/Finden von Patches und beim Neukompilieren des Kernels helfen?


Bitte posten Sie alle Updates und Probleme auf Meine GitHub-Organisation und jeder Beitrag wird geschätzt

deriver-config und Modules

Führen Sie das Skript SP4-1 von deriver-config aus, um das Type Cover zum Laufen zu bringen

7
Amir

Ich habe diese Anleitung auf Reddit verwendet

Wenn Probleme mit dem Kernel von fridgecow auftreten und der Kernel nie ordnungsgemäß neu gestartet oder heruntergefahren werden kann, kommt es zu einem Absturz, wenn das Ubuntu-Logo nichts tut.

Ich habe Cantennas (6a und 7a) verwendet und funktioniert gut, außer dass ich nicht aus dem Schlaf erwache und die Lautstärketasten nicht funktionieren.

Download diese Datei (der gepatchte Kernel)

cd in das Verzeichnis, in das es verschoben wurde (z. B. cd Downloads), und installieren Sie die Pakete

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

Mounten Sie Ihre Windows-Partition (Sie können die Dateien von hier herunterladen, wenn Sie Ihre Windows-Partition gelöscht haben oder sie nicht finden können) und kopieren Sie die Dateien in Ihr Ubuntu-Stammverzeichnis (möglicherweise müssen Sie den Pfad entsprechend anpassen) auf dem Mountpoint Ihrer Windows-Partition:

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

Stellen Sie nun Symlinks zu den Dateien her, damit der Treiber sie finden kann

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

Sie müssen dann sicherstellen, dass Sie die Option haben, diesen Kernel zu booten, oder Sie müssen ihn durch Konfigurieren von GRUB so einstellen, dass er standardmäßig bootet.

2
user3518221

Ich habe einen ziemlich netten Surface Pro 4-Kernel, der auf meiner Ubuntu-Installation läuft.

Der Rundown

Was funktioniert:

  • wiFi/Bluetooth
  • multi-Touch
  • stift
  • trackpad auf dem Cover

Was funktioniert etwas:

  • ruhezustand - nach dem Fortsetzen gibt es keine Berührung oder Stift

Was nicht:

  • aussetzen (siehe Hinweis zum Energiesparen weiter unten)
  • einfrieren (die Version mit der stärkeren Batterieentladung von Suspend/Sleep, die nicht zuverlässig funktioniert)
  • die Tippabdeckung

Was ich nicht ausprobiert habe:

  • die Kameras

Grund Idee

Die allgemeine Idee hinter diesem Kernel ist, die Änderungen, die Hyungwoo Yang unter https://github.com/ipts-linux-org/ipts-linux-new/wiki vorgenommen hat, auf das Ubuntu anzuwenden 4.9rc3 Kernel. Hier sind die Schritte, um den Kernel in Ordnung zu bringen. Der Kompilierungsprozess dauert ca. 45 Minuten, wenn alle Kerne von Surface 4 verwendet werden. Das Klonen der Kernel-Repositorys erfordert ca. 1,5 GB Festplattenspeicher.


Schritte zum Erzeugen des Kernels

  1. installieren Sie Ubuntu 16.10 yakkety. Dazu benötigen Sie einen USB-Hub, der sowohl Ubuntu Live-USB als auch Tastatur/Maus unterstützt.

  2. linux mit einer USB-Tastatur booten.

  3. bereiten Sie den Ubuntu 4.9rc3-Kernel vor.

    • klonen Sie den Ubuntu 4.9rc3-Kernel (benötigt ca. 1,5 g Speicherplatz):

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

    • lade 6 Patches herunter: Patch1Patch2PatchPatch4Patch5Patch6

    • wenden Sie die Patches in der folgenden Reihenfolge auf den Kernel an:

      git am /path/to/THEPATCH.patch

      für jeden der patches.

  4. erstellen Sie einen Patch mit Touch-/Stift-Unterstützung aus dem Kernel von ipts-linux-new.

    • klonen Sie den Kernel (benötigt ca. 1,5 g Speicherplatz) in ein anderes Verzeichnis:

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

    • erstelle den Patch:

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

  5. wende den ipts-linux-new patch auf v4.9rc3 an

    `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. kompiliere den Kernel und erstelle Ubuntu .deb Pakete (kopiert von buntu Kernel Compilation )

    cd /path/to/v4.9rc3

    • initialisieren Sie die Debian-Dateien:

      fakeroot debian/rules clean

    • konfigurieren Sie den Kernel, den Sie erstellen möchten:

      fakeroot debian/rules editconfigs

      • Sagen Sie ja nur zur AMD64-Frage. Dies zeigt die "menuconfig" -Curses-Oberfläche. aktiviere die folgenden zwei optionen:
        • Gerätetreiber -> NVM-Express-Sperrgerät (y)
        • Gerätetreiber -> Verschiedene Geräte -> Intel Precise Touch & Stylus (m)
    • kommentiere oder entferne "do_zfs = true" in "/path/to/v4.9rc3/debian.master/rules.d/AMD64.mk"

    • benennen Sie den Kernel um, indem Sie "/path/to/v4.9rc3/debian.master/changelog" bearbeiten.

  7. kompiliere den Kernel (benutze mehr Threads als Prozessoren, um ihn schneller zu machen)

    `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. im Verzeichnis neben v4.9rc3 sollten vier neue .debs erstellt werden. Installieren Sie die .debs mit dem folgenden Befehl:

    `Sudo dpkg -i linux-image-* linux-headers-4.9.0-040900rc3*`
    
  9. treiberdateien von Windows nach Linux kopieren:

    • kopieren Sie die Treiberdateien von "\ Windows\INF\PreciseTouch\Intel" in das Linux-Verzeichnis "/ lib/firmware/intel/ipts". Es sollten mindestens 4 Dateien mit ähnlichen Namen vorhanden sein:

      • iaPreciseTouchDescriptor.bin
      • SurfaceTouchServicingSFTConfigMSHW0078.bin
      • SurfaceTouchServicingDescriptorMSHW0078.bin
      • SurfaceTouchServicingKernelSKLMSHW0078.bin
    • Stellen Sie symbolische Links zu diesen Dateien her:

      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

Sie sollten jetzt in der Lage sein, den neuen Kernel zu booten. Wenn sich die Links an der richtigen Stelle befinden, funktionieren Touch und Stift einwandfrei.


Hinweis zum Energiesparen

Die fehlende Suspend-Funktionalität ist ein großer Nachteil. Dies ist auf das Microsoft-Fiasko "Connected Standby" zurückzuführen: https://lwn.net/Articles/580451/ . Freeze verbraucht mehr Batterie (entlädt die Batterie möglicherweise halb so schnell, als wenn Sie den Computer eingeschaltet gelassen hätten) und scheint nicht zuverlässig zu sein. Mit dem Ruhezustand wird der Status erfolgreich beibehalten, aber leider funktionieren die Touch- und Stiftfunktionen nach der Wiederaufnahme nicht mehr.

2

Auf SP4 werden Touch-Algorithmen auf der GPU ausgeführt, sodass herkömmliche Treiber nicht funktionieren

Hier ist der Github-Link: https://github.com/ipts-linux-org/ipts-linux/wiki

Touchscreen, Surface Pro Stift ..

IPTS steht für: Intel Precision Touch und Stylus.

In diesem Github-Repo gibt es einen speziellen Kernel mit Touchscreen-Treiber.

Es tut mir leid, dass Sie einen bestimmten Kernel gefunden haben, aber Patches müssen für jeden Kernel nach 4.4 gültig sein.

1
ardaC

Ich tippe/mause von Ubuntu 16.10 auf SP4. Um hierher zu gelangen, habe ich Folgendes getan:

  • laden Sie Ubuntu über einen USB-Hub für die Tastatur-/Mausunterstützung

  • Sudo apt-get install die folgenden zwei Pakete:

  • ukuu (EINFACH!) Update auf den neuesten RC-Kernel (4.10-rc8). Dies unterstützt jetzt die magnetische SP4-Tastatur/Maus (danke, Kernel-Leute!). NUR NIGGLE: WLAN, also googeln und patchen.

  • grub-customizer zur Auswahl von Win10/Ubuntu/Mint.

Ubuntu funktioniert ohne herumzureiten, ich habe 16.10 yakkety gewählt, da ich 16.04 xenial min/max/close auf UL des Bildschirms nicht mag und nie einen einfachen Weg gefunden, dies zu umgehen.

Linux MINT startet ebenfalls mit Tastaturunterstützung (nach dem Upgrade des Kernels auf 4.10-rc8), jedoch nicht mit dem Maus-Touchpad.

0
user258424

Ich habe den besten Kernel gefunden. Es wird derselbe Patch-Satz verwendet, den mein anderer Beitrag beschreibt, sowie weitere, die dafür sorgen, dass das Type-Cover zusammen mit Multi-Touch auf dem Trackpad funktioniert. Ich habe es mit meiner 16.10-Installation ausgeführt.

Dieser Kernel erfordert wenig Arbeit vom Benutzer, da er bereits in .deb-Paketen kompiliert ist, die Sie herunterladen können.

Was funktioniert:

  • berühren
  • stift
  • w-lan
  • tastatur
  • trackpad
  • physische Lautstärketasten und Tastatur-Hotkeys

Was nicht:

  • sleep
  • gelegentlich fehlerhaft

Es macht keinen Sinn, die Richtungen zu plagiieren, da sie dynamisch und gut formuliert sind:

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

0

Es gibt ein persönliches Paketarchiv (PPA) mit dem für Sie gepackten Kernel unter: https://launchpad.net/~tigerite/+archive/ubuntu/kernel .

Folgen Sie den Anweisungen "Diese PPA zu Ihrem System hinzufügen" und führen Sie dann die angegebenen apt-Befehle aus.

Es ist wahrscheinlich besser, mit einer Installation von Xenial (16.04) zu beginnen, als mit Yakkety (16.10), da es (seit Mai) kein neues Update des PPA gibt.

0