Вопрос или проблема
Я схожу с ума из-за проблемы с тачпадом на моем ноутбуке Dell с установленной Ubuntu 22.04 LTS.
Описание:
Начальная проблема: После пробуждения мой тачпад ведет себя неадекватно, как будто клейкий (выделение остается, когда я перемещаю предметы случайно, выделяя текст и иконки, делая случайные клики). Одиночное касание не работает (на этом ноутбуке нет физических кнопок). Двукратное касание всегда работает. Иногда перестает работать прокрутка двумя пальцами (но не всегда). Перезагрузка системы исправляет проблему. После тестирования нескольких решений (например, здесь) без успеха, теперь тачпад проявляет те же признаки даже в обычной сессии, а не только при пробуждении из режима гибернации или приостановки. Это обычно происходит после того, как я провожу несколько минут за письмом, заставляя меня думать, что это проблема управления питанием (тачпад “спит”, и при его повторной активации что-то идет не так).
В настоящее время я провожу больше времени, пытаясь работать, чем реально работая, и это становится невыносимым! Пожалуйста, помогите!!
Временное решение:
Отключение и повторное включение тачпада временно исправляет проблему:
xinput disable 'VEN_04F3:00 04F3:31D1 Touchpad' && xinput enable 'VEN_04F3:00 04F3:31D1 Touchpad'
Но часто мне приходится повторять это несколько раз во время работы. Я предполагаю, что это проблема управления питанием тачпада. Проблем с внешней мышью нет.
Вся соответствующая информация:
Система: Dell XPS 13 9320 2023, 13th Gen Intel® Core™ i7-1360P × 16, 32 Gb RAM
$uname -r
Linux 6.5.0-1023-oem #24-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 14:26:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$lspci
0000:00:00.0 Host bridge: Intel Corporation Device a707
0000:00:02.0 VGA compatible controller: Intel Corporation Device a7a0 (rev 04)
0000:00:04.0 Signal processing controller: Intel Corporation Device a71d
0000:00:05.0 Multimedia controller: Intel Corporation Device a75d
0000:00:06.0 System peripheral: Intel Corporation Device 09ab
0000:00:07.0 PCI bridge: Intel Corporation Device a76e
0000:00:07.2 PCI bridge: Intel Corporation Device a72f
0000:00:08.0 System peripheral: Intel Corporation Device a74f
0000:00:0a.0 Signal processing controller: Intel Corporation Device a77d (rev 01)
0000:00:0d.0 USB controller: Intel Corporation Device a71e
0000:00:0d.2 USB controller: Intel Corporation Device a73e
0000:00:0d.3 USB controller: Intel Corporation Device a76d
0000:00:0e.0 RAID bus controller: Intel Corporation Device a77f
0000:00:12.0 Serial controller: Intel Corporation Device 51fc (rev 01)
0000:00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
0000:00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
0000:00:14.3 Network controller: Intel Corporation Device 51f1 (rev 01)
0000:00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
0000:00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
0000:00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
0000:00:1e.0 Communication controller: Intel Corporation Alder Lake PCH UART #0 (rev 01)
0000:00:1e.3 Serial bus controller: Intel Corporation Device 51ab (rev 01)
0000:00:1f.0 ISA bridge: Intel Corporation Device 519d (rev 01)
0000:00:1f.3 Multimedia audio controller: Intel Corporation Device 51ca (rev 01)
0000:00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
0000:00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
10000:e0:06.0 PCI bridge: Intel Corporation Device a74d
10000:e1:00.0 Non-Volatile memory controller: SK hynix Device 1959
$xinput
Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ VEN_04F3:00 04F3:31D1 Mouse id=8 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=15 [slave pointer (2)]
⎜ ↳ VEN_04F3:00 04F3:31D1 Touchpad id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Intel HID 5 button array id=10 [slave keyboard (3)]
↳ Intel HID events id=11 [slave keyboard (3)]
↳ Dell Privacy Driver id=12 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
$dmesg | grep VEN_04F3:00
[ 1.787770] input: VEN_04F3:00 04F3:31D1 Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-VEN_04F3:00/0018:04F3:31D1.0001/input/input5
[ 1.787879] input: VEN_04F3:00 04F3:31D1 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-VEN_04F3:00/0018:04F3:31D1.0001/input/input6
[ 1.787928] input: VEN_04F3:00 04F3:31D1 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-VEN_04F3:00/0018:04F3:31D1.0001/input/input8
[ 1.787966] hid-generic 0018:04F3:31D1.0001: input,hidraw0: I2C HID v1.00 Mouse [VEN_04F3:00 04F3:31D1] on i2c-VEN_04F3:00
[ 3.699467] input: VEN_04F3:00 04F3:31D1 Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-VEN_04F3:00/0018:04F3:31D1.0001/input/input11
[ 3.699553] input: VEN_04F3:00 04F3:31D1 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-VEN_04F3:00/0018:04F3:31D1.0001/input/input12
[ 3.699617] input: VEN_04F3:00 04F3:31D1 UNKNOWN as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-VEN_04F3:00/0018:04F3:31D1.0001/input/input14
[ 3.699667] hid-multitouch 0018:04F3:31D1.0001: input,hidraw0: I2C HID v1.00 Mouse [VEN_04F3:00 04F3:31D1] on i2c-VEN_04F3:00
$dmidecode -s bios-version
2.10.0
$sudo dmidecode -s bios-release-date
02/02/2024
$xinput list-props 9
Device 'VEN_04F3:00 04F3:31D1 Touchpad':
Device Enabled (189): 1
Coordinate Transformation Matrix (191): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (348): 1
libinput Tapping Enabled Default (349): 0
libinput Tapping Drag Enabled (350): 1
libinput Tapping Drag Enabled Default (351): 1
libinput Tapping Drag Lock Enabled (352): 0
libinput Tapping Drag Lock Enabled Default (353): 0
libinput Tapping Button Mapping Enabled (354): 1, 0
libinput Tapping Button Mapping Default (355): 1, 0
libinput Natural Scrolling Enabled (327): 1
libinput Natural Scrolling Enabled Default (328): 0
libinput Disable While Typing Enabled (356): 1
libinput Disable While Typing Enabled Default (357): 1
libinput Scroll Methods Available (329): 1, 1, 0
libinput Scroll Method Enabled (330): 1, 0, 0
libinput Scroll Method Enabled Default (331): 1, 0, 0
libinput Click Methods Available (358): 1, 1
libinput Click Method Enabled (359): 1, 0
libinput Click Method Enabled Default (360): 1, 0
libinput Middle Emulation Enabled (361): 0
libinput Middle Emulation Enabled Default (362): 0
libinput Accel Speed (336): 0.000000
libinput Accel Speed Default (337): 0.000000
libinput Accel Profiles Available (338): 1, 1
libinput Accel Profile Enabled (339): 1, 0
libinput Accel Profile Enabled Default (340): 1, 0
libinput Left Handed Enabled (341): 0
libinput Left Handed Enabled Default (342): 0
libinput Send Events Modes Available (312): 1, 1
libinput Send Events Mode Enabled (313): 0, 0
libinput Send Events Mode Enabled Default (314): 0, 0
Device Node (315): "/dev/input/event4"
Device Product ID (316): 1267, 12753
libinput Drag Lock Buttons (343): <no items>
libinput Horizontal Scroll Enabled (344): 1
libinput Scrolling Pixel Distance (345): 15
libinput Scrolling Pixel Distance Default (346): 15
libinput High Resolution Wheel Scroll Enabled (347): 1
[1]: https://askubuntu.com/questions/1464924/touchpad-has-stopped-working-on-dell-xps-13-plus-9320-running-ubuntu-22-04-2-lts
EDIT: Проблема все еще сохраняется после обновления до 24.04 LTS, и теперь она проявляется и во время обычных сессий, а не только после пробуждения…
Ответ или решение
Конечно, проблема с неустойчивым поведением тачпада на Dell XPS 13 9320, работающем под Ubuntu 22.04 LTS, может вызывать значительное разочарование, особенно если она мешает вашей продуктивности. Давайте рассмотрим это более подробно.
Теория
Исходя из вашего описания, проблема связана с тачпадом, который после пробуждения ведет себя неадекватно: курсор залипает, выбор текста происходит случайно, щелчки выполняются самостоятельно и т.д. Тот факт, что проблема решается временно после перезагрузки или отключения/включения тачпада через xinput
, указывает на возможности конфликта в управлении питанием.
Тачпады в современных ноутбуках управляются через интерфейс I2C (Inter-Integrated Circuit), а его сбои могут вызывать проблемы, которые вы описываете. Большинство современных дистрибутивов Linux поддерживают тачпады через драйвер libinput, который может потребовать конфигурации для определения конкретного оборудования.
Пример
Проблема с вашим устройством похожа на устаревшие или несовместимые драйверы, и, возможно, связано с тем, что после обновления кернела Linux драйвера не были обновлены соответственно. Примеры аналогичных проблем часто встречаются на форумах сообщества Ubuntu и сторонних ресурсах, где пользователи сообщают об ошибках в управлении энергопотреблением и конфигурациях I2C на новых чипсетах Intel. Иногда эти проблемы решаются введением в черный список определенных модулей ядра или конфигурацией параметров драйверов.
Применение
-
Проверка обновлений драйверов и ядра: В первую очередь, убедитесь, что ваша система полностью обновлена. Это касается не только самой операционной системы и ядра, но и драйверов. Попробуйте выполнить
sudo apt update
иsudo apt upgrade
, а затем перезагрузите систему. Также следите за доступностью нового ядра, которое может включать исправления для вашего аппаратного обеспечения. -
Альтернативные драйверы: Проверьте, доступна ли альтернативная версия драйвера для вашего тачпада, возможно, в виде пакета .deb или через стороннее репозиторий PPA. Иногда более свежие версии драйверов содержат исправления, которые не были включены в текущую версию Ubuntu.
-
Настройки управления питанием: Так как ваш тачпад ведет себя нестабильно после пробуждения, это может говорить о проблемах с управлением энергопотреблением. Попробуйте отключить управление питанием для шины I2C, к примеру, добавив параметр в
/etc/default/grub
:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
После этого обновите Grub и перезагрузите систему:
sudo update-grub
-
Диагностика через логирование: Используйте команду
dmesg
для проверки системных журналов на наличие сообщений об ошибках, которые могут дать дополнительные подсказки о корне проблемы. Также полезно включить дополнительное логирование для драйвера тачпада, чтобы понять, какие конфликты или ошибки происходят. -
Черный список модулей ядра: Иногда проблемы могут быть вызваны конфликтующими модулями ядра. Если вы заметили устаревшие или избыточные модули через
lsmod
, попробуйте временно занести их в черный список и посмотрите, решит ли это проблему. -
Конфигурация libinput: Задайте параметры для драйвера libinput, которые могут снизить вероятность прерываний. Измените настройки для тачпада, например, в части чувствительности, чтобы она соответствовала вашей аппаратной конфигурации.
Заключение
Каждое обновление программного обеспечения, будь то ядро или драйверы, может потенциально сломать что-то, что ранее работало стабильно. Ваша задача как пользователя — органически понять, как аппаратное обеспечение и программное обеспечение взаимодействуют, особенно в таких сложных системах, как ваши. Описанные шаги должны помочь вам локализовать и, возможно, устранить проблему с неустойчивым поведением тачпада на вашем Dell XPS 13 9320, но если проблема останется нерешенной, рекомендуется обратиться в поддержку Dell или сообщество Ubuntu для дальнейшей диагностики.