Summary: This adds new API function to return the min & max width &
height of valid screen range for an Ecore_Drm_Device
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds a pending_flip field to Ecore_Drm_Fb structure so
that when we schedule a pageflip event we can wait until the flip is
complete before trying to reuse the buffer again.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds 2 new API functions we can use from within the evas
drm engine to set framebuffers as current, and to call a pageflip on
given buffers.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit adds an API function that can be used to find an
output given an x/y coordinate pair.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This API was added in the header while testing a theory, and
should not have been committed.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Since we only create one drm context in the drm_device
structure now, we need the drm headers to be included in Ecore_Drm.h
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This changes allows us to reuse the same drmEventContext once
so that when we get drm events, we are not constantly recreating the
drmEventContext.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an API we can call from ecore_evas to setup the
device for software rendering which will cause dumb buffers to be
created in the Ecore_Drm_Device structure.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit adds support for setting DPMS level of an output.
This adds a new API function 'ecore_drm_output_dpms_set' to set the
level.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Move the Eeze udev watch to inside the ecore_drm_device. This
allows us to only create One watch to catch all output changes. No
need for more than one watch (one per output) as was done previously
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds a w & h field to the Ecore_Drm_Fb structure so it
can be used from within the Evas engine
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: To support multi-seat, ecore_drm need to issue the event to notify compositor of seat is added.
Test Plan: N/A
Reviewers: zmike, raster, gwanglim, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2212
Summary:
when enlightenment is working as wayland display server, enlightenment
changes KDSETMODE to KD_GRAPHICS in _ecore_drm_tty_setup(). However,
when enlightenment is killed by SIGSEGV, it doesn't changes KDSETMODE
to KD_TEXT because englightenment process doesn't call ecore_drm_tty_close().
To make possible enlightenment call ecore_drm_tty_close(), drm devices
should be exposed.
When enlightenment is killed by SIGSEGV, it will get drm devices with
ecore_drm_device_get_list(), and will call ecore_drm_launcher_disconnect(),
and ecore_drm_launcher_disconnect will call ecore_drm_tty_close() internally.
@feature
Change-Id: I1c594739ec96660a09cee77b823ace6548ee5282
Reviewers: zmike, cedric, raster, gwanglim, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2159
Summary: This adds a function (ecore_drm_device_pointer_xy_get) to we
can return the mouse position inside ecore_evas_pointer_xy_get calls.
This is going to be used for centering the mouse when E-Wl starts up.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we raise an event for an output, also include the output
id in the event structure. This will allow us to better identify which
output the event occured on.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
This provides callbacks to any bound wl_output listeners when a
display is hotplugged.
NOTE: Currently we don't receive hotplug events
ANOTHER NOTE: We don't yet handle display removal
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T2131
Differential Revision: https://phab.enlightenment.org/D2006
Ecore_Drm_Device
Summary: This moves storing the session name and VT fields inside the
device structure. This also adds a field so we can store the keyboard
mode of the tty, and restore it on close.
@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:
- 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
Summary:
Added internal function _ecore_drm_update_outputs which will update the
outputs if the drm device is hotplug
@fix
Signed-off-by: vivek <vivek.ellur@samsung.com>
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1565
Summary: These functions were never exposed in the header, and were
also already commented out. This commit just removes the dead comments.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Cleaned up all unwanted code's in ecore_drm. This just
removes a bunch of already commented out code.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1615
Summary:
Because vt mode of tty is set to VT_PROCESS,
ecore-drm is responsible for managing switch-to or switch-from other vt.
For that, ecore-drm has to handshake with kernel(tty driver).
On switch-from side(A):
1. Listen key event to satisfy vt switch key binding.
2. ioctl(fd, VT_ACTIVE, switch-to-vt) for activating switch-to vt.
3. Receive SIGUSR1(relsig) from kernel.
4. Prepare releasing vt, and ioctl(fd, VT_RELDISP, 1).
On switch-to side(B):
0. Kernel receive VT_RELDISP with value 1(ok) from switch-from vt.
1. Receive SIGUSR2(acqsig) from kernel.
2. ioctl(fd, VT_RELDISP, VT_ACKACQ), and start to setup vt.
This revision added A-1 step on above.
Test Plan:
On booted PC with systemd.
1. launch enlightenment_start with drm and wayland
ex) ECORE_DRM_TTY=/dev/tty1 \
E_WL_FORCE=drm \
ELM_ENGINE=wayland_shm enlightenment_start
2. try to switch vt by pressing "Ctrl + Alt + (F1 ~ F8)"
Reviewers: gwanglim, stefan_schmidt, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1280
This adds an API function that we can call to return the screen
geometry. This will be used from ecore_evas to get the screen_geometry.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Support for type B touch devices, tested with egalax_ts compatible touchscreen.
Reviewers: devilhorns
Reviewed By: devilhorns
CC: cedric
Differential Revision: https://phab.enlightenment.org/D933
@fix: The majority of ecore_evas code expects that the 'window' returned
from ecore_evas_window_get be an Ecore_Window. Previously, this was
not possible as this function was using a void pointer. This change
fixes that issue.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
@feature: Add new API function to return the drm device name
NB: This will be used in the ecore_evas_drm code to set the
ecore_evas->name.
Signed-off-by: Chris Michael <cp.michael@samsung.com>