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!“ 🙂

Kernel 5.7.8+ Problem entdeckt

Es ist mal wieder soweit, ein fieses Kernelproblem wurde entdeckt. Ja ok, passiert dauernd, aber meisten sind nicht alle davon betroffen, hier schon, da es ein Speicherzugriffsfehler ist.

Kernel 5.7.8+ Problem entdeckt

In den letzten zwei Tagen sind zwei verschiedene Computer mit dem gleichen Fehlerbild stehen geblieben:

Aug 2 18:01:17 shortname kernel: BUG: unable to handle page fault for address: ffff8881e2e48630
Aug 2 18:01:17 shortname kernel: #PF: supervisor write access in kernel mode
Aug 2 18:01:18 shortname kernel: #PF: error_code(0x0003) – permissions violation

Der PC bleibt dabei nicht gleich stehen, sondern der Zugriff auf Strukturen im /proc Filesystem ( procfs ) friert einfach ein. Als Resultat bleiben Programme wie „top“ oder „pidof“ stecken. Das ist besonders blöd, weil „pidof“ beim Startprozess eines Terminals fĂŒr die Bash mitmischt und man so keins mehr starten kann.

Ich hatte erst gedacht, daß wĂ€re ein VM Problem, weil es zunĂ€chst im Servercluster aufgetreten ist, aber da es jetzt auch bare-metal auf einem Desktop-PC passiert ist, was es Zeit Alarm zu schlagen.

Wer Kernel 5.7.8 einsetzt kann sich derzeit nicht sicher sein, daß der PC durchlĂ€uft. Bei mit lag der Ausfallzeitpunkt bei knappen 15 Stunden Betriebszeit fĂŒr bare-metal und ~2 Wochen fĂŒr eine VM in der heute das gleiche passiert ist. Da das Problem frisch entdeckt wurde, gibt es noch keine Reaktion vom Kernel Team. Ich kann aber nur dazu raten einen anderen Kernel lauf zu lassen.

Wenn Ihr das Problem rechtzeitig bemerkt, könnt Ihr noch ĂŒber die Desktop-SystemĂŒberwachung in die Prozessliste und die „pidof“ Prozesse abbrechen, die das Starten eines Terminals verhindern. Danach kommt die Bash i.d.r. sauber hoch und Ihr könnt Reboot eingeben. Ein „systemctl reboot -i“ wird nötig sein, da der normale Reboot, zumindest bei mir, verweigert wurde.

Hier fĂŒr Euch die ganze Kernelmeldung fĂŒr Vergleichszwecke:

Aug 2 18:01:17 shortname kernel: BUG: unable to handle page fault for address: ffff8881e2e48630
Aug 2 18:01:17 shortname kernel: #PF: supervisor write access in kernel mode
Aug 2 18:01:18 shortname kernel: #PF: error_code(0x0003) – permissions violation
Aug 2 18:01:18 shortname kernel: PGD 2a0c067 P4D 2a0c067 PUD 3800067 PMD 1ffff2067 PTE 100001e2e48065
Aug 2 18:01:19 shortname kernel: Oops: 0003 [#3] SMP NOPTI
Aug 2 18:01:19 shortname kernel: CPU: 0 PID: 96 Comm: kswapd0 Tainted: G D W 5.7.8-100.fc31.x86_64 #1
Aug 2 18:01:19 shortname kernel: RIP: e030:ptep_clear_flush_young+0x1d/0x30
Aug 2 18:01:19 shortname kernel: Code: 48 0f ba 32 05 0f 92 c0 0f b6 c0 c3 90 0f 1f 44 00 00 48 8b 05 ec 74 40 01 48 25 00 f0 ff ff 48 f7 d0 48 23 02 83 e0 20 74 0c <f0> 48 0f ba 32 05 0f 92 c0 0f b6 c0 c3 66 0f 1f 44 00 00 0f 1f 44
Aug 2 18:01:19 shortname kernel: RSP: e02b:ffffc90001127a48 EFLAGS: 00010202
Aug 2 18:01:19 shortname kernel: RAX: 0000000000000020 RBX: ffff888101c64ed8 RCX: 0000000000000000
Aug 2 18:01:19 shortname kernel: RDX: ffff8881e2e48630 RSI: 00007fe123ac6000 RDI: ffff888101c64ed8
Aug 2 18:01:19 shortname kernel: RBP: ffffea00049c2e80 R08: 0000000000000101 R09: 0000000000000125
Aug 2 18:01:19 shortname kernel: R10: ffff8881f483e8d0 R11: ffffea0005ddc2a0 R12: ffffc90001127b08
Aug 2 18:01:19 shortname kernel: R13: 0000000000000000 R14: 00007fe123ac6000 R15: 0000000000000186
Aug 2 18:01:19 shortname kernel: FS: 00007f37db3a7700(0000) GS:ffff8881f5c00000(0000) knlGS:0000000000000000
Aug 2 18:01:19 shortname kernel: CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 2 18:01:19 shortname kernel: CR2: ffff8881e2e48630 CR3: 0000000002a0a000 CR4: 0000000000040660
Aug 2 18:01:19 shortname kernel: Call Trace:
Aug 2 18:01:19 shortname kernel: page_referenced_one+0x59/0x150
Aug 2 18:01:19 shortname kernel: rmap_walk_file+0x157/0x2f0
Aug 2 18:01:19 shortname kernel: page_referenced+0xdb/0x150
Aug 2 18:01:19 shortname kernel: ? rmap_walk_file+0x2f0/0x2f0
Aug 2 18:01:19 shortname kernel: ? page_get_anon_vma+0x80/0x80
Aug 2 18:01:19 shortname kernel: shrink_active_list+0x2e5/0x560
Aug 2 18:01:19 shortname kernel: shrink_lruvec+0x3b9/0x6b0
Aug 2 18:01:19 shortname kernel: ? do_shrink_slab+0x52/0x2c0
Aug 2 18:01:19 shortname kernel: shrink_node+0x169/0x680
Aug 2 18:01:19 shortname kernel: balance_pgdat+0x2d9/0x5c0
Aug 2 18:01:19 shortname kernel: kswapd+0x1ed/0x3a0
Aug 2 18:01:19 shortname kernel: ? __schedule+0x2c2/0x730
Aug 2 18:01:19 shortname kernel: ? finish_wait+0x80/0x80
Aug 2 18:01:19 shortname kernel: kthread+0xf9/0x130
Aug 2 18:01:19 shortname kernel: ? balance_pgdat+0x5c0/0x5c0
Aug 2 18:01:19 shortname kernel: ? kthread_park+0x90/0x90
Aug 2 18:01:19 shortname kernel: ret_from_fork+0x35/0x40
Aug 2 18:01:19 shortname kernel: Modules linked in: fuse btrfs blake2b_generic xor raid6_pq hfsplus hfs minix vfat msdos fat jfs xfs nfsv3 nfs_acl nfs lockd grace fscache xt_owner ipt_REJECT nf_reject_ipv4 xt_connlimit nf_conncount nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c xt_multiport ip6table_filter ip6_tables cls_u32 sch_htb iptable_filter intel_rapl_msr intel_rapl_common cfg80211 sb_edac x86_pkg_temp_thermal coretemp crct10dif_pclmul rfkill crc32_pclmul ghash_clmulni_intel intel_rapl_perf sunrpc ip_tables xen_netfront xen_blkfront crc32c_intel
Aug 2 18:01:19 shortname kernel: CR2: ffff8881e2e48630
Aug 2 18:01:19 shortname kernel: —[ end trace 7fb962ee698fa150 ]—
Aug 2 18:01:19 shortname kernel: RIP: e030:unmap_page_range+0x631/0xec0
Aug 2 18:01:19 shortname kernel: Code: fe e8 03 f8 ff ff 48 83 7c 24 18 00 48 89 c3 74 09 48 85 c0 0f 85 c0 05 00 00 41 f6 44 24 20 01 0f 84 25 03 00 00 4c 8b 6d 00 <48> c7 45 00 00 00 00 00 4d 39 7c 24 10 4c 89 f8 49 0f 46 44 24 10
Aug 2 18:01:19 shortname kernel: RSP: e02b:ffffc90002a2bb38 EFLAGS: 00010202
Aug 2 18:01:19 shortname kernel: RAX: ffffea0001b72500 RBX: ffffea0001b72500 RCX: 0000000000000125
Aug 2 18:01:19 shortname kernel: RDX: 0000000000000000 RSI: 00005589f49e7000 RDI: 000000083aa94125
Aug 2 18:01:19 shortname kernel: RBP: ffff8881e3d90f38 R08: ffff88810011e320 R09: 0000000000000000
Aug 2 18:01:19 shortname kernel: R10: 0000000000007ff0 R11: 0000000000000000 R12: ffffc90002a2bc80
Aug 2 18:01:19 shortname kernel: R13: 000000083aa94125 R14: 00005589f49e8000 R15: 00005589f49e7000
Aug 2 18:01:19 shortname kernel: FS: 00007f37db3a7700(0000) GS:ffff8881f5c00000(0000) knlGS:0000000000000000
Aug 2 18:01:19 shortname kernel: CS: e030 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 2 18:01:19 shortname kernel: CR2: ffff8881e2e48630 CR3: 0000000002a0a000 CR4: 0000000000040660

 

Fedora: Installationsprozess korrumpiert den Speicher

Guten Morgen,

ich hĂ€tte nicht gedacht, daß so etwas heutzutage noch möglich ist angesichts der ganzen Speicherschutzmechanismen, aber soeben hat ein Update den Speicher meines PCs durchgerĂŒttelt:

Neu Hinzugekommen:

2020-07-06T08:01:56Z SUBDEBUG Installed: kernel-core-5.7.7-100.fc31.x86_64
2020-07-06T08:01:59Z SUBDEBUG Installed: kernel-modules-5.7.7-100.fc31.x86_64
2020-07-06T08:02:11Z SUBDEBUG Installed: kernel-5.7.7-100.fc31.x86_64
2020-07-06T08:02:11Z SUBDEBUG Installed: kernel-modules-extra-5.7.7-100.fc31.x86_64
2020-07-06T08:02:18Z SUBDEBUG Installed: kernel-devel-5.7.7-100.fc31.x86_64
2020-07-06T08:04:18Z SUBDEBUG Installed: kmod-nvidia-5.7.7-100.fc31.x86_64-3:440.100-1.fc31.x86_64
2020-07-06T08:04:42Z SUBDEBUG Installed: kmod-VirtualBox-5.7.7-100.fc31.x86_64-6.1.10-1.fc31.x86_64

Pakete aktualisiert:

2020-07-06T08:01:52Z SUBDEBUG Upgrade: linux-firmware-whence-20200619-109.fc31.noarch
2020-07-06T08:01:52Z SUBDEBUG Upgrade: linux-firmware-20200619-109.fc31.noarch
2020-07-06T08:02:06Z SUBDEBUG Upgrade: blender-fonts-1:2.83.1-1.fc31.noarch
2020-07-06T08:02:07Z SUBDEBUG Upgrade: blender-1:2.83.1-1.fc31.x86_64
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl100-firmware-39.31.5.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl1000-firmware-1:39.31.5.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl105-firmware-18.168.6.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl135-firmware-18.168.6.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl2000-firmware-18.168.6.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl2030-firmware-18.168.6.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl3160-firmware-1:25.30.13.0-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl3945-firmware-15.32.2.9-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl4965-firmware-228.61.2.24-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl5000-firmware-8.83.5.1_1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl5150-firmware-8.24.2.2-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl6000-firmware-9.221.4.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl6000g2a-firmware-18.168.6.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl6000g2b-firmware-18.168.6.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl6050-firmware-41.28.5.1-109.fc31.noarch
2020-07-06T08:02:16Z SUBDEBUG Upgrade: iwl7260-firmware-1:25.30.13.0-109.fc31.noarch
2020-07-06T08:02:18Z SUBDEBUG Upgrade: libertas-usb8388-firmware-2:20200619-109.fc31.noarch
2020-07-06T08:02:18Z SUBDEBUG Upgrade: kernel-headers-5.7.7-100.fc31.x86_64

Bei einem dieser Prozesse hat es dann die Schrift in Cinnamon irgendwie zerrissen. Möglich wĂ€re, daß das Update von Blender-Fonts dafĂŒr verantwortlich ist. Allerdings kommt der Font laut Schriftenvoreinsteller gar nicht zum Einsatz. Es könnte also alles gewesen sein.

Also passt ein bisschen auf, wenn Ihr heute Updates einspielt, ein direkter Reboot danach wÀre sinnvoll!