summaryrefslogtreecommitdiff
path: root/members/arm/android/images/armv8-android-juno-lsk/15.07/HOWTO_releasenotes.txt
blob: 38d60b27b89f6629a01ddd9d37c70f88b27dfa21 (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
345
346
347
348
349
350
351
h1. NOTE: This release location is to be deprecated - please use "ARM Development Platform Software":https://releases.linaro.org/members/arm/platforms/latest

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. 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 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 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/members/arm/android/images/armv8-android-juno-lsk/15.07/#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. Additionally, this backport also demonstrates integration with a Mali GPU Power Actor.

This is a backport of the code currently scheduled for linux v4.2 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 "cpu-cooling-api.txt" in the Documentation/thermal folder provide further details about the power allocator governor and the extensions to the cooling device interface respectively.


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.10.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.10). 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/members/arm/android/images/armv8-android-juno-lsk/15.07/#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/members/arm/android/images/armv8-android-juno-lsk/15.07/#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

* 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
* Enables a 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.
* CPUIdle supported and enabled by default
* Unified kernel and kernel config for Android and Linux.
* Support for reboot / shutdown.
* 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
* Support for ACPI 5.1
* Version: v3.0

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
* Implements "SCPI v1.0 final" protocol for communication between AP and SCP.
* Implements all mandatory APIs for Power State Coordintion Interface (PSCI) v1.0.
* Support for secure interrupts, secure payload
* Prototype implementation of Trusted Board Boot.
* Version: v1.1-Juno-0.1

h3. SCP Firmware

* System configuration
* DDR initialization
* Basic power state management for frequency and C-states
* Implements "SCPI v1.0 final" protocol for communication between AP and SCP.
* "Boot over MHU" protocol.
* Thermal protection (shutdown at 85C)
* DVFS support
* Support for system shutdown / reset
* Support for recalibrating the PVT sensors (details "here":http://infocenter.arm.com/help/topic/com.arm.doc.ddi0524b/bri1410368219803.html)   __only with the 0.9.2 board recovery image__
* Version: 1.7.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

* No PCI Express support is included
* The big.LITTLE support is functional but has not yet been tuned for efficiency and performance.
* Continuous soak testing of CPUIdle exposed a lock-up after 8 days of constantly exercising the framework.
* HDMI can lose sync with the monitor intermittently, particularly at higher resolutions. If you are affected by this then try adding a kernel command line argument that forces a video mode with reduced blanking, such as the following:

bc. video=DVI-D-1:1920x1080R@60

h3. UEFI

* No PCI Express support is included.
* No display controller support.
* No low speed (OHCI) USB support.
* UEFI will only list PXE and TFTP as boot options if a live network cable is connected.
* TFTP / PXE boot works only when the boot cpu is a Cortex-A53 and fails if the boot cpu is a Cortex-A57.
* It is necessary to restart the platform after updating the Device Tree in the boot menu.

h3. ARM Trusted Firmware

* 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.

h3. SCP Firmware

* If a core requests a warm reset from SCP, it will not be reset and therefore will spin on WFI forever.
* Voltage sensors under-read by 9mV.


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.

<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;background-color: #e0ffe0;padding: 2px;text-align: center;">100%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">yes [2]</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 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;background-color: #ffd4d4;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;background-color: #ffd4d4;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;background-color: #ffd4d4;padding: 2px;text-align: center;">100%</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;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;">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;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;">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;background-color: #e0ffe0;padding: 2px;text-align: center;">100%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">yes [2]</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;">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;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;">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;">91%</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">yes [2]</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;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;background-color: #ffd4d4;padding: 2px;text-align: center;">9%</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;background-color: #e0ffe0;padding: 2px;text-align: center;">100% [1]</td>
<td style="border:1px solid black;border: 1px solid #000000;background-color: #ffd4d4;padding: 2px;text-align: center;">yes [2]</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;">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;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;">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;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;">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: #ffd4d4;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;">100% [3]</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>
</tr></table>

fn1. Requires the kernel command line option:    video=DVI-D-1:1920x1080R@60

fn2. No blanking occurs when invoking the kernel with a "video" command line option that includes an "R" flag.    e.g.  video=DVI-D-1:1920x1080<b>%{color:red}R%</b>@60

fn3. 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 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.

* "Don't warn about DT_BIND_NOW":https://android.git.linaro.org/gitweb/platform/bionic.git/commit/9cb94f8e2acf4591bcf31e7a83cd80126fcd39d2
* "add tarball build tasks from linaro common":https://android.git.linaro.org/gitweb/platform/build.git/commit/4f82d8354e60a693ddaf78b4ab4d7e6d28d692f9
* "add CtsTestStubs.apk as prerequisite apk":https://android.git.linaro.org/gitweb/platform/cts.git/commit/48531e7009865fd9923f4ae863e1e2dd69a99214
* "sort the content of cts libcore testcases xml":https://android.git.linaro.org/gitweb/platform/cts.git/commit/100cdade4fdd5027bf9152456527946111fe8db4
* "Enable 64bit abi support for CtsTestStubs":https://android.git.linaro.org/gitweb/platform/frameworks/base.git/commit/860d204f9c9ebd67961a92ac652ce9c2d0e11a9e
* "Don't use memset to clear the framebuffer on arm64":https://android.git.linaro.org/gitweb/platform/hardware/libhardware.git/commit/69662efdd127fb6fd1d1eb228e5e7d71a6b8e75e
* "add Android.mk file to make Bionic libc test integrated":https://android.git.linaro.org/gitweb/platform/system/extras.git/commit/e57ca1a89b0953d171653a105d91740cb880f14b

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 481":https://bugs.linaro.org/show_bug.cgi?id=481 |  EVDEV failures in linaro kernel test suite when creating timer |
|"Bug 269":https://bugs.linaro.org/show_bug.cgi?id=269 | Wave Blazer app crashes 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 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 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 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 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 |
|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|