70b03b2928
This sets up monitor layout callbacks, and enables input event translation between the RDP space and the weston desktop. The RDP backend now uses a heads changed callback instead of the simple head configurator. We only allow a single monitor for now, but in the future RAIL will make use of multi-head. As a side effect, scaling is now supported in RDP sessions. It should be noted that due to differences between RDP and wayland representation of their global coordinate spaces, mixing DPI leads to RDP monitor layouts that can't properly be represented in weston. Co-authored-by: Steve Pronovost <spronovo@microsoft.com> Co-authored-by: Brenton DeGeer <brdegeer@microsoft.com> Signed-off-by: Hideyuki Nagase <hideyukn@microsoft.com> Signed-off-by: Steve Pronovost <spronovo@microsoft.com> Signed-off-by: Brenton DeGeer <brdegeer@microsoft.com>
46 lines
1.2 KiB
Meson
46 lines
1.2 KiB
Meson
if not get_option('backend-rdp')
|
|
subdir_done()
|
|
endif
|
|
|
|
config_h.set('BUILD_RDP_COMPOSITOR', '1')
|
|
|
|
dep_frdp = dependency('freerdp2', version: '>= 2.3.0', required: false)
|
|
if not dep_frdp.found()
|
|
error('RDP-backend requires freerdp >= 2.3.0 which was not found. Or, you can use \'-Dbackend-rdp=false\'.')
|
|
endif
|
|
|
|
dep_frdp_server = dependency('freerdp-server2', version: '>= 2.3.0', required: false)
|
|
if not dep_frdp_server.found()
|
|
error('RDP-backend requires freerdp-server2 >= 2.3.0 which was not found. Or, you can use \'-Dbackend-rdp=false\'.')
|
|
endif
|
|
|
|
dep_wpr = dependency('winpr2', version: '>= 2.3.0', required: false)
|
|
if not dep_wpr.found()
|
|
error('RDP-backend requires winpr >= 2.3.0 which was not found. Or, you can use \'-Dbackend-rdp=false\'.')
|
|
endif
|
|
|
|
deps_rdp = [
|
|
dep_libweston_private,
|
|
dep_frdp,
|
|
dep_frdp_server,
|
|
dep_wpr,
|
|
]
|
|
srcs_rdp = [
|
|
'rdp.c',
|
|
'rdpclip.c',
|
|
'rdpdisp.c',
|
|
'rdputil.c',
|
|
]
|
|
|
|
plugin_rdp = shared_library(
|
|
'rdp-backend',
|
|
srcs_rdp,
|
|
include_directories: common_inc,
|
|
dependencies: deps_rdp,
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_libweston
|
|
)
|
|
env_modmap += 'rdp-backend.so=@0@;'.format(plugin_rdp.full_path())
|
|
install_headers(backend_rdp_h, subdir: dir_include_libweston_install)
|