so i've moved all systemd and elogind support to be runtime only with
dlopen (eina_module) of libsystemd.so.0 (or libelogind.so.0 for elput)
and finding of symbols manually at runtime (if the right code paths or
env vars are set), thus remvoing the need to decide at compile time if
efl needs systemd support or not as it no longer needs systemd
headers/libs at compile time and just at runtime. this simplifies
building a bit and makes efl more adaptive to the final target system
at runtime.
As portions of this code have been derived from existing code in
Weston, we should also be including their copyright/licence text to
give credit.
NB: Fixes T3286
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch cleans up some of the logind code to make use of the
existing tty functions as they both did the same thing
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
printf %m stringifies and prints errno. I've tried to remove its use
anywhere that the immediately preceding function might not set errno
or is a complicated function for which knowing errno doesn't really
give any useful information.
I've left a few of the drmMode calls because they're just wrappers
around ioctl, which legitimately sets errno.
@fix
Reviewers: zmike, devilhorns
Reviewed By: zmike, devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3572
Summary: clang reports missing field initializers for usage of vt_mode
structure, so add the missing initializers
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: These API functions should be used for enable/disable of a
given output. They were previously being misused to stop/start
rendering on an output when we VT switch away so now we add an
internal function we can call to disable/enable rendering.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
0 is a valid fd. EINA_FALSE is 0. EINA_FALSE is a valid fd.
@fix
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2456
Summary: This marks an Ecore_Drm_Device as active or not when we VT
switch. We do this so we can skip rendering if we are not active.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: logind has a seperate function to get the vt number.
@fix
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2252
Summary: If we already have the ecore_event_handlers for logind, then
do not recreate them on logind_connect.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Due to libinput processing events directly from evdev, we
need to disable/enable input events when we release/acquire the vt.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The functions to take or release a session no longer accept session
name as a parameter, so fix calls to those functions
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes a few issues with the logind code such as: Getting
the VT from systemd (if available), Properly setup the VT using proper
'open' flags, adding a 'restore' function to reset the tty properly,
and handle take/release session.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
some formatting.
Summary: This commit saves from declaring variable for
Ecore_Drm_Sprite unless we are going inactive and need to iterate
sprites. (and also fixes some formatting)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
this event is to notify session activation state to compositor.
thus compositor can change composite state by this event.
Reviewers: devilhorns
Subscribers: torori, cedric
Differential Revision: https://phab.enlightenment.org/D1767
Summary: added code to free string of tty's name when failed to setup tty.
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1763
Summary: need to clean also dbus, when failed open VT as a connection progress of logind.
@fix
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1756
Summary:
- allow to launch drm backend without systemd-logind with root privilege.
- allow to open drm device node via logind, not directly open it, in case exist systemd-logind.
- fixes issue that couldn't switch session, because ecore-drm couldn't drop master to drm device with no permission. (allow to switch session appropriate.)
Reviewers: gwanglim, devilhorns
Subscribers: torori, cedric
Differential Revision: https://phab.enlightenment.org/D1704