Simon Fels
f7cabbf8ff
Use largest layer of a window to calculate relative layer positions
...
As a window can be built out of multiple layers we need to take one as
the primary one which covers the entire window area. As it is not
guranteed that the layer size will match the actual window size cause
of synchronizaton delays with the Android side window manager we take
the layer as primary which covers the largest screen area. This should
solve most issues.
2016-12-23 15:38:35 +01:00
Simon Fels
3d051a4056
Update window frame when window is moved rathern when state was updated
...
This leads to incorrect calculations of the layer position calculation
inside the window.
2016-12-22 08:33:33 +01:00
Simon Fels
c4664603fd
Check errno correctly for errors to ignore
2016-12-21 10:32:07 +01:00
Simon Fels
9f69c580af
Get rid of renderer singleton
2016-12-21 10:02:02 +01:00
Simon Fels
aeff6e35df
Cleanup formatting and code style
2016-12-21 08:40:40 +01:00
Simon Fels
3e70f5a548
Don't require alpha bits for the renderer config
...
This prevents certain client applications in the container to work.
2016-12-21 08:40:40 +01:00
Simon Fels
7ce2da3be3
Rework client renderer setup
...
This gets us rid of one unneeded socket based communication point which
we kept around for historic reasons (from Android QEMU) but don't really
need in our case. This allows a simplication of our setup and improves
performance.
2016-12-21 08:40:40 +01:00
Simon Fels
aa23c349a1
Merge pull request #19 from morphis/activity-launch-bounds
...
Allow clients to specify the launch bounds of a new activity
2016-12-21 08:40:26 +01:00
Simon Fels
324407eeaa
Allow clients to specify the launch bounds of a new activity
2016-12-21 08:39:44 +01:00
Simon Fels
14d8bb2390
Calculate correct texture coordinates on created primitives
2016-12-19 09:17:11 +01:00
Simon Fels
4e72494aeb
Calculate correct relative position for all renderables
2016-12-19 09:16:44 +01:00
Simon Fels
a3151b6a07
Calculate display bounds for all available displays
...
The hwcomposer module for Android doesn't support multi-monitor well
enough for our use case yet so we give Android a large enough primary
display. This may have negative effects performance wise for the until
we disabled all non freeform stack and wallpaper related rendering on
the Android side so that only visible windows are drawn to not waste
any GPU cycles on things we don't render anyway.
2016-12-19 08:00:50 +01:00
Simon Fels
009cbb3402
Don't stop SDL event processing thread when it is not running
2016-12-19 08:00:16 +01:00
Simon Fels
2f849059c2
Correct texture and frame size calculation to be correct in offscreen areas
2016-12-19 07:21:12 +01:00
Simon Fels
abb0497a5d
Cleanup formatting
2016-12-15 09:20:36 +01:00
Simon Fels
3a55cf9189
Use correct markdown syntax to highlight shell commands
2016-12-15 08:52:21 +01:00
Simon Fels
0c234ed673
Fetch android image files from a specific subfolder
2016-12-15 08:49:26 +01:00
Simon Fels
4ec5f8f313
Drop superflous debug log message
2016-12-15 08:49:11 +01:00
Simon Fels
c9811ac804
Update and correct README
2016-12-15 08:48:19 +01:00
Simon Fels
e8438913fe
Merge pull request #18 from morphis/remove-bwrap
...
Remove unused bubblewrap source
2016-12-15 08:29:46 +01:00
Simon Fels
4b63f8dca2
Remove unused bubblewrap source
2016-12-15 08:29:14 +01:00
Simon Fels
908469846d
Merge pull request #17 from morphis/app-view
...
Implement simple application view
2016-12-13 21:06:02 +01:00
Simon Fels
43513ab4f2
Merge pull request #16 from morphis/kmod-support
...
Build and load binder/ashmem kernel modules on service start
2016-12-13 21:05:42 +01:00
Simon Fels
9ed4dd2b47
Provide desktop launcher for app view activity
2016-12-13 18:43:17 +01:00
Simon Fels
9c9eb48bf0
Implement simple activity to show all launchable applications
2016-12-13 18:42:50 +01:00
Simon Fels
7f564c55eb
Build and load binder/ashmem kernel modules on service start
...
As both kernel modules are not part of the standard Ubuntu kernel we
need to build and load them at runtime. We bundle this together with
the container manager start and reuse the classic snap scripts to do
the actual build in a proper environment.
2016-12-13 13:51:40 +01:00
Simon Fels
eb0f691247
Merge pull request #15 from morphis/remove-test-platform-service
...
Get rid of test for the Android platform service
2016-12-09 17:26:11 +01:00
Simon Fels
e419b1fbd5
Get rid of test for the Android platform service
2016-12-09 17:25:43 +01:00
Simon Fels
357b1a58ec
Merge pull request #14 from morphis/network-connectivity
...
Network connectivity
2016-12-09 17:24:58 +01:00
Simon Fels
cbb4beaac2
Restructure container manager startup script
...
Mount /cache and /data properly and stop bridge correctly.
2016-12-08 17:08:18 +01:00
Simon Fels
03583e360c
Get rid of unwanted debug message
2016-12-08 17:07:36 +01:00
Simon Fels
fc55e2c59a
Get rid of dropping capabilities as this prevents gaining relevant ones in the container
2016-12-08 17:06:52 +01:00
Simon Fels
f01ce872e8
Drop static DHCP configuration of eth0
2016-12-08 17:06:08 +01:00
Simon Fels
dd458efb38
Merge pull request #13 from morphis/bind-mount-cache-data
...
Bind mount cache/data on startup from writable space
2016-12-08 07:12:36 +01:00
Simon Fels
87da2f3744
Bind mount cache/data on startup from writable space
2016-12-08 07:12:09 +01:00
Simon Fels
0673c10354
Merge pull request #12 from morphis/map-dev-fuse
...
Map /dev/fuse to make Android volume manager happy
2016-12-08 07:11:28 +01:00
Simon Fels
e12ed13962
Map /dev/fuse to make Android volume manager happy
2016-12-08 07:10:52 +01:00
Simon Fels
c556bf4f2f
Merge pull request #11 from morphis/window-movement-resize
...
Handle window movement/resize/close on our side and not in Android
2016-12-08 07:10:17 +01:00
Simon Fels
65531a3b82
Handle window movement/resize/close on our side and not in Android
...
This leads to much better performance and user interaction. Resizing
still has some flickering but that is a different area of problems.
2016-12-08 07:08:47 +01:00
Simon Fels
bd6e17ef70
Merge pull request #10 from morphis/rework-kmod-sym-access
...
Rework kmod sym access
2016-12-06 08:32:43 +01:00
Simon Fels
86e2ca424d
kernel: exclude further build artifacts
2016-12-06 08:30:13 +01:00
Simon Fels
2095bebe0b
kernel: binder: use kallsyms_lookup_name for internal symbol access
2016-12-06 08:29:59 +01:00
Simon Fels
f2110223d1
kernel: ashmem: use kallsyms_lookup_name for internal symbol access
2016-12-06 08:29:59 +01:00
Simon Fels
0887abe263
Merge pull request #9 from morphis/improve-snap-pkg
...
Improve snap pkg
2016-12-06 08:05:39 +01:00
Simon Fels
6860338c4b
Use disk images instead of a rootfs tarball
2016-12-05 10:06:48 +01:00
Simon Fels
0c4668d029
Extend README with installation and build details
2016-12-05 07:10:21 +01:00
Simon Fels
637523b8cf
Drop scripts we don't need anymore
2016-12-04 17:20:21 +01:00
Simon Fels
457bd794ff
Don't load kernel modules anymore
2016-12-04 17:17:33 +01:00
Simon Fels
a86a5847f8
Start bridge as part of the container manager
2016-12-04 17:16:55 +01:00
Simon Fels
a8704556da
Unload AppArmor profile for container management process
...
If we run the management process with the AppArmor profile loaded
from snap-confine various ashmem/binder operations are failing with
permission denied errors. To workaround this until this problem
is fixed we simply unload the AppArmor profile and continue to
execute completely without any profile loaded.
2016-12-04 17:07:44 +01:00