Сессия зависает при отключении USB-C хаба с монитором HDMI.

Вопрос или проблема

Ubuntu 21.04, сессия Wayland на Gnome 3.38 через Mutter 3.38.4. Dell XPS 13 9300.

У меня есть USB-C хаб, который обеспечивает питание, HID и HDMI соединение. Девять раз из десяти, когда я отключаю этот адаптер, экран временно становится черным, и моя пользовательская сессия сбрасывается, предоставляя мне экран входа в систему. Когда я вновь вхожу, все мои открытые графические программы были завершены (но фоновые службы продолжают работать).

Я полагаю, что это связано с падением Mutter (Wayland), но как я могу этого избежать?

Иногда я вижу кучу символов @@@@@@@ на черном экране терминала перед тем, как появляется экран входа в систему.

В dmesg я нахожу следующее:

[435887.627817] Call Trace:
[435887.627823]  typec_altmode_update_active+0x60/0x100 [typec]
[435887.627834]  ? cancel_work_sync+0x10/0x20
[435887.627842]  typec_remove+0xee/0x110 [typec]
[435887.627853]  __device_release_driver+0x181/0x240
[435887.627859]  device_release_driver+0x29/0x40
[435887.627864]  bus_remove_device+0xe1/0x150
[435887.627868]  device_del+0x19c/0x3e0
[435887.627873]  ? klist_put+0x23/0x90
[435887.627880]  device_unregister+0x1b/0x60
[435887.627885]  typec_unregister_altmode+0x30/0x40 [typec]
[435887.627896]  ucsi_unregister_altmodes+0x46/0xa0 [typec_ucsi]
[435887.627902]  ucsi_handle_connector_change+0x2d8/0x510 [typec_ucsi]
[435887.627910]  process_one_work+0x220/0x3c0
[435887.627914]  worker_thread+0x50/0x370
[435887.627918]  kthread+0x12f/0x150
[435887.627923]  ? process_one_work+0x3c0/0x3c0
[435887.627926]  ? __kthread_bind_mask+0x70/0x70
[435887.627932]  ret_from_fork+0x1f/0x30
[435887.627941] ---[ end trace b6d883829019f6e9 ]---

Я забыл, что оставил этот вопрос без ответа. Я больше никогда не сталкивался с этой проблемой после отключения дока Ubuntu (который является расширением оболочки, и я узнал, что такие расширения могут вызывать сбои всей оболочки).

Итак, идите в AppLauncher и введите “расширения”, чтобы открыть панель расширений. Затем отключите док Ubuntu и научитесь использовать GNOME без него.

Подсказка: проведите пальцем вниз по трекпаду тремя пальцами, чтобы получить доступ к вашим приложениям. Повторите, чтобы вернуться к запуску. Или нажмите клавишу Super (Windows или иная). Я не слишком скучаю по доку 🙂

У меня была та же проблема – не на Ubuntu, а с Gnome на другой дистрибуции. Поскольку я не мог найти это нигде, я хотел поделиться этим здесь: для меня это было популярное “Dash to Dock” расширение, которое вызывало сбои. Поскольку док Ubuntu основан на этом, это объясняет сходство с случаем @bluppfisk.

Почему-то, когда оно активировано, оно вызывает падение mutter. Интересно, что без него большинство моих проблем со стабильностью исчезли.

Ответ или решение

Проблема, с которой вы столкнулись, связана с тем, что ваша сессия в Ubuntu 21.04 на основе Wayland и Gnome 3.38 многократно сбрасывается при отключении USB-C хаба с HDMI. Это может происходить по нескольким причинам, но согласно вашим наблюдениям и сообщениям в журнале dmesg, можно сделать вывод, что дело, вероятно, в управлении устройствами и взаимодействии с графическим сервером Mutter.

Анализ проблемы

Когда вы отключаете USB-C хаб, инициируется ряд процессов, связанных с удалением устройства. Сообщения об ошибках в dmesg указывают на проблему с обработкой изменения состояния устройством типа USB-C (typec), в частности, с функцией typec_handle_connector_change, что в свою очередь может приводить к сбою композитора Mutter.

Сообщение в dmesg

Запись из dmesg:

Call Trace:
  typec_altmode_update_active+0x60/0x100 [typec]
  ...
  ucsi_handle_connector_change+0x2d8/0x510 [typec_ucsi]

Данная информация указывает на то, что процесс удаления устройства вызывает цепную реакцию, приводящую к сбоям в управлении графическим интерфейсом.

Решения

Решение вашей проблемы может быть достигнуто путем деактивации некоторых расширений, которые могут вызывать сбои:

  1. Отключите расширения Gnome, связанные с панелью задач:

    • Поскольку вы упомянули о сбоях, связанных с Ubuntu Dock (основанной на Dash to Dock), попробуйте отключить данное расширение:
      • Откройте панель расширений, используя команду "extensions" в меню приложений.
      • Найдите и отключите Ubuntu Dock.
  2. Проверьте другие расширения:

    • Если у вас есть другие расширения, которые могут быть негативно затронуты отключением хаба, попробуйте временно их деактивировать и посмотреть, останется ли проблема. Это может быть как Dash to Panel, так и другие похожие модули.
  3. Обновите систему:

    • Убедитесь, что вся ваша система обновлена. Выполните команду sudo apt update && sudo apt upgrade в терминале. В новых версиях Гнома и Mutter могут содержаться исправления, которые потенциально могут устранить вашу проблему.
  4. Переход на X11:

    • Если отключение расширений не помогает, обдумайте временный переход на X11, так как данная среда часто бывает более стабильной в плане совместимости с оборудованием.
  5. Сообщите о проблеме:

    • Если проблема продолжает беспокоить, имеет смысл сообщить об этом в баг-трекер сообщества Ubuntu или Gnome, указав все детали, так как это может помочь разработчикам улучшить стабильность в будущем.

Заключение

Отказ от использования некоторых расширений, как вы уже сами заметили, может значительно повысить стабильность системы. Если вам удастся устранить или минимизировать сбои, это не только улучшит ваше впечатление от работы с графическим интерфейсом, но и снизит риск потери открытых приложений при случайных отключениях центрального хаба. Не стесняйтесь исследовать другие возможные решения, чтобы найти наиболее подходящее для вашего сценария использования.

Оцените материал
Добавить комментарий

Капча загружается...