RE: gnome-3.16.x without systemd



From: dantrell mirthil org [mailto:dantrell mirthil org]
Sent: Wednesday, 24 June, 2015 17:40
To: john frankish outlook com
Subject: Re: gnome-3.16.x without systemd

I came across your post by chance. To answer your question,
it is indeed possible for GNOME 3.16 to work without
systemd.
I have actually been maintaining a patchset that
reintegrates support
for Session Tracking and Power Management.
A recent version of the most directly related files can be 
found here: https://bugs.funtoo.org/browse/FL-2485
I have a newer version but I'm not quite ready to share it.
If you let me know what operating system you use, I may to
be able to help you expedite matters.
In fact, if you use Gentoo or Funtoo Linux you can be using
GNOME 3.16
without systemd as fast as you can compile it.


Thanks for the positive feedback.

I'm using the 64-bit version of tinycorelinux on which I have
gnome-3.10.x working without problems.

I've compiled everything for gnome-3.16.x, but cannot post 
the various extensions (packages) to the tinycorelinux repo as
gnome-session will not run.
As posted, gnome-shell fails to register with gnome-session,
but without any error
messages to go on, I'm unable to fix things.
I had a quick look at the site you mention, but I don't see
any patches that
stand out as being likely to fix my problem?

I am not actually familiar with tinycorenetwork but what I do 
know is that GNOME 3.16 should actually work as-is (although 
with reduced features), if you don't use GDM (as in 3.16
ConsoleKit support was removed)
and if you force clutter to use the X11 backend (as the other
backends require systemd, as far as I can tell).

My patchset is further down on that page under the attachment
section.
Here's a direct link:
http://files.mirthil.org/dantrell-portage-overlays.tar.xz
(mind, this will only stay live for a while longer).
You will mostly be interested in any package that applies a 
*restore-deprecated-code.patch file but you will also want to 
look at what configure options are being passed regarding
consolekit and systemd,
especially if you intend to use GDM. Only a few packages not in
that attachment
are not very relevant to your purposes.

You wouldn't by chance be using ConsoleKit2 (any version greater
than 0.4.6)?
Because when I tested GNOME 3.16 against that, I believe things
went similarly haywire.
Also, if you manage to things working but find that native 
applications don't launch/work, double check that clutter is
using an appropriate backend as I mentioned earlier.


Thanks - to answer some of your questions:

1. I don't know what backend clutter is using, but I don't get any
clutter errors
and using CLUTTER_BACKEND=x11 doesn't change anything.

2. I'm not using gdm.

3. I've tried with both consolekit-0.4.6 and consolekit2 and
neither give any error messages.

I already reverted the consolekit changes to gnome-shell-3.16 
and applied your revert patch to gnome-settings-daemon, but
unfortunately this did > not help.

In general I compiled the various packages against upower-0.99.2 
except where they would not (telepathy-mission-control) and against
consolekit.
I don't see any particular configure switches in your tarball that
I've missed.
I have not compiled gnome-bluetooth-3.16 as the version of udev in 
tinycorelinux is too old for this, but other than that everything I
know of is present.

I'm starting gnome-session with a wrapper script:

ck-launch-session dbus-launch --exit-with-session gnome-session2  >
--autostart=/usr/local/etc/xdg/autostart --debug

..which gives the attached output - as you can see there's 
nothing to indicate why gnome-shell fails to register and I'm unable
to get any debug output from gnome-shell.

It's possible I might be missing a runtime dep as opposed to 
having a consolekit problem, but without error messages it's
impossible to tell.

I took another at things, including the logs you provided and I 
think that your problems have nothing to do with any patches
(missing or otherwise).
Since you are not using GDM I think ConsoleKit is not the problem.
In fact, if things don't work without the patches (yours or mine),
it won't work with them.

Without actually getting tinycorelinux myself and retracing your 
efforts, my best guess is that you are probably correct in thinking
that you
forgot a dependency or built something against an incorrect one.
The only thing that comes to mind is gobject-introspection, dbus and
udev (in that order).

Also, while I don't think your wrapper script is suspect, in
Gentoo/Funtoo, we use the following .xinitrc:

# Fix Missing Applications in Gnome export XDG_MENU_PREFIX=gnome-

# Properly Launch the Desired X Session exec ck-launch-session 
gnome-session

Thanks - I'm using gobject-introspection-1.44.0, dbus-1.18.6 and
udev-174
udev is in the tinycorelinux base, so I cannot change that.

I'm reasonably sure I haven't missed compiling against
gobject-introspection and/or dbus
what makes you think that I might have?

As mentioned, the only app that complains about udev-174 is
gnome-bluetooth, so I haven't compiled against that.

I was thinking it was more likely that I'd missed a runtime dep, but
what?

A couple of points on your patches:

patch -Np1 -i 
../gnome-control-center-3.16.2-restore-deprecated-code.patch

patching file config.h.in
patching file configure
patching file configure.ac
Hunk #1 succeeded at 340 (offset -99 lines).
Hunk #2 FAILED at 649.
1 out of 2 hunks FAILED -- saving rejects to file configure.ac.rej 
patching file panels/power/cc-power-panel.c

patch -Np1 -i 
../telepathy-mission-control-5.16.3-restore-deprecated-code.patch
...
Make
...
cd . && /bin/bash 
/usr/src/telepathy-mission-control-5.16.3/build-aux/missing 
automake-1.13 --gnu
configure.ac:20: warning: The 'AM_PROG_MKDIR_P' macro is deprecated,
and its use is discouraged.
configure.ac:20: You should use the Autoconf-provided 
'AC_PROG_MKDIR_P' macro instead,  [snip]
tests/twisted/Makefile.am:228: warning: 'INCLUDES' is the old name 
for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Makefile:445: recipe for target 'Makefile.in' failed
make: *** [Makefile.in] Error 1

While udev is probably moot, gobject-introspection can be finicky,
likewise with dbus.
Sometimes, when those are updated, everything that depends on it needs 
to be rebuilt otherwise when you start GNOME, it will say something 
along the lines of "GNOME 3 Failed to Load" (if I recall correctly) and
fail gracefully
but without any obvious errors. Usually it's enough to rebuild around
5-10 critical applications.

If you are not already aware, here's the list of core GNOME 3.16
applications:
https://download.gnome.org/core/3.16/3.16.2/sources/

Are you missing something from that list (excluding anything that starts
with gnome)?

The first patch failed to apply because it depends on prior patches
being applied first.
You can see what is being applied by looking at the ebuild.
I think in the case of gnome-control-center only the optional patch
matters.
As for telepathy-mission-control, did you configure it with
--disable-static and --enable-deprecated?

Thanks - I compiled dbus and gobject-introspection first and then
everything was compiled against
them - in any case, I don't see the "gnome-3 failed to load error.

I'd seen the list of gnome apps and I seem to have them all.

Telepathy-mission-control was indeed compiled with "--disable-static
--enable-deprecated"

If somebody could point me to where in the gnome-shell code it tests for
what is required
to register with gnome-session and then sends the dbus registration
request to gnome-session, I could try to debug things.

The other thing I would need to know is how to pass debug messages from
gnome-shell to stdout/stderr
when it is started by gnome-session - gnome-shell does not appear to
output to stdout/stderr/js log/js error
- or maybe it does, but gnome-session kills the putput?

Finally I found it...

Gnome-shell calls on mutter to register with gnome-session.

With the x11 backend, mutter eventually calls XIGrabTouchBegin, which fails
with libXi <= 1.7.4

After compiling libXi from git, things work :)

..albeit it takes +/-30s after startx for the gnome-session desktop to
appear on a fast machine, but that's a problem for another day

Thanks again for the positive suggestions.

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]