summaryrefslogtreecommitdiff
path: root/members/arm/android/images/armv8-android-juno-lsk/HOWTO_releasenotes.txt
blob: 85eca8063329914a96f85f2bceccdd7c402a1a62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344

h2. About the Linaro Android Release for Juno (Multi-arch 64-bit)

The Linaro Android release is based on a snapshot of the Android AOSP master taken on the 13th August 2014. The build contains multi-arch support allowing full use of the 64-bit ARMv8-A architecture and supports both 64-bit and 32-bit applications. Java-only applications will run as 64-bit in the supplied configuration with no modification. The release uses Linaro Stable Kernel version 3.10 and is integrated with ARM Mali drivers for 3D graphics acceleration. The sources are built using Linaro GCC version 4.9 for 64bit and Android (AOSP) GCC 4.8 for 32bit.

The ARMv8-A reference software stack combined with the Juno ARM Development Platform (ADP) provides the ARM ecosystem with a foundation to accelerate  Android availability on 64-bit silicon. The availability of this port is the culmination of a broad architecture enablement program carried out by Linaro, ARM and the ARM partnership. ARM partners will now have access to an AOSP file system with support for both 64-bit and 32-bit apps, together with a broad range of supporting material including the ARMv8-A FVP models, open source toolchain from Linaro and supporting documentation.

For those with access to Juno, this release can be used to examine the internals of the Android Open Source Project in a running system. Application developers, particularly those working in Java, will also be able to develop applications via the recently announced Android 'L' preview SDK.

The Juno firmware is updated to version 0.8.1 in this release.  This improves clock settings for the HDLCD pixel clock, adds support for system shutdown/reset, includes fixes for CPUIdle and provides other minor fixes.  CPUIdle has also been enabled in the kernel's Device Tree Binary.

The release contains Android ARMv8 optimizations for OpenSSL, LibPNG and BIONIC cortex C strings that were submitted by Linaro to AOSP. The release enables ART runtime as default in "compiler" mode. As part of our release validation we have observed a few standard benchmark and generic applications failing to run due to 64 bit compatibility of Android frameworks. The list is included as part of the test report to members. The other known issues and bugs found in this release are captured below.

The Android AOSP software provided in this release is functionally tested with CTS version 4.4 and the CTS results are shared with members. The BIONIC component is validated with Android BIONIC tests. Android Monkey tests were run for stress testing. Multi-arch support has been validated using examples provided in Android NDK.

The Linaro Android releases for Juno appear monthly. Sources are also made available so you can build your own images (see the "Building from Source tab":https://releases.linaro.org/14.10/members/arm/android/images/armv8-android-juno-lsk/#tabs-3). 


h3. Intelligent Power Allocation (IPA)

Intelligent Power Allocation (IPA) is a thermal governor that uses a PID (Proportional Integral Derivative) controller to control temperature. 
Based on the delta from the target temperature, the governor estimates the available power budget. This budget is intelligently allocated among the active actors (CPU cluster, GPUs, etc.) in the system to maximize performance while maintaining temperature control. The governor relies on actor power models which translate performance into power consumption and vice versa.

This kernel contains the set of patches that introduce the power allocator governor, the power actor interface along with an implementation of a simple power model for the CPU cluster actors. The governor and the actor interfaces are used to create a platform thermal management solution for ARM Juno 64-bit Development Platform.

This is a demonstration release highlighting the concept and implementation of IPA along with a sample platform integration. The code will continue to evolve based on discussions on the upstream mailing lists as well as partner feedback.

h4. Kernel Documentation

"power_allocator.txt" and "power_actor.txt" in the Documentation/thermal folder provide further details about the power allocator and the power actor interface respectively.

h4. Upstream

ARM is working with thermal subsystem maintainers for the inclusion of the power allocator governor and the associated components in mainline Linux since Q2'14. A number of RFCs have been posted to linux-pm mailing list as a result of this effort. The initial RFC describing the concept can be found at -

"http://article.gmane.org/gmane.linux.power-management.general/43243":http://article.gmane.org/gmane.linux.power-management.general/43243

The latest (v5) posting and discussions can be found at -

"http://thread.gmane.org/gmane.linux.power-management.general/47189":http://thread.gmane.org/gmane.linux.power-management.general/47189


h3. Linaro Android NDK

The build process for Linaro NDK has been completely revamped - instead of repackaging the latest upstream release with just a few components replaced, we're now building the NDK completely from source, allowing us to pick up changes more recent than the latest release. This has also given us the flexibility to merge ndk32 and ndk64 into one ndk that can target any supported processor.

Installation instructions: Download the NDK from tools directory of the release page and uncompress ndk-linaro-2014.08.tar.xz to your location of choice (e.g. /opt). Point the project you wish to compile at the directory created that way (e.g. /opt/ndk-linaro-2014.08). Since Linaro NDK is a drop-in replacement for upstream NDK, there will usually be no need to change anything.

A notable difference that may require some modifications to code using the NDK is that Linaro NDK defaults to using a GCC 4.9 based compiler for every architecture (not just 64 bit). Code that only compiles with older compilers will have to be fixed.

h3. SELinux

The SElinux feature is enabled in the release by default, user can also enable/disable SELinux using the UEFI boot arguments. To disable SELinux pass "selinux=0" as the boot parameter in the UEFI bootargs configuration.

h2. About the Juno ARM Development Platform

The Juno ARM Development Platform (ADP) is a software development platform for ARMv8-A. It includes:
* The Juno Versatile Express board
* ARMv8-A reference software ports available through Linaro
* Optional LogicTile Express FPGA board to extend the Juno system - this adds a large FPGA to Juno that can be used for driver development or prototyping.

The Juno hardware delivers to software developers an open, vendor neutral ARMv8-A development platform with:
* Cortex® A57 and A53 MPCore™ for ARMv8-A big.LITTLE
* Mali™-T624 for 3D Graphics Acceleration and GP-GPU compute
* A SoC architecture aligned with Level 1 (Server) Base System Architecture

The Juno ADP is available from ARM,  please visit "www.arm.com/juno":http://www.arm.com/juno for details.

h2. About the Linaro Stable Kernel (LSK)

The Linaro Stable Kernel (LSK) is produced, validated and released by Linaro and is based on the Linux stable kernel tree. The LSK focuses on quality and stability and is therefore a great foundation for product development. It also includes backports of commonly desired features, provided they meet the quality requirements, and also any bug fixes.

LSK releases appear monthly. Sources are also made available so you can build your own images (see the "'Building from Source'":https://releases.linaro.org/14.10/members/arm/android/images/armv8-android-juno-lsk/#tabs-3 tab).

h2. License

The use of Juno software is subject to the terms of the Juno "End User License Agreement":https://releases.linaro.org/14.10/members/arm/android/images/armv8-android-juno-lsk/#tabs-5.

h2. Support

Please send any ARM support enquiries to "juno-support@arm.com":mailto:juno-support@arm.com?subject=Juno%20support%20request. Engineers at Linaro Members can receive support for Juno by sending support requests to "support@linaro.org":mailto:support@linaro.org?subject=Juno%20support%20request or visiting "http://support.linaro.org":http://support.linaro.org.

h2. Functionality Listed by Software Component

h3. AOSP Filesystem

* Snapshot of the AOSP Master at 13th August 2014
* ART Runtime enabled as default in compiler mode and booting in 64-bit primary mode
* Optimizations submitted by Linaro for OpenSSL, LibPNG, BIONIC Cortex C strings are now part of this release
* Linaro Android user space and kernel test repositories are part of the release
* GPU support. The driver itself is believed performant but issues with HDLCD driver impact on-screen performance
* HDLCD is fully supported, but is currently only single-buffered leading to visual artefacts

h3. Linux Kernel

* Support for the ARM Juno Development Platform
* Limited set of peripherals present on the Juno development board: on-chip USB, non-secure UART, HDMI output, keyboard and mouse functionality over PS/2 connector, ethernet support is provided via on-board SMSC ethernet chip.
* Full USB driver support in Linux, for access to mass storage and input devices.
* big.LITTLE MP support for all 6 cores.
* DVFS stable operating points are enabled for nominal and overdrive

h3. UEFI

* Booting an Operating System from NOR Flash or USB mass storage
* Support for Ethernet and PXE boot
* Version: v1.2

h3. ARM Trusted Firmware

* The ARM Trusted Firmware provides an open source framework enabling easy integration of secure OS and run-time services to ARMv8-A platforms
* Loads the System Control Processor(SCP) firmware into the SCP
* Initializes the Trusted World before transitioning into Normal World.
* Services CPU hotplug requests coming from Normal World
* Provides a standard Power State Coordintion Interface (PSCI) implementation
* Version: v1.0

h3. SCP Firmware

* System configuration
* DDR initialization
* Basic power state management for frequency and C-states
* SCPI commands (Ready, Set/Get Clocks, Set/Get CPU power states)
* Thermal protection (shutdown at 85C, Linux will receive a warning at 75C)
* DVFS support
* Version: 1.2.0

h2. Known Limitations Listed by Software Component

h3. AOSP Filesystem

* The Juno baseport integration with AOSP is at an early stage and not all applications using the NDK will work at this time.
* Lack of audio support may cause apps using audio to hang
* Webkit is work in progress in AOSP. We observe few failures with webkit for 64-bit primary mode, apps using this functionality may not work.
* HDLCD issues include a lack of double buffering meaning tearing can be seen
* HDLCD compatibility with monitors is variable at this time
* OpenCL support is not present at this time and will be enabled in a future release

h3. Linux Kernel

* The big.LITTLE support is functional but has not yet been tuned for efficiency and performance.
* The CPUIdle framework is present but disabled in the kernel config due to firmware issues which will be addressed in a future release.

h3. UEFI

* No display controller support
* No USB OHCI support. Only EHCI is supported

h3. ARM Trusted Firmware

* Does not support changing the primary core using SCC General Purpose Register 1.
* Does not support bringing up secondary cores using PSCI CPU_ON when they have been enabled at boot time by SCP using SCC General Purpose Register 1.


h2. Monitor compatibility with Juno

HDMI support is not fully mature yet, and there are issues when using Juno with some monitors.

* On some monitors, the native resolution is not always achieved, and Juno degrades to 1024x768. On the next reboot, there is a chance that the native resolution may be selected.
* For some display modes on some monitors, the display can periodically lose synchronisation, causing a brief picture loss each time this occurs. The ratio of display time versus blanking time varies significantly across monitors and modes.
* On some monitors, Juno is unable to establish a working display mode.

The following table summarises our experience with the monitors that we have used in-house. Please note that in future we will strive to increase Juno compatibility across the majority of monitors, but this means it is possible that a future patch that improves support on many monitors might actually degrade compatibility on a specific individual monitor.

<table border="1" class="jiveBorder" style="border: 1px solid #000000; width: 100%;"><tr>
<td rowspan="2" style="border:1px solid black;border: 1px solid #000000;background-color: #eeeeee;padding: 2px;text-align: center;" valign="middle"><strong>Make</strong></td>
<td rowspan="2" style="border:1px solid black;border: 1px solid #000000;background-color: #eeeeee;padding: 2px;text-align: center;" valign="middle"><strong>Model</strong></td>
<td rowspan="2" style="border:1px solid black;border: 1px solid #000000;background-color: #eeeeee;padding: 2px;text-align: center;" valign="middle"><strong>Native resolution</strong></td>
<td colspan="2" style="border:1px solid black;border: 1px solid #000000;background-color: #dddddd;padding: 2px;text-align: center;" valign="middle"><strong>Native resolution achieved</strong></td>
<td colspan="2" style="border:1px solid black;border: 1px solid #000000;background-color: #eeeeee;padding: 2px;text-align: center;" valign="middle"><strong>Native failed, but fallback default 1024x768 &#064; 60Hz achieved</strong></td>
<td rowspan="2" style="border:1px solid black;border: 1px solid #000000;background-color: #dddddd;padding: 2px;text-align: center;" valign="middle"><strong>No display</strong><br><strong>at all</strong></td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #dddddd;padding: 2px;text-align: center;"><strong>success rate</strong></td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #dddddd;padding: 2px;text-align: center;"><strong>blanking occurs</strong></td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #eeeeee;padding: 2px;text-align: center;"><strong>success rate</strong></td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #eeeeee;padding: 2px;text-align: center;"><strong>blanking occurs</strong></td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">LG</td><td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">LED 22M35</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1920x1080 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">30%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">yes</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">70%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td></tr>
<tr><td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">Samsung</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">SyncMaster S22B370</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1920x1080 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">n/a</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">70%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">30%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">HP</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">L1940T</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1280x1024 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">20%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">80%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">DELL</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">P1911</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1440x900 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">50%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">50%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">NEC</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">EA274WMi</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">2560x1440 &#064; 52.1Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">70%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">yes</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">30%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">NEC</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">LCD2070NX</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1600x1200 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">50%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">50%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">BenQ</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">GL2460</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1920x1080 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">n/a</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">90%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">10%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">BenQ</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">GL2450</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1920x1080 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">n/a</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">40%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">60%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">BenQ</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">G2200WT</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1680x1050 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">80%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">20%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">BenQ</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">BL2201</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1680x1050 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">80%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">10%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">10%</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">Iiyama</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">ProLite E511S</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">1600x1200 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">100%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">n/a</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">n/a</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">n/a</td>
</tr><tr>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">Samsung</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">SyncMaster SA850</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;">2560x1440 &#064; 60Hz</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">0%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #e0ffe0;padding: 2px;text-align: center;">yes</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">100%[1]</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">no</td>
<td style="border:1px solid black;border: 1px solid #000000;padding: 2px;text-align: center;">0%</td>
</tr></table>

fn1. The "Samsung SyncMaster SA850":http://www.ebuyer.com/279786-samsung-s24a850dw-24-led-lcd-dvi-monitor-ls24a850dw-en is available to buy at the time of writing and works well when using 1024x768 or half of it's native resolution, but only if the following kernel commandline is configured to force the resolution.  We recommend adding this option to get the monitor to work well:

bc. video="DVI-D-1:1280x720@60"


h2. Android AOSP Patch Summary

The following list of patches developed by ARM and Linaro engineering teams were applied to Android AOSP dated 13th July 2014 to get Android booting to UI on the ARMv8-A Juno development platform. These patches can be found on Linaro's Android Git repositories. Some of these patches have been submitted to AOSP and are being tracked for acceptance.

* "Revert Hide _tolower_tab_ and _toupper_tab_ on LP64":https://android.git.linaro.org/gitweb/platform/bionic.git/commit/ed8f5e2dad362e5460645491196953ffd02c5dfb
* "build tarballs, set default runtime and zygote config in device config files":https://android.git.linaro.org/gitweb/platform/build.git/commit/d7803ba6f7edb13240a89930a03367ac54e80784
* "CtsVerifier: Add dependency of android.test.runner":https://android.git.linaro.org/gitweb/platform/cts.git/commit/eba8a294c14a32c822af4bee13ee282cd59840ce
* "security: add CtsTestStubs.apk as prerequisite apk":https://android.git.linaro.org/gitweb/platform/cts.git/commit/fbb76c03bb4732ef4f217abaf7806295a78ca879
* "Increase timeouts":https://android.git.linaro.org/gitweb/platform/frameworks/base.git/commit/4ceeef89d945db74db1bdba0ee2a1a51726131fd
* "svc: add netd command":https://android.git.linaro.org/gitweb/platform/frameworks/base.git/commit/34dc72b5f74610e574da1a601be67b63d64c1bdc
* "Enable 64bit abi support for CtsTestStubs":https://android.git.linaro.org/gitweb/platform/frameworks/base.git/commit/0e0734af013a7bb3e2f52745d1310e5acf1da89e
* "svc netd: add one command to set both interface and nameserver":https://android.git.linaro.org/gitweb/platform/frameworks/base.git/commit/7e6999cfad753fd5f97bb9cf25d355066613f150
* "Don't use memset to clear the framebuffer on arm64":https://android.git.linaro.org/gitweb/platform/hardware/libhardware.git/commit/6d65bb9da8a1aa2e574c5dd194cbb0deaddf5fba
* "Increase timeouts":https://android.git.linaro.org/gitweb/platform/libcore.git/commit/d2f8d316035b92bcc6d12a70de604b361acefd40
* "Don't write to the tty in init to avoid the cursor":https://android.git.linaro.org/gitweb/platform/system/core.git/commit/08ebb5a43853c71a846c75f60ed6dda7ca66d5be
* "bionic libc tests: fix 64bit compilation issues":https://android.git.linaro.org/gitweb/platform/system/extras.git/commit/18b7c59a9d158abac990d2d3bf4b3432a1d876ec
* "bionic libc test: remove test of test_vfprintf_leak":https://android.git.linaro.org/gitweb/platform/system/extras.git/commit/11a22aa17330b5e33df3d0d6c12a834f7e9f584a

h2. Known Issues

The following known issues are present in this release.  Please contact "support@linaro.org":mailto:support@linaro.org?subject=Juno%20support%20request if you wish to know more information about these issues or have access problems when attempting to view them.

| *Bug ID* | *Bug title* | *Bug summary* |
|"Bug 135":https://bugs.linaro.org/show_bug.cgi?id=135 |Juno: Android fails to boot when board has a date in the future |When the board default date is set beyond 19.01.2038 Android fails to boot. This is most likely a bug in generic Android code. As a workaround, the date on the board needs to be set to something before 2038 cut off date. |
|"Bug 279":https://bugs.linaro.org/show_bug.cgi?id=279 | Stock browser freezes on 64/64 build | Webkit compomponent does not work well in this release causing crashes and timeouts. As a result the stock browser does not function either. |
|"Bug 271":https://bugs.linaro.org/show_bug.cgi?id=271 | juice_evtest.sh reports errors | Suspend/Resume does not seem to work through EVDEV in this SW release |
|"Bug 269":https://bugs.linaro.org/show_bug.cgi?id=269 | Wave Blazer app crashes on startup | 3rd party application crash - under investigation. |
|"Bug 268":https://bugs.linaro.org/show_bug.cgi?id=268 | FREEdi YT Player 2.5.7 freezes on startup| 3rd party application crash - under investigation. |
|"Bug 267":https://bugs.linaro.org/show_bug.cgi?id=267 | Chrome browser crashes on startup | Chrome browser form AOSP does not work in this configuration |
|"Bug 266":https://bugs.linaro.org/show_bug.cgi?id=266 | Castle Builder crashes on startup | 3rd party application crash - under investigation. |
|"Bug 265":https://bugs.linaro.org/show_bug.cgi?id=265 | Truck Parking 3D game crashes on startup | 3rd party application crash - under investigation. |
|"Bug 264":https://bugs.linaro.org/show_bug.cgi?id=264 | Adobe Reader freezes on startup | Adobe Reader freezes in this configuration. The issue has not been analyzed yet. |
|"Bug 263":https://bugs.linaro.org/show_bug.cgi?id=263 | Geekbench 3 crashes on 64/64 build | 3rd party application crash - under investigation. |
|"Bug 262":https://bugs.linaro.org/show_bug.cgi?id=262 | Background images not displayed in AngryBirds | The issue with missing/black textures has been visible in several applications in this release. Issue with Mali drivers possible cause and will be tested when we update to newer drivers. |
|"Bug 242":https://bugs.linaro.org/show_bug.cgi?id=242 | Apps don't detect connectivity on Juno | Several applications rely on WiFi for their connectivity needs and with no WiFi on our target platform this leads to failures. The issue will not be fixed. |
|"Bug 241":https://bugs.linaro.org/show_bug.cgi?id=241 | Iron Man 3 (com.gameloft.android.ANMP.GloftIMHM in APK list) crashes after showing splash screen on Juno | 3rd party application crash - under investigation. |
|"Bug 239":https://bugs.linaro.org/show_bug.cgi?id=239 | Anomaly2Benchmark crashes on startup | 3rd party application crash - under investigation. |
|"Bug 238":https://bugs.linaro.org/show_bug.cgi?id=238 | Gears crashes on startup on Juno | 3rd party application crash - under investigation. |
|"Bug 237":https://bugs.linaro.org/show_bug.cgi?id=237 | glmark2 crashes on startup on Juno | 3rd party application crash - under investigation. |
|"Bug 236":https://bugs.linaro.org/show_bug.cgi?id=236 | Castle Master crashes on startup on Juno | 3rd party application crash - under investigation. |
|"Bug 235":https://bugs.linaro.org/show_bug.cgi?id=235 | AnTuTu crashes on startup | 3rd party application crash - under investigation. |
|"Bug 230":https://bugs.linaro.org/show_bug.cgi?id=230 | Volcano Island doesn't work on Juno | Application starts but fails to launch the actual game. Possibly issue with Mali drivers or other part of the system. |
|"Bug 228":https://bugs.linaro.org/show_bug.cgi?id=228 | Vellamo freezes when hitting the Pixel Blender benchmark on Juno | 3rd party application freezing in particular part of the execution - under investigation |
|"Bug 227":https://bugs.linaro.org/show_bug.cgi?id=227 | Temple Run crashes on startup | 3rd party application crash - under investigation. |
|"Bug 224":https://bugs.linaro.org/show_bug.cgi?id=224 | Corrupted png files can cause crashes in gallery | The stock Gallery application crashes when displaying known corrupt PNG files. |
|"Bug 222":https://bugs.linaro.org/show_bug.cgi?id=222 | Dev Tools crashes on startup | Dev Tools app fails to instantiate com.android.development.Development class from /system/app/Development.apk |
|"Bug 80":https://bugs.linaro.org/show_bug.cgi?id=80 | CTS errors - jank package does not run at all | The jank test package has been run locally with success and we believe this is issue we see happening only in our test automation in LAVA. |
|"Bug 64":https://bugs.linaro.org/show_bug.cgi?id=64 | Test test_pthread_rwlock from bionic libc test suite fails on Juno build - LAVA | |
|"Bug 23":https://bugs.linaro.org/show_bug.cgi?id=23 | backtrace_test reports failures on 64/64 build | Failures reported with local trace and threads |
|"Bug 12":https://bugs.linaro.org/show_bug.cgi?id=12 | Intermittent HDMI failures |There is a problem with HDMI sync for monitors that don't support FullHD resolution. The board works with some monitors and doesn’t work with others. The monitors known to work are: ASUS VS247 H-P, Samsung S22A300H, HP LP2475w |
|"Bug 23":https://bugs.linaro.org/show_bug.cgi?id=23 |backtrace_test reports failures on 64/64 build |There are failures in libbacktrace unit tests. They only happen on 64bit root filesystem |
|ARM JSW-748 Linux [Juno-Beta-rc1] | Periodic black screen flash | Screen blanking is seen at a regular frequency of one in 10 sec |
|ARM JSW-743 | HDMI monitor incompatibilities | HDMI video out fails to display Android home screen on one out of 4 monitor types tried |
|ARM JSW-742 | No HDMI  | HDMI video out does not work on both the ports |
|ARM JSW-741 |UEFI - missing boot options | UEFI bootmanager fails to list TFTP and PXE boot options if a live network cable not connected  |
|ARM JSW-711 |Reset failure | Reset fails if button is pressed during NOR flash write|