Summary: | Скринсейвер блокирует взаимодействие с элементами интерфейса | ||||||
---|---|---|---|---|---|---|---|
Product: | Branch p10 | Reporter: | jqt4 | ||||
Component: | xfce4-screensaver | Assignee: | Mikhail Efremov <sem> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-p10 <qa-p10> | ||||
Severity: | normal | ||||||
Priority: | P5 | CC: | aen, antohami, iv, jqt4, lepata | ||||
Version: | не указана | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 33000 | ||||||
Attachments: |
|
Description
jqt4
2020-04-30 20:55:18 MSK
Уточнение: проблема наблюдалась на RPi4 с ядром 5.6.2. Проблема пропадает также если включить DRM путем настройки в config.txt dtoverlay=vc4-fkms-v3d Проблема воспроизвелась на Таволге с Simply Linux 9, обновлённым до текущего p9_mipsel. Используя rpm -Uhv --oldpackage --nodeps удалось установить, что что-то произошло именно между 0.1.8 и 0.1.9: жесткий даунгрейд до 0.1.8 исправляет проблему, а до 0.1.9 -- нет. Конкретно на Таволге проблема в том, что xfce4-screensaver не считает монитор настоящим. Такой вот патч исправляет проблему (но наверняка создаёт другие): --- a/src/gs-manager.c +++ b/src/gs-manager.c @@ -100,8 +100,9 @@ gs_manager_is_real_monitor (GdkMonitor *monitor) { // avoiding some weird gdk bug // federico> avb: or if you don't care about a little unexplained messiness, // just discard monitors where both fields are null? :) - if (gdk_monitor_get_manufacturer(monitor) == NULL && gdk_monitor_get_model(monitor) == NULL) - return FALSE; + if (gdk_monitor_get_manufacturer(monitor) == NULL && gdk_monitor_get_model(monitor) == NULL) { + gs_debug("Monitor is not real: %p; let's ignore that.", monitor); + } return TRUE; } Created attachment 8815 [details]
Что GDK думает о мониторе?
Я проверил -- действительно, и на Rpi4 и на Таволге одна и та же проблема: gdk_monitor_get_model и gdk_monitor_get_manufacturer возвращают NULL. Драйвер btsm750 на Таволге действительно не умеет читать EDID.
Простой скрипт для проверки в приложении. Для работы требуется libgtk+3-gir и python3-module-pygobject3 или что-то в этом роде. На рабочем ноуте (Сизиф, xfce4) скрипт выдаёт
<eDP1> <LGD>
На Таволге и на Rpi4
<None> <None>
Сегодня эту проблему наблюдал на Raspberry Pi 3 с ядром std-def. SL P10 xfce4-screensaver-4.18.2-alt1.x86_64 ядро 6.1.32-un-def-alt1 Данная проблема возникает при выходе из ждущего режима. Если вслепую ввести пароль, то экран разблокируется: июн 15 18:49:08 work xfce4-screensav[4708]: UNSPECIFIED (__progname="xfce4-screensaver-dialog" uid=500 euid=500): pam_tcb(xfce4-screensaver:auth): Authentication passed for user from user(uid=500) Вроде тут https://bugzilla.opensuse.org/show_bug.cgi?id=1210562 решили (In reply to AEN from comment #8) > Вроде тут > > https://bugzilla.opensuse.org/show_bug.cgi?id=1210562 > > решили Апстримный фикс https://gitlab.xfce.org/apps/xfce4-screensaver/-/commit/3aa15c2278c12ead23ccbbd7923eab9b365e16a9 выглядит отлично. (In reply to Ivan A. Melnikov from comment #9) > Апстримный фикс > > https://gitlab.xfce.org/apps/xfce4-screensaver/-/commit/ > 3aa15c2278c12ead23ccbbd7923eab9b365e16a9 > > выглядит отлично. Он вошел в xfce4-screensaver-4.18.2, который уже в p10. (Ответ для Mikhail Efremov на комментарий #10) > Он вошел в xfce4-screensaver-4.18.2, который уже в p10. У меня воспроизводится в этой версии. Если стоит отметка "Блокировать экран при переходе в ждущий режим" и только если переход в ждущий режим осуществляется закрытием крышки ноутбука. Возможно это другой баг. Но я подобное и с xscreensaver видел, так что проблема скорее всего где-то глубже. (Ответ для Mikhail Efremov на комментарий #10) > (In reply to Ivan A. Melnikov from comment #9) > > Апстримный фикс > > > > https://gitlab.xfce.org/apps/xfce4-screensaver/-/commit/ > > 3aa15c2278c12ead23ccbbd7923eab9b365e16a9 > > > > выглядит отлично. > > Он вошел в xfce4-screensaver-4.18.2, который уже в p10. Тогда закрываю. Новой проблеме - новый баг. |