uhulinux / ub-ubk3

64bit-only repo
1 stars 0 forks source link

gdm no wayland-sessions after nvidia driver remove #50

Closed attuska closed 4 years ago

attuska commented 4 years ago

A gdm-ből a gnome csak X sessionban indítható, az sddm-ből viszont gnome (wayland) is! Ugyancsak érdekes, hisz a gnome-session alapértelmezettje a wayland, a gnome beléptetője meg a gdm. Pont a gdm-ből nem úgy indul és nem is indítható úgy? Brrrr...

gdm-ből indítva:

attila@attila-pc:~$ echo $XDG_SESSION_TYPE x11 attila@attila-pc:~$

sddm-ből indítva:

attila@attila-pc:~$ echo $XDG_SESSION_TYPE wayland attila@attila-pc:~$

attuska commented 4 years ago

Tök érthető, mert az egész gdm csomagunk kizárólag X centrikus. Ezért rendkívül elavult, még a régi gdm -hez készült minden, mikor a gnome2 létezett csak.

A /etc/gdm/Xsession fájl nélkül nem lehet belépni sehova, de ez csakis X -re van passzítva.

Szerintem az xdm függés felesleges, anélkül is megy most. Az install szkriptben ezek teljesen feleslegesek:

rm -f "$UB_INSTALLDIR"/etc/gdm/Init/Default ln -s ../../X11/xdm/Xsetup "$UB_INSTALLDIR"/etc/gdm/Init/Default

A compile szkriptben ez a sor csak az x-session desktopokra koncentrál: --with-dmconfdir=/usr/share/xsessions

Az alapértelmezett gdm-wayland-session el sem indul a journal szerint, csak a gdm-x-session.

Ez csak akkor indulna el, ha az x.org-server csomag ezzel a compile opcióval kiegészítve lett fordítva és feltelepítve:

-Dxwayland_eglstream=true

Ehhez kellenek viszont egl-wayland eglexternalplatform csomagok is, de az egl-wayland ütközik az nvidia csomaggal, de mondjuk ez az akadály elhárítható.

Igen ám, de a journal szerint a gdm által nélkülözhetetelen gnome-shell meghal a mutter hibája miatt. A mutter csomag compile soraiba ezt kellene ennek elkerülésére belevenni:

-Degl_device=true \ -Dwayland_eglstream=true

Igen ám, de a journalban még mindig lesz egy eddig kiirthatatlan piros sor, mely a gnome-session elhalását említi, és így az egész gdm-wayland-session elhal és átadja helyét a gdm-x-sessionnak, mely végre elindul. és amelyből az említett /etc/gdm/Xsession fájl jelenléte esetén indítható bármilyen xsession, melyeket észlel. Az egész banda (gdm,mutter,x.org-server, gnome-shell) újrafordításával sem tudtam elérni a gdm-wayland-session eredményes indulását.

Egyelőre elodázom, mert túl bonyolultnak tűnik és az sddm -ből indítható a gmome-wayland és az jól is működik.

Nekem gyanús, hogy a plasma-wayland fagyás is valami hasonló okra vezethető vissza.

attuska commented 4 years ago

https://github.com/clearlinux/distribution/issues/544

attuska commented 4 years ago

UBK2 gdm, a sima gdm indítása után, mert itt felsorolja a /usr/share/xsession lévőt mind, a gnome-xorg és gnome-classic lehetőségeket is!

attila@attila-pc:~$ echo $XDG_SESSION_TYPE wayland attila@attila-pc:~$ dpkg -s gdm | grep Version Version: 3.26.2.1-1.1 attila@attila-pc:~$

Ellenben a gnome-xorg nem indul, de az sddm-ből minden.

Erre van több hibajelzés is. https://bugs.archlinux.org/task/61429 https://bugs.archlinux.org/task/61422 A flatpack syntax error miatt, ami itt rendbetéve: https://github.com/uhulinux/ub-ubk2/commit/18bf1d9cae46c93c083a5e0622ce54320653f840

Az ubk3 -nál már 3.32 -es a gdm. Nagy ugrás!

attuska commented 4 years ago

https://github.com/uhulinux/ub-ubk3/commit/568f1106145b1e093827e48510ce5640d57a086f

Gyakorlatilag a journal -ból lett pár kisebb hiba likvidálva, de a gnome-shell -nek még mindig kellene valami titokzatosság.

Továbbra is csak egy gnome van felsorolva a fogaskerék listában, noha nálam a /usr/share/xsessions mappában van gnome.desktop, gnome-xorg.desktop, mate.desktop, plasma.desktop, enlightenment.desktop. Ez mind X felületen indulnak, a választható egyetlen gnome is azon megy.

attuska commented 4 years ago

upd: a legújabb gnome már nekem csak a gdmből indul el és csakis a sima gnome lehetőség. Ebben:

attila@attila-pc:~$ echo $XDG_SESSION_TYPE wayland attila@attila-pc:~$

A gnome-on Xorg nem indul, szomorú pofa van csak. Jajj, valami elromlott!

attuska commented 4 years ago

túlhaladott

attuska commented 4 years ago

A sway -t, ami csak wayland felületen működik nem sorolja fel, pedig kellene. Söt már minden munkamentet csak xorgon indít! A sway csak sddm-ből és lightdm-ből indul, meg talán parancssorból, amit eddig még nem próbáltam. Kissé (nagyon is) idegen nekem a sway, ami tulajdonképp egy i3 waylandon.

upd: A sway simán elindul konzolba belépve a sway paranccsal.

attuska commented 4 years ago

Mintha nem észlené a wayland-sessions mappában lévő desktopokat. Ha a /usr/share/xsessions mappába belenyomom a sway desktopját, az elindul, noha kicsinyített méretben. A gnome-session mindkét mappában azonos, a gdm a gnome-on-xorg desktopját nem sorolja fel, a gnome az mindig x11 -en indul. Ez a gdm és a wayland is egy dög.

attuska commented 4 years ago

https://github.com/uhulinux/ub-ubk3/commit/c4639b8edf6331f1695706ec3832d35dd40d3396 Javulást nem hozott, csak újabb hibát. Újabb hiba lett, nem lehet leállítani és újraindítani belőle a rendszert. Journal részlet:

gnome-session[19664]: gnome-session-binary[19664]: WARNING: Shutdown failed: GDBus.Error:org.freedesktop.DBus.Error.InteractiveAuthorizationRequired: Interactive authentication required.

Upd: Nem a kommit okozza, valami más, mert a régebbivel sem lehet újraindíttatni a masinát.

attuska commented 4 years ago

A leállítási hibára végre találtam már másoknál is valamit: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1847896 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942234 Sőt, a gnome szakiknak is jelezték már! https://gitlab.gnome.org/GNOME/gdm/issues/528

attuska commented 4 years ago

A gdm user is ki tudja már kapcsolni a gépet a gdm üdvözlő felületről. A hiba a systemd csomagban volt. https://github.com/uhulinux/ub-ubk3/commit/8d9fcf9b4c45d6fbb1711ecdd4beeb5b9300450f A wayland-sessionok még mindig hiányoznak.

attuska commented 4 years ago

Csak a gdm-x-session indul. Alapértelmezetten a gdm-nek wayland felületen kellene működnie, de valamiért letiltja a más módon használható wayland felületet és a gdm x-en indul, az meg természetesen nem sorol fel wayland sessionokat. Ha törlöm a /usr/lib/udev/rules.d/61-gdm.rules fájlt, ami egyes hardverek észlelésekor a wayland -ot letiltaná (RUN+="/usr/libexec/gdm-disable-wayland"), akkor is csak x -en fut a gdm. Már a lightdm -ből is indul a gnome waylandon. https://github.com/uhulinux/ub-ubk3/commit/ddbb6cf294fb8c99d1690de34bc9b8b04a9ee871

attuska commented 4 years ago

Az egész gdm-x-session okfejtésem hibás. UBK2 esetében a gdm felsorolja a wayland munkameneteket is és a gdm-x-session csinálja ezt is. Ám mielőtt a journalban az első gdm-xsessin üzenet negjelenik, már előtte van egy ilyen sor:

nov 21 13:03:28 attila-pc gnome-shell[1098]: Failed to apply DRM plane transform 0: Érvénytelen argumentum nov 21 13:03:29 attila-pc org.gnome.Shell.desktop[1098]: glamor: EGL version 1.4 (DRI2):

Valószínűleg a glamor EGL léte és használatba vétele miatt van az, hogy az UBK2 esetében a gdm jól működik.

attuska commented 4 years ago

UBK3 -on nem volt feltelepítve a glamor-egl csomag. Feltettem, de ezután sincs wayland munkamenet a gdm listájában. A gdm-xsession viszont magába szívja...

root@attila-pc:~# journalctl | grep glamor nov 21 13:26:08 attila-pc /usr/libexec/gdm-x-session[2079]: (II) LoadModule: "glamoregl" nov 21 13:26:08 attila-pc /usr/libexec/gdm-x-session[2079]: (II) Loading /usr/lib/xorg/modules/libglamoregl.so nov 21 13:26:08 attila-pc /usr/libexec/gdm-x-session[2079]: (II) Module glamoregl: vendor="X.Org Foundation" root@attila-pc:~#

Valami dereng. UBK2:

root@attila-pc:~# journalctl | grep glamor nov 21 13:03:29 attila-pc org.gnome.Shell.desktop[1098]: glamor: EGL version 1.4 (DRI2): nov 21 13:04:06 attila-pc /usr/libexec/gdm-x-session[1294]: (II) Loading sub module "glamoregl" nov 21 13:04:06 attila-pc /usr/libexec/gdm-x-session[1294]: (II) LoadModule: "glamoregl" nov 21 13:04:06 attila-pc /usr/libexec/gdm-x-session[1294]: (II) Loading /usr/lib/xorg/modules/libglamoregl.so nov 21 13:04:06 attila-pc /usr/libexec/gdm-x-session[1294]: (II) Module glamoregl: vendor="X.Org Foundation" nov 21 13:04:06 attila-pc /usr/libexec/gdm-x-session[1294]: (II) glamor: OpenGL accelerated X.org driver based. nov 21 13:04:08 attila-pc /usr/libexec/gdm-x-session[1294]: (II) glamor: EGL version 1.4 (DRI2): nov 21 13:04:08 attila-pc /usr/libexec/gdm-x-session[1294]: (II) modeset(0): glamor initialized root@attila-pc:~#

Itt a gdm-x-session inicialzálja a glamor -t, UBK3 -on viszont nem!

attuska commented 4 years ago

Ez is tévút, a glamor már régóta (2014) beolvadt az x.org-serverbe. https://www.freedesktop.org/wiki/Software/Glamor/

Az x.org-server csomagunk lehet a hibás! UBK2: 1.19.6, UBK3: 1.20.5

Upd: Tény, hogy az x.org-server gitlab -os forrását leforgatva minden folt nélkül az elkészült x.org-server csomaggal sem működik. A meson opciókat alaposan átnéztem, nem lelek hibát. Ennek ellenére a gdm nem észleli a wayland használhatóságát, ami pedig jól használható, a gnome és sway is elindul waylandon a lightdm -ből, vagy az sddm-ből.

attuska commented 4 years ago

A full-rebuild és, vagy a frissítések megoldották. Újra indul a gnome (wayland) és a sway a gdm-ből.

attuska commented 4 years ago

Hoppá! Egy nvidia csomag feltelepítése utáni indulás, majd az nvidia csomag eltávolítása után újra nincsenek wayland munkamenetek! Se sway, se gnome. Ezzel legalább fény derült arra, hogy a gdm-session "okosan", de inkább "ostobán" ellenőrzi a hivatalos nvidia meghajtó által létrehozott valamelyik elemének létét és ha ezt észleli, letiltja a wayland sessionok észlelését. Függetlenül attól, hogy az nvidia drájver létezik e, mivel csak annak romjait találhatja már az nvidia eltávolítása után. A gdm nem teszi tönkre a lightdm -et, azt csak az sddm rontja el és az sddm által elrontottat az lxdm hozza helyre.

Teljesen új rendszer esetén, mikor nvidia még nem lett telepítve, a gdm jól működik.

Gusztustalan, de ez továbbra is a gdm hibája!

attuska commented 4 years ago

Csókoltatom a gdm feljesztőket! Végre megvan a bűnös!

Nem nézi át mindig a gépre telepített környezetet a gdm!

A /var/run/gdm alá elhelyeztetnek nvidia modul már egyszeri észlelése esetén is azonnal az utils/gdm-disable-wayland.c fordításával létrejött gdm-disable-wayland futtathatóval egy /var/run/gdm/custom.conf nevű fájlt, amit ott is hagynak véglegesen. Ezt a letiltást egy jólirányzott udev.rule váltja ki, ez a /usr/lib/61-gdm.rules nevezetű, amiben ez szerepel:

DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland"

Ez az elhelyezett és örök időkre ott hagyott fájl ezt tartalmazza:

[daemon] WaylandEnable=false

Ezt a fájlt letörölve már újra vannak wayland sessionok.

Nem kellene ezt eltávolíttatni valamivel ? A /etc/gdm/custom.conf nevű ezt nem bírálja ám felül! Minden nvidia csomaggal el lehetne ezt távolíttatni postrm szkripttel az illető meghajtó eltávolításakor, de mégiscsak inkább a gdm feladata lenne az nvidia modul létének ellenőrzése a gdm minden indulásakor.

attuska commented 4 years ago

workaround: https://github.com/uhulinux/ub-ubk3/commit/bd721d8691c32e7ddcfb4f0d6d76bc73d436c1f2