maemo-leste / bugtracker

Issue tracking repository
62 stars 3 forks source link

hildon desktop for postmarketos... #689

Open robiwan1 opened 1 year ago

robiwan1 commented 1 year ago

Hi! I am interested in making the hildon desktop available in portmarketos.

Is this allowed by the actual maemo-leste license? Would it be possible to compile and run (runtime library?) the hildon desktop, and what packages/projects from maemo-leste must be migrated - in other words: What are base-OS packages and what packages/projects depend on hildon desktop. Are there any binary-blobs (gui acceleration) which are not portable?

I came to the idea because both support the armhf (n900) binary format BUT postmarket does not have a real small and good working phone-gui - like the holdon desktop...

https://wiki.postmarketos.org/wiki/Nokia_N900_(nokia-n900) https://images.postmarketos.org/bpo/v22.12/nokia-n900

eloydegen commented 1 year ago

Hildon was packaged for postmarketOS in the past but was dropped because it was broken due to the lack of maintainership. I think they are welcoming it back when actively maintained. See here.

sicelo commented 1 year ago

Is this allowed by the actual maemo-leste license?

Yes

Are there any binary-blobs (gui acceleration) which are not portable?

Not in hildon itself. N900 and other TI OMAP devices will need some blobs for the PowerVR GPU

https://gitlab.com/postmarketOS/pmaports/-/issues/373 might help you, as well as https://gitlab.com/postmarketOS/pmaports/-/merge_requests/1126

IMbackK commented 1 year ago

Hi,

Everything is portable in theory, there are no license issues for most packages (some optional resources excepted), there are no binaries. There are however some problems:

  1. Hildon depends on some obsolete packages, sutch as gconf and gtk2
  2. Hildon requires some changes to libraries that makes those libraries then incompatible with non-hildon users of the same
    1. mainly this is the case with gtk2
    2. also sort of true with qt, hildon qt applications need a platform plugin loaded that breaks all other qt applications
      1. you could add some envvar magic here to avoid this by loading the platform plugin only for hildon qt apps
  3. additional functionality (that you really want for hildon to work well) requires some deamons that are really incompatible with standart linux steups
    1. af-services joins the user and root dbus session buses
    2. dsme (required for shutdown and for the current session scripts to work) is not a well behaved deamon and breaks alot of user/session/system separation in various ways
    3. other daemons like maemo-launcher etc
    4. stuff like mce takes over things that should be in the session (like display timeouts etc) system wide, breaking any other desktop you might have installed
  4. currently the only way to start hildon is a mess of xsession and init scripts that are not a well behaved xdg session and break when elogind or logind is installed, this breaks comparability with really any packages from other desktops being installed.
  5. musl compatibility is unknown, hildon is protable by policy but theirs probably some stuff that depends on glibc in some ways by accident

The above things make it quite hard to support fully featured hildon in a general purpose distribution as its a really terribly behaved set of applications and libraries. We of course welcome any efforts to improve this situation and if fully featured hildon is not the target here most of the above can be ignored. Ie if you want just basic hildon-desktop with hildon-home you can ignore most of the above (gtk2 might be the main issue here)

MerlijnWajer commented 1 year ago
  1. I think gtk2 is still shipped in alpine, and I believe gconf might be too? (Didn't check)
  2. This is just Gtk2 I think indeed, everything else is just plugins currently
  3. What do you mean that it joins them? Maemo has a concept of both user dbus and system dbus? The other programs should just work, I don't think users have other DEs installed on their phones, but I haven't tried other mobile UIs. I'd be surprised if they allow switching DEs
  4. This will probably be solved relatively soon since we're integrating elogind now that it is forced upon us
  5. This is probably mostly an issue for pvr, which is sorted out already, but you might indeed have to patch some packages.
MerlijnWajer commented 1 year ago

To follow up, we'd be very happy to start working to having the hildon environment packaged in pmOS again, but I'm sure there will be challenges along the way. But we're happy to help with and merge musl fixes and such.

IMbackK commented 1 year ago

af-servces causes root and user to have the same session bus (this has nothing to do with the "system" bus). Not only is this a massive security risk, it also causes applications that expect users of session bus to only refer to resources of that user to break, this is for instance the case with gsettings, breaking any root user of gsettings. I am not entirely sure why this is nessecary.

IMbackK commented 1 year ago

I would like to note that the way h-d is started has improved recently which should make it easier to the leste stack to pmos