Supertuxkart auf dem Tablet

Seit einiger Zeit gibt es Supertuxkart mit einem Touch-Eingabegerät, also habe ich es mal ausprobiert … in groß 🙂

Supertuxkart auf dem Tablet

Wer meine Artikelserie zum Pinephone verfolgt hat, hat den Spieleartikel gesehen. Darin ist auch Supertuxkart und seine Problem auf der Fedoraversion des Pinephones beschrieben, z.b. die mangelnde OpenGL3 Funktionalität der Mali400 GPU, was Supertuxkart in den Softwarerendermodus versetzt.

Dies Problem haben wir auf meinem Surface Pro Tablet natürlich nicht:

Ja, es fuhr wirklich

Supertuxkart ist aufgrund der Bedienung auf Multi-Touchsupport angewiesen. Wenn der nicht da ist, dann kann man entweder lenken und Gas geben oder eine der Zusatzfunktionen nutzen, aber nicht beides gleichzeitig. In der Praxis bedeutet es die faktische Unspielbarkeit des beliebten Kartgames.

Zum Glück gibt es Jake Day

Wer sich an die ersten Artikel zum Surface Tablet im Blog erinnert, dem wird der Umstand wieder einfallen, daß es keinen Touchsupport fürs Tablet gab. Jake Day hatte das geändert, in dem er einen eigenen Kernel kompiliert hatte, in dem dieser Makel behoben wurde.

Mit dem alten Jake Day Kernel habe ich dann Supertuxkart so gespielt, wie das vorgesehen war. Leider auch hier nur mit mäßigem Erfolg, da zwar alle Zusatzfunktionen gleichzeitig zum Lenken auslösbar sind, aber die Lenkung selbst das Problem ist. Viel zu oft bleibt das Kart einfach stehen oder lenkt nicht mehr. Ein Lenkrad wie ein echtes Lenkrad zu drehen ist für Touch nicht die beste Lösung. Eine Wippensteuerung wie auf jedem Gamepad wärs gewesen.

Zusammen mit der Pressdruckerkennung des Touchdisplays wäre eine gelungene Steuerung sehr gut möglich gewesen. Vielleicht bekomme ich die Devs ja zu dieser Änderung 🙂

„Energie ist alles!“

Zu den „mechanischen“ Problemen der Steuerung kommt, daß man das Spiel nicht wirklich lange zocken könnte, da es viel zu viel Energie benötigt. Die 4 i7 CPU Kerne werden wegen 3D Berechnung für die 3K Auflösung schnell sehr warm, was die Lüfter dann kompensieren müssen, ein todsicheres Anzeichen für hohen Energieverbrauch 😉

Aber immerhin, für ein bisschen Unterhaltung reicht eine Akkuladung aus 😉 Da das Spiel netzwerkfähig ist, könnt Ihr fast überall mit anderen Zocken, ob Ihr gewinnen werdet, kann bezweifelt werden 😉

Ladet Euch mal das Bild aus dem Artikel runter, dann habt Ihr eine Idee zur Auflösung des Bildschirms. Natürlich kann man Supertuxkart sagen, es soll eine kleinere Auflösung benutzen, aber das das Display die M$ eigene 3:2 Auflösung benutzt, kommt es zu Verzerrungen, wenn man z.b. auf FullHD runterschaltet.

Gyroskopische Steuerung

Auf Android kann man SupertTuxKart tatsächlich über die Lagesteuerung spielen:

[dev] Gyroscope controls in SuperTuxKart, an opensource racing game
byu/_pelya inAndroidGaming

Das könnte das Problem tatsächlich lösen, da das Surface so groß ist, das ruckartige Steuerfehler wie im Video mit dem großen Tablet gar nicht möglich wären. Das ist definitiv wert einmal ausprobiert zu werden 🙂

Pinephone: Judgement Day!

Linux: Multitouchsupport im Surface Pro 4

Heute geht es mal wieder um Linux auf dem Surface Pro 4 Tablet. Da hatten wir lange keinen Beitrag mehr dazu 🙂

Linux: Multitouchsupport im Surface Pro 4

Mit Kernel 5.8 kam „leider“ eine Änderung ins System: Touch ging nicht mehr. Auf einem Tablet ist das natürlich der Super-GAU und natürlich kamen sofort Erinnerungen auf zur Erstinbetriebnahme vor 18 Monaten.

Der letzte Kernel der noch ohne weiteres funktionierte war 5.7.17-2, ergo war erstmal ein Bugreport an die Entwickler nötig. Zum Glück konnten die das Problem erfolgreich beheben, wobei man sagen muß, ein bisschen mehr PR täte denen ganz gut 😉

Ihr braucht eine neue Zusatzsoftware für den Kernel 5.8: iptsd

Die Installation ist ganz einfach, sofern Ihr, und ich bin sicher, daß Ihr das habt, das Kernel Repo eingerichtet habt: surfacelinux.com .

dnf install iptsd -y

systemctl start iptsd
systemctl enable iptsd
reboot

Eigentlich ist der iptsd ein User-Space-Daemon, er braucht keinen Neustart, aber das hatte bei mir leider nicht funktioniert. Erst nach dem das System 2h geladen und dann neu gestartet wurde, funktionierte der Daemon wie er sollte.

Jetzt war wieder alles möglich, was der JakeDay-Kernel, keine Ahnung wieso der abgetaucht ist, auch konnte: nämlich Multi-Touch-Gesten ( und die Maschine wirklich abschalten, aber das ist ne andere Geschichte )

Multi-Touch-Gesten meint z.b., daß man unter der Gnome-Shell in die Aktivitätenübersicht mit Hilfe von 3-Fingern die sich aufeinander zubewegen wechseln kann. Auch funktioniert das Zoomen im Firefox und anderen dafür vorbereitete Apps wieder, was die Bedienung deutlich einfacher macht im Tabletmodus \o/

Jetzt braucht es nur zwei Fixe an der Kamera und dem Mouseeventmanagment und das Tablet ist, bis auf den hohen Stromverbrauch durch den Kernel selbst, endlich vollständig benutzbar.

„Jungs, gut gemacht!“ 🙂

Linux: Surface Tablets und Laptops mit eigenem Kernel-Repo

„Du saga mal, Du hascht doch des Suuhrfaze, gibtsch da scho wos njeues pführ?“ hallte es aus dem mitfünfziger Herrn am Tisch gegenüber. Freundlich, aber bestimmt, machte Ihm mein Sitznachbar darauf aufmerksam, daß er kurz hinter Kiel wäre und folglich kaum zu verstehen sei. Dies schien den Herrn genauso wenig zu stören, wie der Umstand, daß mein Sitznachbar eher andigital veranlagt ist und es sich bei dem Gerät vielmehr um eine kurz Präsentationsleihgabe meinerseits handelte.

Nachdem die beiden Fischköpfe ( wir… vermutlich ) kurz getuschelt hatten, übersetzte eine junge Dame (Bezeichnung Anna-Luisa o7) für uns (daher auch die grobe Entschlüsselung oben) und es entstand eine schöne , wenn auch sehr kurze, Unterhaltung zum Thema: Linux auf einem Surface Pro 4.

Surface Tablets und Laptops mit eigenem Kernel-Repo

„Ja, da gibts was njeues.. ehm.. neues“ und für Euch schalte ich das Gespräch mal auf Allwissenden Erzähler um, sonst darf ich mich in Bayern gar nimmer sehen lassen. Also, Ja Leute, es gibt eine nicht mehr ganz taufrische Entwicklung, die teils sehr erfreulich, weil unheimlich praktisch ist, andererseits leider nicht so ganz funktioniert. Letzterer Teil wird derzeit noch untersucht.

Seit einige Monaten gibt es im Github einen eigenen Prebuild-Kernel für Arch, Debian und Fedora. Den richtet Ihr Euch so für Fedora ein:

  1. Das Repo hinzufügen:

sudo dnf config-manager --add-repo=https://pkg.surfacelinux.com/fedora/linux-surface.repo

2. Den Kernel  installieren:

sudo dnf install kernel-surface surface-firmware surface-secureboot
sudo dnf install --allowerasing libwacom-surface

3. Letztere Anweisung ist eher optional, falls man mit Wacom Probleme hat., was auch die Stifteingabe betrifft.

Surface rebooten, den neuen Kernel auswählen und jetzt kommt es drauf an, ob Ihr ein SP4/SB1 habt oder ein anderes Surfacegerät Euer eigen nennt, denn bei mir (SP4) bootet der Kernel zwar sauber, aber IPTS ist nicht da, was man allerdings für Touchbedienung braucht.  So bin ich kaum einen Schritt weiter als mit dem Kernel von Fedora selbst. Ein Problem an dem derzeit gearbeitet wird.

Und da ist auch schon die Lösung … ( sowas von genial den Artikel schon Tage im Voraus zu schreiben 😀 ) … dem mangelnden Touchsupport kann man so begegnen:

[root@surface]# rmmod ipts
[root@surface]# insmod /lib/modules/5.5.8-1.surface.fc30.x86_64/kernel/drivers/input/touchscreen/ipts/ipts.ko.xz singletouch=y

Was man dann so verewigt:

echo „options ipts singletouch=y“ > /etc/modprobe.d/ipts.conf

Man muß aber wissen, das dann der Stiftsupport abgeschaltet ist. Außerdem ist im 5.5er Kernel die Multitouch-Support komischerweise abgeschaltet, wer das braucht, muß den LTS Kernel 4.19 installieren. Ob das bei einem aktuellen Fedora 30/31/32 eine gute Idee ist, mag ich nicht entscheiden wollen. Allerdings hatte der 5.3er noch Multitouch dabei. Da frage ich mich jetzt, wieso das abgeschaltet wurde.

Weniger Energieverbrauch .. vielleicht

Eine andere Sache, die noch untersucht werden muß, ist der anscheinend geringere Stromverbrauch des 5.5.8 Kernels auf dem Surface Pro 4. zunächst sah es eher nach einem Batteryauslesebug aus, weil das Gerät lange auf 100% blieb, aber mittlerweile könnnte auch ein leichter Einspareffekt vorhanden sein. Ich hab das SP4 noch nicht lange genug im Referenzkernel laufen lassen, um da einen Vergleich zu haben. Ich schau nachher mal.

Kameras gehen immer noch nicht

Tja, schlechte Nachrichten für die NSA, die Kameras der Surface Pro 4+ funktionieren immer noch nicht unter Linux, was an sich jetzt schade für reguläre Kameranutzer ist. Dafür soll das Wifi jetzt im 5G Betrieb stabiler sein, was ja auch nicht ganz unpraktisch ist.

Die Sache mit dem Secure Boot

Nachdem ersten Boot, kommt im Bootprozess eine mördermäßig wichtige Einblendung, die einem bei der Installation auch mitgeteilt wird, allerdings steht im Installationshinweis, daß man, WENN MAN danach gefragt wird, ein Password eingeben soll um den signierten Kernel, bzw. dessen Signatur, ins Bios zu bekommen um dann Secure Boot nutzen können. Tja, was soll ich sagen, die Abfrage kam so nicht, denn dazu muß man während ein Timer runterzählt auf eine Taste drücken, sonst wird man auch nicht nach dem Passwort gefragt 🙂

Da ich da noch unsignierte Kernels zum Testen liegen habe, kann ich SecureBoot eh nicht einschalten, insofern ist mir das auch egal 😉 Wenn der neue Kernel natürlich dauerhaft funktioniert, dann kann man das später immer noch mit Hilfe des mokutil erledigen.

Der TypeCover Bug

Zwar prellt das TypeCover nicht mehr, aber dafür funktioniert es auch nicht mehr, wenn man es abzieht und wieder dran steckt. Was ein Problem darstellt, da man das Surface Pro 4 neu booten muß.

Ihr seht, da werden noch einige Fixe nötig werden, bis das stabil läuft.