[LINUX] Komfortable Verwendung von Magic Trackpad 2 auf dem Ubuntu-Desktop

Einführung

Ich verwende Magic Trackpad 2 mit Ubuntu 20.04 LTS Manchmal friert der Cursor ein, wie unten gezeigt.

Wenn die Akkukapazität des Magic Trackpad 2 abnimmt, Weil es zum Trennen betrieben wurde, um den Batterieverbrauch zu reduzieren, Der Cursor steckte fest, nicht wahr?

Also, wie die Antwort dieser Person, die nur auf Magic Trackpad 2 abzielt Ich werde einen Patch auf den Kernel anwenden, der die Funktion ausschaltet, die den Batterieverbrauch reduziert.

1. Bereiten Sie einen Docker-Container für den Ubuntu-Kernel-Build vor

Dies wird hilfreich sein.

Ich mag die Umgebung zum Erstellen des Ubuntu-Kernels nicht, wenn die Desktop-Umgebung schmutzig wird. Ich werde es auf Docker bauen.

docker pull ubuntu:focal
docker run -it --name ubuntu ubuntu:focal bash

Installieren Sie im Docker-Container die Pakete, die für den Kernel-Build erforderlich sind.

apt update && apt upgrade -y
apt install -y git fakeroot build-essential libncurses5 libncurses5-dev libelf-dev binutils-dev devscripts u-boot-tools
sed 's/# deb-src/deb-src/g' -i /etc/apt/sources.list
apt update
apt-get -y build-dep linux

2. Patchen Sie den Ubuntu-Kernel

Laden Sie die Kernelquelle herunter.

cd
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal
cd focal

Da ist die Kernel-Version des Ubuntu-Desktops unten

uname -a
Linux ryzen 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Überprüfen Sie die gleiche Version der Kernelquelle.

git tag -l Ubuntu-5.4.0-42*
Ubuntu-5.4.0-42.46
git checkout -b focal+mt2patch Ubuntu-5.4.0-42.46

Wenden Sie den Patch an.

apt install -y vim
vim drivers/hid/hid-input.c
git diff
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index dea9cc65bf80..194231ffabee 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -310,6 +310,9 @@ static const struct hid_device_id hid_battery_quirks[] = {
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
                USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
          HID_BATTERY_QUIRK_PERCENT | HID_BATTERY_QUIRK_FEATURE },
+       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
+               USB_DEVICE_ID_APPLE_MAGICMOUSE),
+         HID_BATTERY_QUIRK_IGNORE },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM,
                USB_DEVICE_ID_ELECOM_BM084),
          HID_BATTERY_QUIRK_IGNORE },

3. Erstellen Sie den Ubuntu-Kernel

Erstellen Sie anhand dieses Artikels.

Kopieren Sie zunächst die Konfigurationsdatei von Ubuntu auf dem Host nach Docker.

docker cp /boot/config-5.4.0-42-generic ubuntu:/tmp/

Verschieben Sie die kopierte Einstellungsdatei in den Docker-Container, um die Einstellung wiederzugeben.

mkdir ../build
cp /tmp/config-5.4.0-42-generic ../build/.config
scripts/config --file ../build/.config --disable DEBUG_INFO
make O=../build/ oldconfig

Erstellen Sie den Kernel und die Module.

time make -j 32 O=../build/ LOCALVERSION=-mt2patch
real    5m32.215s
user    140m10.856s
sys     16m43.152s
time make modules -j 32 O=../build/ LOCALVERSION=-mt2patch
real    0m27.762s
user    1m30.672s
sys     1m41.236s
time make bindeb-pkg -j 32 O=../build/ LOCALVERSION=-mt2patch
real    1m3.661s
user    4m49.134s
sys     2m14.784s

Ryzen 9 3950x ist explosiv ...

4. Installieren Sie den Ubuntu-Kernel

Als Ergebnis der Erstellung wird das Paket im Verzeichnis eine Ebene darüber erstellt.

ls -l ../*.deb
-rw-r--r-- 1 root root 11424784 Aug 26 17:45 ../linux-headers-5.4.44-mt2patch_5.4.44-mt2patch-1_amd64.deb
-rw-r--r-- 1 root root 61014544 Aug 26 17:45 ../linux-image-5.4.44-mt2patch_5.4.44-mt2patch-1_amd64.deb
-rw-r--r-- 1 root root  1071376 Aug 26 17:45 ../linux-libc-dev_5.4.44-mt2patch-1_amd64.deb

Hier lautet der Dateiname "5.4.44-mt2patch". Die Kernel-Konfigurationsversion lautet "CONFIG_VERSION_SIGNATURE =" Ubuntu 5.4.0-42.46-generic 5.4.44 " Ist es, weil es war?

Kopieren Sie diese auf die Hostseite und installieren Sie sie.

docker cp ubuntu:/root/linux-headers-5.4.44-mt2patch_5.4.44-mt2patch-1_amd64.deb .
docker cp ubuntu:/root/linux-image-5.4.44-mt2patch_5.4.44-mt2patch-1_amd64.deb .
docker cp ubuntu:/root/linux-libc-dev_5.4.44-mt2patch-1_amd64.deb .
sudo apt install ./linux-headers-5.4.44-mt2patch_5.4.44-mt2patch-1_amd64.deb
sudo apt install ./linux-image-5.4.44-mt2patch_5.4.44-mt2patch-1_amd64.deb
sudo apt install ./linux-libc-dev_5.4.44-mt2patch-1_amd64.deb

erreicht. Von nun an hoffe ich, dass der Cursor nicht einfriert.

Wenn Sie zum ursprünglichen Kernel zurückkehren möchten

Wenn der von Ihnen erstellte Kernel nicht wie erwartet funktioniert Sie möchten mit dem ursprünglichen Kernel booten. Ändern Sie in diesem Fall / etc / default / grub.

sudo vim /etc/default/grub

Das Update besteht darin, "GRUB_TIMEOUT_STYLE = menu" zu setzen, um die Zeitüberschreitung zu verlängern. Sie können jetzt den Kernel auswählen, der beim Booten verwendet werden soll.

--- grub.ucf-dist       2020-08-02 19:43:53.512717712 +0900
+++ grub        2020-08-26 17:25:45.283739309 +0900
@@ -4,8 +4,9 @@
 #   info -f grub -n 'Simple configuration'

 GRUB_DEFAULT=0
-GRUB_TIMEOUT_STYLE=hidden
-GRUB_TIMEOUT=0
+#GRUB_TIMEOUT_STYLE=hidden
+GRUB_TIMEOUT_STYLE=menu
+GRUB_TIMEOUT=5
 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 GRUB_CMDLINE_LINUX_DEFAULT=""
 GRUB_CMDLINE_LINUX=""

Aktualisieren Sie grub, wenn der Fix abgeschlossen ist.

sudo update-grub

Recommended Posts

Komfortable Verwendung von Magic Trackpad 2 auf dem Ubuntu-Desktop
Verwenden Sie matplotlib unter Ubuntu 12 und Python
SoftwareRAID 0 unter SereneLinux (Ubuntu 18.04 Desktop)
Verwenden Sie Github Desktop unter Linux
Erstellen einer Umgebung für "Tello_Video" unter Ubuntu
[Python] Japanische Lokalisierung von matplotlib unter Ubuntu
Zum Zeitpunkt des Python-Updates mit Ubuntu
Ändern Sie die Auflösung von Ubuntu, das auf VirtualBox ausgeführt wird
Shebang auf Ubuntu 20.04
Installieren Sie die neueste Version von CMake unter Ubuntu 18.04.4 LTS
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Ich möchte OpenJDK 11 mit Ubuntu Linux 18.04 LTS / 18.10 verwenden
Ich möchte vorerst die Desktop-Umgebung von Ubuntu auf Android verwenden (Termux-Version)