J'utilise Magic Trackpad 2 avec Ubuntu 20.04 LTS Parfois, le curseur se fige, comme illustré ci-dessous.
Lorsque la capacité de la batterie du Magic Trackpad 2 diminue, Parce qu'il fonctionnait pour se déconnecter pour réduire la consommation de la batterie, Le curseur était bloqué, n'est-ce pas?
Donc, comme la réponse de cette personne, ne cibler que Magic Trackpad 2 Je vais appliquer un correctif au noyau qui désactive la fonction qui réduit la consommation de la batterie.
Ce sera utile.
Je n'aime pas l'environnement de construction du noyau Ubuntu lorsque l'environnement de bureau est sale. Je vais le construire sur Docker.
docker pull ubuntu:focal
docker run -it --name ubuntu ubuntu:focal bash
Sur le conteneur Docker, installez les packages requis pour la construction du noyau.
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
Téléchargez la source du noyau.
cd
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal
cd focal
Puisque la version du noyau du bureau Ubuntu est ci-dessous
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
Découvrez la même version de la source du noyau.
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
Appliquez le patch.
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 },
Construisez en vous référant à cet article.
Tout d'abord, copiez le fichier de configuration d'Ubuntu sur l'hôte vers docker.
docker cp /boot/config-5.4.0-42-generic ubuntu:/tmp/
Déplacez le fichier de paramètres copié sur le conteneur Docker pour refléter le paramètre.
mkdir ../build
cp /tmp/config-5.4.0-42-generic ../build/.config
scripts/config --file ../build/.config --disable DEBUG_INFO
make O=../build/ oldconfig
Construisez le noyau et les modules.
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 est explosif ...
À la suite de la construction, le package est créé dans le répertoire un niveau supérieur.
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
Ici, le nom du fichier est «5.4.44-mt2patch».
La version de configuration du noyau est CONFIG_VERSION_SIGNATURE =" Ubuntu 5.4.0-42.46-generic 5.4.44 "
Est-ce parce que c'était le cas?
Copiez-les du côté hôte et installez-les.
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
accompli. A partir de maintenant, j'espère que le curseur ne se fige pas.
Lorsque le noyau que vous avez construit ne fonctionne pas comme prévu
Vous voudrez démarrer avec le noyau d'origine.
Dans ce cas, modifiez / etc / default / grub
.
sudo vim /etc/default/grub
Le correctif consiste à définir GRUB_TIMEOUT_STYLE = menu
pour prolonger le délai d'expiration.
Vous pouvez maintenant sélectionner le noyau à utiliser au démarrage.
--- 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=""
Mettez à jour grub lorsque le correctif est terminé.
sudo update-grub
Recommended Posts