Bug 51270 - Обновить SDDM до версии 0.21.0
Summary: Обновить SDDM до версии 0.21.0
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: sddm (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-24 13:21 MSK by Andrey Vasilyev
Modified: 2024-09-05 09:02 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Vasilyev 2024-08-24 13:21:13 MSK
После последних изменений SDDM 0.19 не может отображать темы, т.к. они сделаны для Qt6. В результате отображается "тема по умолчанию", которая к использованию слабо пригодна.

В качестве первого шага в направлении решении задачи предлагаю свои наработки, которые лежат в этом репозитории: https://gitverse.ru/amvasilyev/sddm

В рамках наработок:
1. Слиты наработки из upstream-репозитория, версия 0.21.0
2. Обновлены патчи, чтобы они устанавливались поверх данных исходных кодов
3. Отключён патч с добавлением большой функциональности по работе с паролями и последующие патчи, которые его работу донастраивали. Кода там достаточно много, надо пару дней минимум, может неделю, чтобы их завести на новой кодовой базе.
4. Ещё пришлось отключить один патч из-за неработоспособности с 6-м Qt.
5. Сборка переведена на использование Qt6, соответствующим образом обновлён .spec-файл

В результате успешно собрался RPM-пакет для x86_64. Другие архитектуры не проверял.
Comment 1 Кирилл Уницаев 2024-08-31 12:58:56 MSK
Собрал пакет с вашего репозитория, собирается но не работает.

Проверяли ли вы пакет после сборки?
Comment 2 Andrey Vasilyev 2024-09-03 07:31:18 MSK
(Ответ для Кирилл Уницаев на комментарий #1)
> Собрал пакет с вашего репозитория, собирается но не работает.
> 
> Проверяли ли вы пакет после сборки?

Поставил на 3 компьютера с установленными регулярными сборками, везде sddm успешно подцепил текущие темы. Сборку проводил с gear-hsh, который всегда делает чистовую сборку (пока делать грязные сборки с gear/hasher не научился).

Единственным "сложным" моментом был момент обновления. Предыдущая версия sddm сразу после обновления работает на 1-м виртуальном терминале, а новая версия запускается на 2-м виртуальном терминале. После перезагрузки новый sddm успешно у меня запустился.

Если у вас не работает, то может быть есть журнал запуска sddm?
Comment 3 Кирилл Уницаев 2024-09-04 21:00:56 MSK
(Ответ для Andrey Vasilyev на комментарий #2)

> Поставил на 3 компьютера с установленными регулярными сборками, везде sddm
> успешно подцепил текущие темы. Сборку проводил с gear-hsh, который всегда
> делает чистовую сборку (пока делать грязные сборки с gear/hasher не
> научился).

Собрал через hasher, не заработало ни на одном из устройств, возможно у вас стоят какие-то необходимые зависимости, которых нет у меня. (не указанных в спеке)

> Единственным "сложным" моментом был момент обновления. Предыдущая версия
> sddm сразу после обновления работает на 1-м виртуальном терминале, а новая
> версия запускается на 2-м виртуальном терминале. После перезагрузки новый
> sddm успешно у меня запустился.

Эта же версия собранная с kf5 работает у меня стабильно, без перезагрузок.

> Если у вас не работает, то может быть есть журнал запуска sddm?

Как бы странно это не было, журнал абсолютно пустой.
Comment 4 Andrey Vasilyev 2024-09-05 09:02:28 MSK
(Ответ для Кирилл Уницаев на комментарий #3)

> 
> Собрал через hasher, не заработало ни на одном из устройств, возможно у вас
> стоят какие-то необходимые зависимости, которых нет у меня. (не указанных в
> спеке)

Думаю, что Вы правы. Пока что в ближайшее время нет возможности исследовать проблему, может быть ближе к концу сентября.

Со своей стороны могу предоставить только список библиотек, которые использует sddm у меня на системе:

$ ldd /usr/bin/sddm
	linux-vdso.so.1 (0x00007ffc449d1000)
	libQt6DBus.so.6 => /lib64/libQt6DBus.so.6 (0x00007fdff7042000)
	libQt6Qml.so.6 => /lib64/libQt6Qml.so.6 (0x00007fdff6a00000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007fdff703d000)
	libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fdff691d000)
	libQt6Network.so.6 => /lib64/libQt6Network.so.6 (0x00007fdff6782000)
	libQt6Core.so.6 => /lib64/libQt6Core.so.6 (0x00007fdff6000000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fdff5c00000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fdff7016000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fdff5a18000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fdff6730000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fdff664e000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fdff71b8000)
	libcap.so.2 => /lib64/libcap.so.2 (0x00007fdff700a000)
	libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007fdff58d1000)
	liblz4.so.1 => /lib64/liblz4.so.1 (0x00007fdff6fe5000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fdff6620000)
	libzstd.so.1 => /lib64/libzstd.so.1 (0x00007fdff5f5a000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007fdff65cc000)
	libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007fdff65be000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fdff5f3c000)
	libproxy.so.1 => /lib64/libproxy.so.1 (0x00007fdff6fde000)
	libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007fdff5200000)
	libicui18n.so.74 => /lib64/libicui18n.so.74 (0x00007fdff4e00000)
	libicuuc.so.74 => /lib64/libicuuc.so.74 (0x00007fdff4a00000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fdff5787000)
	libdouble-conversion.so.3 => /lib64/libdouble-conversion.so.3 (0x00007fdff5f26000)
	libb2.so.1 => /lib64/libb2.so.1 (0x00007fdff5f1d000)
	libpcre2-16.so.0 => /lib64/libpcre2-16.so.0 (0x00007fdff56f4000)
	libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007fdff51da000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fdff4d32000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fdff51ad000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fdff5f15000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007fdff5f06000)
	libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007fdff518a000)
	libpxbackend-1.0.so => /usr/lib64/libproxy/libpxbackend-1.0.so (0x00007fdff517c000)
	libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007fdff4ccf000)
	libicudata.so.74 => /lib64/libicudata.so.74 (0x00007fdff2c00000)
	libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fdff4c30000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fdff5efd000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdff5177000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fdff5148000)
	libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fdff2b2c000)
	libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007fdff295b000)
	libduktape.so.207 => /lib64/libduktape.so.207 (0x00007fdff49b6000)
	libffi.so.8 => /lib64/libffi.so.8 (0x00007fdff513d000)
	libnghttp3.so.9 => /lib64/libnghttp3.so.9 (0x00007fdff4c0b000)
	libngtcp2_crypto_gnutls.so.8 => /lib64/libngtcp2_crypto_gnutls.so.8 (0x00007fdff49ab000)
	libngtcp2.so.16 => /lib64/libngtcp2.so.16 (0x00007fdff4967000)
	libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007fdff292f000)
	libidn2.so.0 => /lib64/libidn2.so.0 (0x00007fdff28dd000)
	libssh2.so.1 => /lib64/libssh2.so.1 (0x00007fdff2893000)
	libgsasl.so.18 => /lib64/libgsasl.so.18 (0x00007fdff287c000)
	libpsl.so.5 => /lib64/libpsl.so.5 (0x00007fdff4960000)
	libnettle.so.8 => /lib64/libnettle.so.8 (0x00007fdff2824000)
	libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007fdff2625000)
	libldap.so.2 => /lib64/libldap.so.2 (0x00007fdff25c3000)
	liblber.so.2 => /lib64/liblber.so.2 (0x00007fdff25b2000)
	libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007fdff25ab000)
	libmount.so.1 => /lib64/libmount.so.1 (0x00007fdff255c000)
	libunistring.so.2 => /lib64/libunistring.so.2 (0x00007fdff23d8000)
	libidn.so.12 => /lib64/libidn.so.12 (0x00007fdff23a3000)
	libntlm.so.0 => /lib64/libntlm.so.0 (0x00007fdff2399000)
	libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007fdff2217000)
	libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007fdff2200000)
	libhogweed.so.6 => /lib64/libhogweed.so.6 (0x00007fdff21b5000)
	libgmp.so.10 => /lib64/libgmp.so.10 (0x00007fdff213a000)
	libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fdff211c000)
	libssl.so.3 => /lib64/libssl.so.3 (0x00007fdff207d000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x00007fdff2043000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fdff200d000)

> Эта же версия собранная с kf5 работает у меня стабильно, без перезагрузок.

Процедура обновления - это отдельный вопрос. Если kf5-версия хорошо замещает sddm предыдущий, то отлично.

> Как бы странно это не было, журнал абсолютно пустой.

Посмотрел на свой журнал. Он действительно не предоставляет никаких полезных данных:

# journalctl -b -u sddm
сен 05 08:23:36 home-pc-alt systemd[1]: Starting sddm.service - Simple Desktop Display Manager...
сен 05 08:23:36 home-pc-alt systemd[1]: Started sddm.service - Simple Desktop Display Manager.
сен 05 08:23:37 home-pc-alt sddm-helper[2076]: pam_unix(sddm-greeter:session): Session opened for sddm by (uid=0)
сен 05 08:23:37 home-pc-alt sddm-helper[2076]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-mzpJiA --theme /usr/share/sddm/themes/breeze"
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: pam_succeed_if(sddm:auth): requirement "user ingroup nopasswdlogin" not met by user "andrey"
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: pam_tcb(sddm:auth): Authentication passed for andrey from (uid=0)
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: pam_kwallet5(sddm:auth): pam_kwallet5: pam_sm_authenticate
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: pam_tcb(sddm:session): Session opened for andrey by (uid=0)
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
сен 05 08:34:43 home-pc-alt sddm-helper[3075]: Starting Wayland user session: "/usr/share/sddm/scripts/wayland-session" "Hyprland"