Lenovo ThinkPad X1 Tablet: Ubuntu 16.10 – Was geht?

Ein Tablet für GNU/Linux? Mit dem Lenovo ThinkPad X1 Tablet sieht die Antwort auf die Frage gar nicht so schlecht aus.
Die folgenden Ausführungen beziehen sich dabei auf:

  • Lenovo ThinkPad X1 Tablet, Core m7, mit BIOS Version 1.57
  • Ubuntu 16.10 64bit
  • Kernel 4.8.0-32

Das Starten der LiveCD von Ubuntu 16.10 dauert zwar irgendwie ziemlich lange, funktioniert aber mit UEFI und SecureBoot normalerweise. Ab und an startet die LiveCD bei mir den Grafikmodus aber nicht korrekt (low graphics warning) – beim zweiten Start funktioniert es dann aber meistens.  Nach der Installation von Ubuntu funktioniert das Starten dann aber problemlos. Mit Kernel 4.8.0-32 sieht es wie folgt mit der Funktionsfähigkeit des ThinkPad X1 Tablet aus:

Funktion Stand der Dinge
Touchscreen Funktioniert problemlos.
Stylus/ Stift Funktioniert problemlos.
ThinkPad X1 Tablet Thin Keyboard An- und Abdocken funktioniert problemlos.
Touchpad Das Touchpad des ThinkPad X1 Tablet Thin Keyboard funktioniert zwar, allerdings nur als generic mouse. Daher gibt es kein scrollen mit zwei Fingern.
Tastatur Die Tastatur des ThinkPad X1 Tablet Thin Keyboard funktioniert problemlos.
TrackPoint Der TrackPoint des ThinkPad X1 Tablet Thin Keyboard funktioniert Out-of-the-Box nicht. Allerdings lässt er sich sehr leicht zum Leben erwecken: es muss nur in „/etc/default/grub“ die CMDLINE Zeile mit „quiet splash“ um ein Parameter erweitert werden:

quiet splash usbhid.quirks=0x17ef:0x6085:0x40

Dann mit „sudo grub-mkconfig -o /boot/grub/grub.cfg“ die Konfiguration anwenden und neu starten.
Allerdings ist standardmäßig die Scrollfunktion der mittleren Taste nicht aktiv. Manuell kann man mit

xinput set-prop DEVICEID "Evdev Wheel Emulation Button" 2

und

xinput set-prop DEVICEID "Evdev Wheel Emulation" 1

die Scrollfunktion aktivieren. DEVICEID ist eine der beiden ids, die bei Eingabe von „xinput“ mit dem Namen „PRIMAX ThinkPad X1 Tablet Thin Keyboard“ angezeigt werden, die andere ist das Touchpad – das man dann auch gleich ausschalten kann, wenn nicht benötigt:

xinput disable DEVICEID

 

USB-C Anschluss Aufladen funktioniert natürlich ohne Probleme.
USB-C auf DisplayPort: nicht getestet.
USB-C auf HDMI: problemlos (FullHD 60Hz, 4k nur 30Hz).
USB-C auf VGA: nicht getestet.
USB-C auf USB-A: problemlos.
Front-Kamera Funktioniert nicht.
Back-Kamera Funktioniert nicht.
Mini-DisplayPort Mini-DisplayPort auf DispalyPort: problemlos (4k mit 60Hz).
Mini-DisplayPort auf HDMI: problemlos (FullHD 60Hz, 4k nur 30Hz).

Mini-DisplayPort auf VGA: nicht getestet.
Mobiles Breitband LTE/4G Modem wird erkannt, funktioniert aber (noch) nicht (zum Problem gibt es einiges an Diskussion).
Audio Soundausgabe funktioniert problemlos.
Hardware-Lautstärke-Tasten funktionieren problemlos.

Mikrofon nicht getestet.
WLan Funktioniert problemlos (iwlwifi-8000C-22.ucode bis iwlwifi-8000C-24.ucode fehlen, zumindest 22 kann hier heruntergeladen und nach „/lib/firmware“ kopiert werden).
Bluetooth Funktioniert problemlos.
Standby Suspend-to-ram/ Bereitschaft funktioniert bedingt, leuchtendes ThinkPad-i bleibt an.
Gyroskop/ automatische Displaydrehung Funktioniert nicht.
Fingerprint-Reader Funktioniert nicht.
MicroSD-Card-Reader Funktioniert problemlos.
Shortcuts Stand der Dinge
F5/F6 – Bildschirmhelligkeit Funktionieren problemlos.
Space – Keyboard Backlight Funktioniert problemlos.
F2/F3 – Lautstärke Funktionieren problemlos.
F1 – Mikrofon stummschalten Funktioniert problemlos.
F1 – Fn-Lock Funktioniert nicht.
F7 – Externer Bildschirm Funktioniert nicht.
F8 – Flugmodus Funktioniert nicht.
F9 – Einstellungen Funktioniert nicht.
F10 – Suche Funktioniert nicht.
F11 – Task-Switcher Funktioniert.
F12 – Expose/Starter Funktioniert nicht.

Nach der Installation von TLP („sudo apt-get install tlp tlp-rdw“) komme ich bei normalen Büroarbeiten auf einen Verbrauch von etwa 4 bis 7 Watt, was etwa einer Laufzeit von 5h – 8h entspricht (Displayhelligkeit etwa 1/3).

Leider leidet auch das Lenovo ThinkPad X1 Tablet, gerade bei CPU-Last oder längerem SSD-Zugriff, unter deutlich wahrnehmbarem Coil-Whine bzw. CPU-Fiepen. Außerdem scheint Lenovo bei den Displays Probleme zu haben. Es gibt mehrere Bericht von gelben Flecken in den Displayecken, die besonders bei hellem Hintergrund sichtbar sind. Auch mein Gerät hatte einen gelbe Fleck in einer Ecke und zusätzlich gelbe Streifen am linken und oberen Displayrand.

Weitere Quellen:

Ubuntu 16.10 – LibreOffice 5: Bessere Rechtschreib- und Grammatikprüfung

Wer mit der Leistung der in LibreOffice integrierten Rechtschreib- und Grammatikprüfung nicht zufrieden ist, muss nicht gleich auf Windows und Word umsteigen oder sich Softmaker Office mit integriertem Duden-Korrektor kaufen. Vielleicht reichen ihm ja schon die Verbesserungen, die das Language Tool mitbringt.

Leider benötigt das Language Tool eine Java Laufzeitumgebung. Die ist standardmäßig unter Ubuntu nicht installiert. Glücklicherweise brauchen wir aber nicht gleich Oracle Java zu installieren – Open JDK reicht ebenfalls aus. Zum Installieren der aktuellen Version genügt folgender Befehl:

sudo apt-get install openjdk-9-jre

Allerdings scheint LibreOffice 5 mit Version 9 (noch) nichts anfangen zu können. Daher müssen wir die alte Version 8 installieren:

sudo apt-get install default-jre

Wer schon Version 9 installiert hat/hatte, kann die genutzte Java-Version mit folgendem Befehl über die entsprechende Zahlentaste auswählen:

sudo update-alternatives --config java

Wenn „/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java“ vorhanden ist, sollte LibreOffice beim nächsten Start automatisch die richtige Java-Laufzeitumgebung einbinden. Ob dies der Fall ist, kann etwa in LibreOffice Writer über „Extras->Optionen: LibreOffice->Erweitert“ nachgeschaut werden. Im Feld Java Optionen sollte „OracleCorporation 1.8.0_111“ stehen und ausgewählt sein.

Wer jetzt versucht, das Language Tool zu installieren, erhält aber immer noch eine Fehlermeldung: „com.sun.star.uno.RuntimeException“. Um diesen Fehler zu beheben, müssen wir noch ein weiteres Paket installieren:

sudo apt-get install libreoffice-java-common

Jetzt kann das Language Tool (aktuell ist im Augenblick Version 3.5) von der Webseite https://languagetool.org/de/ heruntergeladen und durch Öffnen der Datei LanguageTool-3.5.oxt mit LibreOffice Writer installiert werden.

Einige Einstellmöglichkeiten bietet das Tool in LibreOffice unter „Extras->Language Tool: Optionen“ an.

Quellen:

Ubuntu 16.10 – Secure Boot und VirtualBox 5

Wer unter Ubuntu 16.10 VirtualBox nutzen will, hat mindestens zwei Möglichkeiten: 1. Secure Boot ausschalten, damit der Linux Kernel das unsignierte Modul für VirtualBox laden kann, oder 2. das Modul selber signieren, damit Secure Boot weiterhin funktioniert.

Hier der Weg, um die zweite Möglichkeit umzusetzen:

  1. Nach der Installation von VirtualBox mit „sudo apt-get install virtualbox“ generieren wir als erstes unseren eigenen MOK im Verzeichnis „/PFAD_ZUM_MOK/“ mit:
    openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Custom MOK/"
  2. Dann die erzeugten Schlüssel für Secure Boot importieren:
    sudo mokutil --import MOK.der

    Dabei muss ein Passwort gesetzt werden, dass einmalig zur Sicherheit beim Neustart abgefragt wird.

  3. Jetzt den Computer neu starten. Es erscheint ein blauer Screen, auf dem 1. eine Taste gedrückt, 2. „Enroll MOK“ ausgewählt, 3. „Continue“ ausgewählt, 4. „Yes“ ausgewählt, 5. das vergebene Passwort eingegeben und 6. „Ok“ ausgewählt werden muss (Hier der Prozess in Bildern).
  4. Jetzt geht es an das Signieren des VirtualBox Moduls. Dazu brauchen wir das Skript „sign-file“. Unter Ubuntu finden wir dieses im Verzeichnis „/usr/src/linux-headers-KERNEL_VERSION/scripts/“ (bitte die Versionsnummer KERNEL_VERSION entsprechend des eingesetzten Kernels anpassen, die sich mit dem Befehl „uname -r“ anzeigen lässt). Eventuell müssen dafür zunächst die Header-Files installiert werden:
    sudo apt-get install linux-headers-generic
  5. Der gesamte Signierbefehl lautet dann:
    sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /PFAD_ZUM_MOK/MOK.priv /PFAD_ZUM_MOK/MOK.der $(modinfo -n vboxdrv)
  6. Jetzt muss das Modul nur noch geladen werden, dann kann VirtualBox gestartet werden:
    sudo modprobe vboxdrv

Quellen: