Commit Graph

115 Commits

Author SHA1 Message Date
Carsten Haitzler 6d2c0d04e9 wl - remove some old versioning stuff that is not relevant anymore
we need latest efl anyway so... no point having this fluff
2020-12-01 21:21:17 +00:00
Carsten Haitzler 12ddeaa2d1 e - enum conversion warnings - fix by doing proper conversion or enum 2020-07-08 17:39:43 +01:00
Carsten Haitzler 18c522fb24 Revert "e randr - x - only apply/modify randr if xurrent config not the same"
This reverts commit cf0a43b844.

This seems to cause some issues on restore at startup.
2020-06-13 22:56:40 +01:00
Carsten Haitzler cf0a43b844 e randr - x - only apply/modify randr if xurrent config not the same
so if already the same - leave it as-is.
2020-06-07 00:57:13 +01:00
Christopher Michael ba685cc0e5 wl_drm: Add missing new line on error printing 2020-05-18 10:15:12 -04:00
Elyes HAOUAS 28080ccc04 tree-wide: get rid of trailing whitespace (last part)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <>
Differential Revision:
2020-05-14 14:17:19 +02:00
Elyes HAOUAS 153f479d3f tree-wide: fix typos all over the place
Fix some typos

Differential Revision:
2020-05-14 12:04:51 +02:00
Carsten Haitzler 316c29bc56 e wl drm - restore rotation input max coords by accounting for rotation 2019-07-15 10:03:15 +01:00
Carsten Haitzler 1cbd5ee024 e wl randr and screen setup - fix rotation mapping
a few problems i found on my rpi's...

1. rpi's retun that they do NO rotations (not even the normal 0 degree
default), so assume 0 degrees if none listed. this makes screen setup
even try and configure things on these kinds of drivers/devices
2. there was a mistmatch of 0, 90, 180, 270 srtyle rotation ints vs
the enum stype ecore drm2 uses. this fixes that so it uses ecore_drm2
considtently as ecore_drm2 expects. this stops output becomeing odd.
3. also seemingly we forgot to set the max mouse region based on res.
re-enable that commented out function.

now i can change res on my rpi3 and rpi4 in wl mode and it works right...
2019-07-14 22:20:49 +01:00
Christopher Michael 50a33a13fc wl_drm: Fix build & runtime break with latest EFL version
EFL 1.23 changed API with regard to pointer device capabilities, so we
need to adjust API usage here based on efl version.

Original patch from bu5hm4n (Marcel Hollerbach)
2019-06-26 09:07:46 -04:00
Christopher Michael 9798e901f9 wl-drm: Refactor _drm2_randr_apply function
This patch refactors _drm2_randr_apply inside the wl_drm module in
order to support multiple outputs and to fix issue of rotation not

ref T7690

Reviewers: raster, cedric

Subscribers: cedric, zmike

Tags: #efl, #do_not_merge, #enlightenment-git

Maniphest Tasks: T7690

Differential Revision:
2019-03-22 12:42:10 -04:00
Michaël Bouchaud (yoz) 3ab092a61c conf_interaction: Support tap-to-click with pointer device
Allow to setup tap-to-click feature with libinput pointer device.


Reviewers: devilhorns, zmike

Reviewed By: devilhorns

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision:
2019-01-31 09:10:57 -05:00
Derek Foreman 3e196c1c61 compile against stable EFL again
E should probably continue to build against released EFL older than
the current interface name changes.
2018-04-25 11:06:12 -05:00
Carsten Haitzler f3498ee82c compile again after efl change interface names... 2018-04-25 14:37:49 +09:00
Chris Michael cf80e5d2b2 Revert "wl-drm: Enable all degrees of screen rotation"
Reverting this as it has issues still, and when multi-output support
for wayland lands this is not going to work anyway.

This reverts commit 8f5299be08.
2017-12-15 11:41:14 -05:00
Chris Michael 61b07a16ff wl-drm: sort screen modes and assign zone->output
Signed-off-by: Chris Michael <>
2017-12-15 11:09:56 -05:00
Chris Michael 26e2533d94 wl-drm: get screen geometry after e_comp_wl_init is called
This change is needed because if we call
ecore_evas_screen_geometry_get before calling e_comp_wl_init, then
when the drm2 randr settings are applied, the screen geometry could
change (saved resolutions are restored). This commit ensures that drm2
has the same resolution settings as the randr ones, and
screen_geometry_get will return the proper values now.


Signed-off-by: Chris Michael <>
2017-12-15 11:04:20 -05:00
Chris Michael 8f5299be08 wl-drm: Enable all degrees of screen rotation
This patch enables all degrees of rotation to be selectable in the
Screen Setup dialog. It then applies the rotation based on hardware or
software ... that is, if the hardware can do the selected rotation,
then we use hardware otherwise we will use ecore_evas_rotation
functions (software).

ref T5999

Signed-off-by: Chris Michael <>
2017-12-05 10:10:57 -05:00
Chris Michael 846722277c Revert "wl-drm: Fix issue of not being able to set output mode"
Reverting this in favor of a better way to fix the issue inside EFL

This reverts commit 5dc1c1c8eb.
2017-11-01 08:49:55 -04:00
Chris Michael 5dc1c1c8eb wl-drm: Fix issue of not being able to set output mode
If we pass in screen geometry here when trying to set an output mode,
we can encounter "out of memory" errors from libdrm with outputs that
have a high resolution. As it turns out, we should be passing 0, 0 for
the x/y values when trying to set an output mode.


Signed-off-by: Chris Michael <>
2017-10-25 15:28:46 -04:00
Derek Foreman c21c282483 Fix video explosion on rpi3 during screen blank
Seems like spamming dpms on when it's already on and we're rendering
is antisocial, so cut that out.

Fix T5977
2017-09-05 14:35:07 -05:00
Chris Michael f5e19a7721 wl-drm: Add screen position to debug output
Small patch which adds the screen geometry to the output of drm2 randr
apply so we can test mutli-output setups and know which screen is where.

NB: No functional changes

Signed-off-by: Chris Michael <>
2017-08-29 15:19:00 -04:00
Chris Michael 3cc70fc607 wl-drm: Properly retrieve output geometry and propertly set output mode
Previously when we were getting the output size, the resulting
geometry was being placed in the wrong variables which resulting in
randr screen config modes being set to zero. This patch also fixes the
issue where when setting drm2 output mode, we were always passing in
0x0 as the output geometry.


Signed-off-by: Chris Michael <>
2017-08-29 15:19:00 -04:00
Derek Foreman 0fd23928f0 Add a compatibility layer to protect against ecore_drm2 api change
In case we roll an E release before the next EFL one, we need these
API changes to be hidden.

Later we can remove this...
2017-08-09 14:59:26 -05:00
Derek Foreman 50169af1db Update to recent ecore_drm2 changes 2017-08-09 14:59:25 -05:00
Derek Foreman fbceceff5a Fix geometry for drm outputs
It appears that config.geom.x and config.geom.y specify the corner of
an output in global space, but ecore_drm2_output_mode_set's x and y
are offsets into the framebuffer for the corner of the display.

Just pass 0, 0 and everything will be ok.
2017-07-27 15:20:32 -05:00
Mike Blumenkrantz 3055c0ecae remove wl screenshooter protocol
this should never have existed, as it makes no sense for a compositor to
use protocol in order to allow itself to take screenshots
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz b58e380b19 simplify drm output update event by using randr screen refresh queuing
also moves all the output add/del into e_comp_wl
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz 773122db66 store output subpixel value to randr2 screen data during drm init 2017-06-16 15:00:12 -04:00
Mike Blumenkrantz c2e891bbf4 update wl_drm for recent efl_input_device api changes
@jpeg plz
2017-06-12 05:48:32 -04:00
Mike Blumenkrantz 79ed10927e preserve cursor state in drm output during vt switch

ref T5483
2017-06-09 20:18:13 -04:00
Derek Foreman 71f70ad8a5 Fix unused var compiler warning in wl_drm
Unused variable after my session activation cleanup
2017-06-07 12:11:59 -05:00
Derek Foreman 239101d95f Fix wl_drm session (de)activation callback
I missed this in my last commit - we probably shouldn't be calling
e_comp_render_queue or e_comp_shape_queue_block() after hiding the
ecore_evas anyway - and by removing the e_comp_shape_queue_block()
in the activation callback I made things asymmetrical.  Ungood.
2017-06-02 13:59:42 -05:00
Derek Foreman 5ce8bf3992 Fix wl_drm session activation callback
The code intended to force evas to redraw when we switch back from
another virtual console is failing to do so.  Remove it and replace
it with simpler code that successfully forces a redraw.
2017-06-02 13:49:06 -05:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e33c01cdce add new explicit method for enabling backlight depending on output type
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Chris Michael 4339f9f783 bump efl minor version check for ecore_drm2 API function usage
Signed-off-by: Chris Michael <>
2017-02-17 19:21:17 -05:00
Chris Michael b535aefaad wl_drm: Fix potentially uninitialized variable
Signed-off-by: Chris Michael <>
2017-02-07 13:18:19 -05:00
Chris Michael 8cb4a92ab5 minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <>
2017-02-07 11:09:54 -05:00
Mike Blumenkrantz 8144cd0cda use e_pointer_show() when updating wl-drm seat caps to enable pointer
prev function doesn't handle canvas pointers
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 501efaf357 add flag for comp screen iface to indicate relative motion eventing 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 186cf73294 implement relative-pointer v1 2017-02-03 15:13:45 -05:00
Chris Michael ba7e910f9c re-enable getting and setting output rotations in wl_drm
Small patch to re-enable the ability to query and set the rotation of
an output.

Signed-off-by: Chris Michael <>
2017-01-18 11:30:30 -05:00
Chris Michael 307072fc43 remove old ecore_drm1 code from wl_drm module
Signed-off-by: Chris Michael <>
2017-01-18 09:03:20 -05:00
Chris Michael 1e37dd65fd update touch enabled/disabled based on seat capabilities
Signed-off-by: Chris Michael <>
2017-01-17 08:42:53 -05:00
Chris Michael 20166f16be make mouse pointer visibility syn with hotplug/un-plug
This patch makes the mouse pointer disappear when the physical mouse
device is unplugged. It also makes the mouse pointer reappear when a
physical mouse is hotplugged.

NB: There is one small hiccup with this patch and that is: when you
re-plug the mouse in the pointer itself doesn't show until you
physically move the mouse. Tried several things locally to sort it
out, but no success :/

Signed-off-by: Chris Michael <>
2016-12-09 08:56:32 -05:00
Derek Foreman dc2bad0fcd bump ecore_drm2 dependency, update to latest beta API 2016-09-08 11:51:36 -05:00
Chris Michael 35febc367d add key_up and key_down methods to sreen interface
This patch adds new methods to the screen interface that we can use
inside wl_drm to determine if a key event is eaten or not. This fixes
an issue where VT-Switching would not work if an application was on
the screen (E-Wayland).

Signed-off-by: Chris Michael <>
2016-07-27 13:31:13 -04:00
Chris Michael 0d2b6b047c port enlightenment to use drm2
Signed-off-by: Chris Michael <>
2016-05-27 09:53:41 -04:00
Marcel Hollerbach a7c659e258 wl: remove useless calls to e_comp_wl_input_keymap_set
those calls are not needed anymore since they will be overriden by e_xkb
init which takes place a few calls later
2016-03-24 20:54:03 +01:00