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.
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
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 },
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 ...
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 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