Commit graph

372 commits

Author SHA1 Message Date
Simon Fels
f2030cc894
Merge branch 'master' into basic-touch 2018-05-25 09:11:02 +02:00
Simon Fels
205be644d6
Merge branch 'master' into basic-touch 2018-05-25 08:42:47 +02:00
Simon Fels
fafa7363cd bridge: use a higher timeout of 30 seconds 2018-05-24 15:23:05 +02:00
Simon Fels
1eeeea111e qemu: fix crash in qemud message process when we don't have enough data 2018-05-24 15:22:01 +02:00
Simon Fels
198015c314 dbus: make launch of application with package+component work 2018-05-23 14:30:03 +02:00
Simon Fels
cd28e45d44 cmds: enable redirection of all output to /dev/null 2018-05-23 13:40:13 +02:00
Simon Fels
161f5674de graphics: add support for swiftshader based software rendering 2018-05-23 13:16:41 +02:00
Simon Fels
b36c0b7491 Implement confinement of the Android container via AppArmor
The used profile is derived from what LXD uses to confine its
containers. See https://github.com/lxc/lxd/blob/master/lxd/apparmor.go
2018-05-18 19:38:35 +02:00
Simon Fels
e6a0821cfc Import backtrace-cpp and integrate it into our main executable
Upstream release
https://github.com/bombela/backward-cpp/archive/v1.3.tar.gz
2018-05-18 19:38:31 +02:00
Simon Fels
5a1728c8d4 container: ensure the socket path we're using exists 2018-05-18 19:38:29 +02:00
Simon Fels
73166b9aae cmds: drop superfluous comment 2018-05-18 19:38:28 +02:00
Simon Fels
07fe3c7bac Move runtime sockets etc. into SNAP_USER_COMMON / SNAP_COMMON 2018-05-18 19:38:26 +02:00
Simon Fels
1037e8aab9 graphics: correctly pass layer alpha level through 2018-05-18 19:38:18 +02:00
Simon Fels
bdc2a24f88 Add support for client side decorations
This implements client side window decorations of our windows. The title
bar of our windows is now drawn by Android and we simply map out the
title bar area hit test area to SDL to detect when the other wants to
move the window or resize it.
2018-05-18 19:38:14 +02:00
Simon Fels
f1480bfb91 dbus: use systemd dbus support instead of out dated dbus-cpp
dbus-cpp was dropped from 18.04 as it is not maintained anymore so we
should migrate to something more stable with a long term perspective.
libsystemd fits in nicely here as it has a nice and clean dbus
implementation which is battle tested and can be easily integrated into
our existing C++ code base.
2018-05-18 19:38:12 +02:00
Simon Fels
1f55ff4be6 emugl: use correct name of shader variable 2018-05-18 19:37:59 +02:00
Simon Fels
647ace8233 emugl: use correct rgb spec for EGL config selection 2018-05-18 19:37:57 +02:00
Simon Fels
b42c13fc1b sdl: use correct GL context version 2018-05-18 19:37:54 +02:00
Simon Fels
5070880428 external: import local copy of GLM 0.9.7.2
This allows building against the same version of GLM across all targets
and not deal with API changes of newer GLM versions which introduce
regressions. Long term we want to migrate away from GLM and stick to a
minimal self-written subset.
2018-05-18 19:37:52 +02:00
Simon Fels
01ef1d23de graphics: use dummy GLESv1 by default
Newer Ubuntu systems tend to not provide a libGLESv1_CM.so.1 anymore. As
we're not required to have a GLESv1 implementation (only a few older
Android apps are using GLESv1) we can as easy fix avoid loading a real
GLESv1 implementation and assign dummy functions instead to all relevant
GLESv1 API calls. In the future we want to switch to a GLESv1->GLESv2
translator as the Android emulator does.
2018-05-18 19:37:50 +02:00
Simon Fels
8b6ced19fe graphics: specify all necessary OpenGL ES libraries by default 2018-05-18 19:37:48 +02:00
Simon Fels
1edfa6e3dd external: remove GL translator
OpenGL ES is enough for our purpose and we don't want to maintain a
unneeded OpenGL ES to GL translator. All target drivers have proper
OpenGL ES support these days so no need to depend on GL anymore.
2018-05-18 19:37:44 +02:00
Simon Fels
ef9272f26e
Merge branch 'master' into master 2018-05-17 07:18:30 +02:00
Jiancong
cb678f3807 Fix session-manager corrupted caused by memory overflow. 2018-05-17 11:12:40 +08:00
Simon Fels
3f4ab57746
Merge branch 'master' into basic-touch 2018-05-15 16:50:39 +02:00
Simon Fels
ceae29b2d2 emugl: limit set of extensions we expose to Android
If we expose too many extensions we don't support ourself yet (like
EGL_ANDROID_native_fence_sync) then we get unexpected corruption or
missing screen updates in our rendered output.

Fixes #635, #457, #692, #582 (and a few more duplicates)
2018-05-14 16:13:33 +02:00
Simon Fels
1878b17743
Merge branch 'master' into master 2018-05-11 20:06:36 +02:00
Jiancong
08defc5558 Remove single line bracket. 2018-05-06 12:28:31 +08:00
Simon Fels
57bf01d408
Merge branch 'master' into patch-1 2018-05-03 15:37:07 +02:00
Simon Fels
f353d55d16
Merge branch 'master' into patch-1 2018-05-03 15:25:43 +02:00
Jiancong
48471b1454 Revert previous cycling-reference commit. 2018-04-05 22:06:43 +08:00
Simon Fels
9b1ace02fe
Merge branch 'master' into master 2018-04-04 10:41:13 +02:00
misha98857
c288083bb3
fix GLM error
fix this problem: "GLM: GLM_GTX_transform is an experimental extension and may change in the future"
2018-04-03 21:54:27 +04:00
Jiancong
4dd2ae389a Fix the cycle-referenced caused memory leak by shared_ptr used, this issue is
recognized by valgrind memcheck tool.
2018-04-03 10:57:25 +08:00
Ondra Pelech
5cc79d9782 Use the z as print format for size_t variable instead of l to make it platform independent
`l` is a format for `long int`. It accidentally worked on 64 bit architectures, because `long int` has the same length as `size_t` there.
It didn't work on 32 bit architectures, where `size_t` is shorter than `long int`.
Let's use `z`, because that's the proper format for `size_t` -- it works on any platform.
2018-04-01 16:19:28 +02:00
unknown
90c91783fd Fix nir shaders memory leak on translator host side, this issue is heavily
increased the memory usage in application created and compile shader
programs frequently
2018-03-29 15:15:28 +08:00
Simon Fels
9dfea170d3
Merge branch 'master' into master 2018-03-02 10:26:36 +02:00
Simon Fels
c02d9278bc
Merge branch 'master' into master 2018-03-01 14:06:15 +02:00
Han Pengfei
04ceffa6b6 Reset the unlock.
Signed-off-by: Han Pengfei <hanpfei@gmail.com>
2018-02-23 11:03:34 +08:00
Dhiego Cassiano Fogaça Barbosa
a044e70b3a
Updated preprocessor condition
Without >=, the patch would not work on newer versions of Boost
2018-02-16 19:52:51 -02:00
Dhiego Cassiano Fogaça Barbosa
8b74034a17
Fixed build on boost <= 1.65 2018-02-14 15:36:58 -02:00
Dhiego Cassiano Fogaça Barbosa
ffcae32ea9
Fix narrowing conversion inside {} 2018-02-06 01:09:45 -02:00
Han Pengfei
15803e1868 Just waiting 3 seconds when stop container.
If container manager dies before session manager dying,
the session manager cannot exit if it waits for all.

This patch fix the above issue.

Signed-off-by: Han Pengfei <hanpfei@gmail.com>
2018-02-05 14:59:34 +08:00
Simon Fels
460f1f4da8
Merge branch 'master' into basic-touch 2018-02-05 07:46:35 +02:00
Filip Stedronsky
5d3284cb14 Fix compatibility with Boost 1.66
Do not use deprecated native() method.
2018-02-01 12:38:05 +01:00
Han Pengfei
5e7d773d82 Fix missing the release of lock in AdbMessageProcessor when process
waiting_for_guest_accept_command.

Signed-off-by: Han Pengfei <hanpfei@gmail.com>
2018-02-01 14:46:45 +08:00
Marius Gripsgard
6bc7ee1b93 Add basic touchscreen support 2018-01-04 14:36:10 +01:00
Lee Jones
1c7eef1fd3 anbox: qemu: qemud_message_processor: Handle multiple 'cat'ed messages
It is possible for more than one message to be delivered concurrently.
When this happens, messages are concatenated together (end-to-end).
Current code errors out if the total received data is larger than the
known header_size (4) + the body size (reported in the header).
However, when >=2 messages arrive at the same time, the total received
data will be far greater than this.

The current code base actually handles multiple messages perfectly
already, so all we need to do is remove the early return and
everything "just works".

Signed-off-by: Lee Jones <lee.jones@linaro.org>
2017-11-17 12:24:20 +00:00
Simon Fels
067201baba emugl: generate GL ES/EGL function prototypes at build type from entries files
This will make the *.entries files the the authoritative place to
define additional GL function prototypes. All generated header
files are now placed inside the build directory so that nobody
will ever try to touch them again.
2017-08-31 15:40:22 +02:00
王振华 (WANG Zhenhua)
f203a75010 Merge cmake configured headers into one config.h.in
This looks better than leave cmake *.in everywhere in the tree.
Also fix typo according to review comments of PR 425.
2017-08-28 15:09:09 +08:00