Archive

Posts Tagged ‘linaro’

Linaro 15.01 Release with Linux 3.19 and Android 5.0

January 30th, 2015 No comments

Linaro has just announced the first release of the year with Linux 3.19-rc3 (baseline), Linux 3.10.65 and 3.14.29 (LSK), Android 5.0.2, and Ubuntu Linaro Utopic.

Changes seem to have focused on ARM, Qualcomm, and HiSilicon hardware platforms such as Juno, and IFC6410, and some work has been done on Debian ARM64 rootfs.

Here are the highlights of this release:

  • Linux Linaro 3.19-rc5-2015.01
    • GATOR topic updated to version 5.20.1
    • builddeb topic: fixes for the dtb files location changes in 3.19 (vendor subdir introduced)
    • updated integration-linaro-vexpress64 topic by ARM LT (FVP Base and Foundation models, and Juno support)
    • updated topic from Qualcomm LT (IFC6410 board support)
    • updated topic from HiSilicon LT (Hi36xx, HiP04, and X5HD2 families support)
    • updated LLVM topic (uses the community llvmlinux-latest branch)
    • Included ILP32 patch set v3 rebased on 3.19-rc5. Initial tests using syscalls LTP tests are done: msgctl07 stalls when using ILP32 userland (no stall with LP64 userland).
    • config fragments updated:  audit.conf added to enable the audit feature testing on ARMv8; vexpress64: enabled devices used on Juno; Linaro builds of AOSP 15.01 is released
  • Android builds have been updated to 5.0.2
  • Juno firmware has been updated to 0.10.1
  • Linaro OpenEmbedded 2015.01
    • integrated Linaro binutils 2.25-2015.01
    • fixed linux-dummy after shared workdir changes in oe-core
    • updated linux-linaro(-stable) recipes
    • cleaned up overlayed recipes
    • added image recipe for ILP32 with LTP included
    • fixed GCC-4.8 builds
    • fixed LNG x86 machines
    • added workaround LAVA-isms with shell prompt
    • updated GATOR recipe to 5.20.1
    • upstreaming – fixed libgpg recipe in oe-core
  • Linaro Ubuntu 15.01
    • updated packages: Juno firmware 0.10.1, linux-firmware (include firmware needed for Linaro Community Builds), LSK 3.10.65/3.14.29 and linux-linaro 3.19-rc5 kernels
  • CI bring up: UpdateCapsule functionality testing
  • Debian x86_64 kernel/rootfs build with NFS support
  • CI bring up: audit enabled build
  • Add Debian ARM64 rootfs

You can visit https://wiki.linaro.org/Cycles/1501/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

FOSDEM 2015 Schedule – January 31 – February 1 2015

January 29th, 2015 6 comments

FOSDEM (Free and Open Source Software Developers’ European Meeting) takes place every year during the first week-end of February. This year the developer-oriented event expects to bring over 5000 geeks to share ideas and collaborate on open source projects. Contrary to most other events, it’s free to attend, and you don’t even need to register, just show up. FOSDEM 2015 will take place on January 31- February 1 in Brussels.

Fosdem_2015There will be 551 sessions divided into 5 keynotes, 40 lightning talks, 6 certification exams, and with the bulk being developer rooms and main tracks,  divided into 7 main tracks this year: Languages, Performance, Time, Typesetting, Hardware, Security and Miscellaneous.

I’m not going to attend, but it’s still interested to see what will be talked about, and I’ve concocted my own little virtual program out of the main tracks and developers’ rooms. There’s a few minutes overlap between some talks on Sunday.. Oh well.

If you won’t be able to attend, you should be able to watch the video and access the slides in a few weeks, as most sessions will be recorded.

What is the current status of Allwinner support in upstream u-boot and the kernel, which SoCs are supported, and which features (sound, video, etc.) are supported ?

The linux-sunxi community has been slowly but steadily working on getting Allwinner SoCs like the A10 supported in upstream u-boot and the kernel.

This talk will present the current status of Allwinner support upstream. Which SoCs are supported and which ones are not (yet) supported ? Which blocks if the supported SoCs are supported, and which are not ? Why are some SoCs / blocks not supported, and what are the plans to get them supported ? This are some of the questions this talk tries to answer.

Not all free operating systems are feature-full POSIX systems. FreeRTOS is a minimal operating system which is designed to run on micro-controllers, and provide real-time scheduling. It is used in industrial automation and automotive.

A brief introduction to FreeRTOS, depending on audience preference, will be followed by either a hands-on workshop using PCs, or a demonstration on a board. The workshop includes how to get started, what can be done with it, and what type of features and pitfalls to expect from FreeRTOS.

As ADAS and infotainment require more electronics, using an hypervisor is a solution to gather multiple boards into one. Xvisor is an open source lightweight hypervisor for embedded systems that perfectly fits the needs of the automative industry. It is a complete monolithic type-1 hypervisor with full virtualization and paravirtualisation support, showing better performances than KVM. We, OpenWide and the Institute for Technological Research SystemX, are working on its port on i.MX6 boards.

F*watch is an infinitely hackable GPS watch with many sensors based on a 100% Free design. Everything is Free, from the PCB and watch housing design to the software stack. Moreover, only Free software tools have been used during the development.

F*watch. Why should your watch be different?

The talk describes the development process and shows a first prototype, along with performance measurements and future plans.

The lowRISC project was established in the summer of 2014 with the aim of producing a complete open-source System-on-Chip in volume, with low-cost development boards. Alex Bradbury, one of the co-founders of the project will discuss the progress to date and the path to the first test chip. lowRISC implements the open RISC-V instruction set architecture and is exploring ideas on improving security via tagged memory and increasing flexibility through the addition of RISC-V ‘Minion’ cores to implement soft peripherals. This talk will discuss the potential benefits of a fully open-source hardware ecosystem, the challenges of getting to first silicon, and how the open source community at large can help.

Digital cameras provide almost every feature you could want. But if they don’t, you are forced to upgrade or go without. CHDK is a project which allows you to program new functionality to the majority of Canon cameras, in either C, Lua, or Basic. The talk features background on the project, code, tools, and the methods of compiling and introducing a new firmware into the camera.

Over the course of 1 hour, Steven Goodwin will guide the audience through the entire process of taking a normal (proprietary) camera and converting it into an open source version by installing custom firmware on it. He will then cover some of the features available (such as the on-device scripting language) and continue by explaining how to build and debug your own functionality. Starting with simple grids, continuing with games, and time-lapse code. And ending with a fully recompiled firmware running on the device.

The video4linux kernel subsystem reports which colorspace the captured video uses. But what does that really mean, and what do you have to do to correctly reproduce those colors? This talk will dive into the crazy world of colorspaces and give you a practical guide to colorspace handling. I will also demonstrate colorspace handling, both right and wrong.

Kernel profiling tools status on ARM and ARM64: – perf status, – ARM and ARM64 support, – callchain unwinding mechanisms and support, – patches status: merged, pending, in development, – links to discussions (LKML) and patches.

The profiling tools in the kernel are changing at a fast pace. This talk is about the support for ARM and ARM64 architecture and the development of features for these architectures, namely the callchain unwinding. The presentation goes over: – the detailed description of the feature, – the methods used to do the callchain unwinding (fp, exidx, dwarf etc.), – the status of the on-going patches, – the remaining work to be done, – the links to patches, discussions on the mailing lists, – -if needed and if time allows- a demo of the feature.

Building a medical device requires to follow certain rules specially when health care depend on it. The presentation will explain how Yocto help us in Kaptalia to solve this issue. In particular we will focus on fast boot, update with unskilled user base, Bluetooth Low Energy, security and data privacy.

During this event we will show how our team succeeded to build our first OS, start from a company with medical expert only and no prior expertise on embedded systems. At the end, a live demonstration for using the the monitor and sensor will be held.

LAVA is a python service created by Linaro for testing software on hardware which accepts test jobs to perform on selected hardware to provide a black box to continuous integration tests. Bisecting is a technique for finding commit in version control system that broke the software. Git provides the powerful “git bisect” subcommand for this purposes. In this talk we give and introduction to LAVA and explain howto combine LAVA and git bisect to automatically find offending commits in the Linux kernel.

Prospero Technologies has made a Linux based Digital Video Recorder which constantly records all UK broadcast TV so that the consumer no longer needs to schedule recordings. This will be a talk on the technologies used to achieve this, the open source software on the consumer device and how you can build your own 30 channel DVR.

The final version of the DVR uses a Freescale i.MX6 CPU with a video processing unit running a Linux built with Yocto. The talk will cover how well this is supported by gstreamer and how we built a QT application to display our HTML5 interface.

More and more embedded projects require support for advance connectivity. With it, comes the requirement to enforce a better security as well as private data protection. Using the layer model of Yocto, we show how we can extract from a complex project such as Tizen, advance connectivity and security and apply it to any embedded project.

The Internet of Things (IoT) is growing fast and opens large opportunities to embedded Linux. Unfortunately traditional embedded Linux has been weak when it comes to security and complex connectivity enabling. Tizen which has been developed as a Linux base OS for connected object (phone, TV, car) is on the other side very well equipped in that area. We will start by explaining what is Tizen architecture and how it provides Security and Connectivity facilities on top of a base Linux. We will then show how Yocto and Tizen-meta can be used to create embedded devices which benefit from several years of work done by the Tizen community. In particular we will review : – the mandatory access control enabling in an embedded device – the enforcement of good behavior by applications – resource access control – connectivity layers – HTML5 App enabling. – multi user mode enabling.

The ARM LLVM backend has been around for many years and generates high quality code, yet there are still standard benchmarks where GCC is generating more efficient code than LLVM. The goal of this talk is to get a better understanding of why the GCC-generated code for those benchmarks is executing more efficiently and also about finding out what we need to do on the LLVM side to address those code generation deficiencies. This talk presents current performance numbers for the SPEC CPU benchmark suites on ARM, comparing the performance of LLVM and GCC, with the main focus on the SPEC CPU integer benchmarks. To dive a little bit deeper, we will also have a closer look at the generated assembly code of selected benchmarks where LLVM is performing worse than GCC and use the results of this performance analysis to point out potential code generation opportunities for LLVM.

Connectivity is crucial for Internet of Things concept. For moving devices like position data loggers is typical solution GSM network. I will show you how you can use different types of GSM network for your IoT projects.

GSM network is easy way how to connect almost any device to internet. There are lot of GSM modules on market from different vendors but all devices has one thing in common – AT commands. There is standardized AT commands set for GSM networks. Using AT command you can send text messages, read phone number from list on SIM card, connect to internet and much more. I will show you basic command set for HTTP communication using basic GSM module SIM900 and Arduino.

This talk will give an overview over the Linux backports project and how to use it. The Linux backports project makes it possible to use a driver from a recent Linux mainline kernel with an older kernel version.

When you have a vendor board support package which does not use a bleeding edge mainline kernel, like it is the case most times, but you want to use some driver from a bleeding edge Linux kernel you can use backports. Backports “automatically” generates a tar with many drivers from a specific Linux mainline kernel which can be used with older kernel versions.

In this talk I will describe how the backports project, with its compatibility layer, the spatches and the normal patches. For practical usage I will show how to use backports with your own kernel in addition I will give a brief overview on how to add a new driver to backports.

Patchwork is a toolkit for connecting various devices into a network of things or, in a more broad case – Internet of Things (IoT). The main goal of creating this toolkit is to have a lightweight set of components that can help to quickly integrate different devices (i.e. Arduino, Raspberry Pi, Plugwise, etc) into a smart environment and expose specific devices’ capabilities as RESTful/SOAP/CoAP/MQTT/etc services and data streams.

The key features of patchwork include:

  • Lightweight (no RAM-consuming sliced pie of Java and OSGi, only bare necessities)
  • Cross-platform (can be deployed on OSX/Linux/Windows, tested on Raspberry Pi and BeagleBone Black boards)
  • Language-agnostic (device agents can be written in any programming language, APIs can be consumed by app written in any programming language)
  • Easily deployable (no JARs, no Eggs or Wheels for the core components, just a single native binary with statically linked dependencies)
  • Easily extendable (integrate new devices without modification of the core components, drop in solution)
  • Interchangeable (not happy with current existing Device Gateway or Catalog? replace it with another implementation without breaking the infrastructure)
  • Not re-inventing the wheel (we re-use as many existing technologies and components as possible)

libcurl is the world’s most used and most popular Internet transfer library, already used in every imaginable sort of embedded device out there. How did this happen and how do you use libcurl to transfer data to or from your device?

Embedded devices are very often network connected these days. Network connected embedded devices often need to transfer data to and from them as clients, using one or more of the popular internet protocols.

Daniel once founded the project and is still lead developer and maintainer of the curl project, making curl and libcurl. He is also active within IETF and maintain several other open source projects. Daniel is employed by Mozilla.

This presentation will reveal the process of porting Tizen:Common to open source hardware developer boards with SoC manufactured by Allwinner, Rockchip or Intel such as OLinuXino, Radxa Rock, Minnowboard. The following topics will be covered:

  • Building Tizen ARMv7 and x86 images from scratch
  • Adapting the Linux kernel, bootloader and Tizen:Common to popular single board computers
  • Do it yourself (DIY) open-source hardware Tizen tablet or laptop
  • Sharing knowledge and experience of the community.
The presentation will also provide information about U-Boot, Yocto project, the Linux-Sunxi and Linux-Rockchip, Minnowboard communities.

Although Tegra K1 uses the same Kepler architecture as NVIDIA desktop cards that Nouveau already supports, there are other challenges that need to be addressed before Nouveau can drive K1’s graphic acceleration: the fact that the GPU does not reside on the PCI bus requires architectural changes in the Nouveau core. The absence of dedicated GPU memory directly interferes with the way Nouveau is used to do memory management and leads to potentially sub-optimal behavior. Also, in a system where all devices share the same system memory, PRIME support is mandatory to perform any useful work and the relevance of a driver-agnostic memory allocator becomes perceptible.

This talk will discuss these challenges, and in particular the consequences of using a unified memory architecture, in the hope of triggering discussions that will help improving the general support of GPU architectures for new mobile platforms.

A brief look at the past, present, and future of the KiCad project. The discussion will be primarily on what near and long term future development is planned for the project as well as discussing the potential for collaboration with other EDA projects.

Yocto has an alleged steep learning curve. It can be a challenge for modules and evaluation board manufacturers to add support for their devices in Yocto as they don’t necessarily have a software background. This talk will highlight the steps required, techniques and good practices to create a well integrated machine configuration allowing to build images using the Yocto Linux build system. The Crystalfontz support from meta-fsl-arm-extra will be used to illustrate the talk.

The bitbox console is a small open hardware & open source game console. I will present the rationale behind it and the current status of the project, detail the hardware conception and particularly video signal generation from a cortex-m4 chip with no video subsystem. I will then proceed to show the different elements of the software stack : kernel, video engines, the boot loader and, finally, current programs and games, including a Gameboy emulator and a full motion video player.

If you want to build your own schedule before going, you can check the full list of events by subjects, but an easier way to organize your day is to check the sessions in chronological order, by checking out Saturday and Sunday schedules.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro Connect Hong Kong 2015 Schedule and Demos

January 27th, 2015 No comments

Linaro Connect Hong Kong 2015 will take place on February 9 – 13,2015 in Hong Kong, and the organization has released the schedule for the five days events with keynotes, sessions, and demos.

Linaro_Connect_Hong_Kong_2015Each day will start with the keynote including speakers such as:

  • George Grey, Linaro CEO, who will welcome attendees to Linaro Connect, and provide an update on the latest Linaro developments
  • Jon Masters, Chief ARM Architect, Redhat, who will present Red Hat update and latest ARMv8-A demonstrations
  • Dejan Milojicic, Senior Researcher & Manager, HP Labs
  • Bob Monkman, Enterprise Segment Marketing Manager, ARM, will discuss about  the impact of ARM in next generation cloud and communication network infrastructure
  • Greg Kroah-Hartman, Linux Foundation Fellow, will introduce the Greybus Project (Linux for Project Ara modular phones)
  • Warren Rehman,  Android Partner Engineering Manager, Google

The agenda also features sessions covering Android, ARMv8-A, Automation & Validation, Digital Home, Enterprise Servers, LAVA, Linux Kernel, Networking, Power Management, Security, Toolchain, Virtualization and multiple training sessions. I’ve gone through the full schedule to make my own virtual list of sessions.

Monday 9th

  • 14:00 – 14:50 – maddog: ARMv8 Optimization (No abstract)
  • 15:00 – 15:50 – ACPI Power Management on ARM64 Servers (No abstract)
  • 16:10 – 17:00 – Standardizing Linux Kernel Power Management on ARM 32/64-bit

The 32-bit ARM kernel supports a wide variety of processors harking back to ARM v4 architecture up to the latest v7 SMP processors. This huge legacy forced kernel developers to adapt the power management code for the newest processors (eg v7 multi-cluster systems) to an infrastructure that was developed to support simpler uniprocessor (UP) ARM architectures, resulting in code fragmentation and lack of unified drivers.

The brand new ARMv8 architecture provides kernel developers a clean slate to start developing new code, a nice opportunity to learn lessons from the past and bring about a kernel power management (PM) subsystem completely generic and up to the latest standards. This talk will provide details of the undergoing effort carried out at ARM to develop a kernel PM framework for ARM v8 systems, with kernel design details of the respective DT and ACPI implementations.

Tuesday 10th

  • 10:10 – 11:00 – UMEQ (User Mode Emulation Quest)

UMEQ (user-mode emulation quest) and has been developed to eliminate the functional deficiencies of qemu in user mode (multi-threaded applications, signal handling, etc). Umeq primarily targets ARM 64-bit. The presentation will focus on the architecture principles of umeq and on its implementation.

  • 11:15 – 12:05 – Solving the year 2038 problem in Linux

The concept of ‘time’ in Linux is encoded in many different ways, but the most common one is based on the ‘time_t’ type that counts the number of seconds that have passed since Jan 1, 1970. This type is currently defined as ‘long’, which on 32-bit systems is a signed 32-bit number that will overflow on Jan 19 2038 and likely cause all systems existing today to stop working.

In our presentation, we give an introduction to range of problems that we see across user space and kernel, and we talk about the work that we are doing to address some of these issues.

  • 12:10 – 13:00 – Browser Testing Framework for LHG

The purpose of this talk is to provide the audience with an introduction to the testing framework used in Web browser performance testing as implemented by LHG (Linaro Home Group). The browser test suite is used to compare browser performance and compliance by using a series of benchmarks in key test categories. Sample browser results for both Android and RDK will be presented.

  • 14:00 – 14:50 – Training 1 – FOSS
  • 15:00 – 15:50 – Training 2 – Upstreaming 101
  • 16:10 – 17:00 – Training 3 – Upstreaming 200

Wednesday 11th

  • 10:10 – 11:00 – Art’s Quick Compiler: An unofficial overview

One of the important technical novelties introduced with the recent release of Android Lollipop is the replacement of Dalvik, the VM which was used to execute the bytecode produced from Java apps, with ART, a new Android Run-Time. One interesting aspect in this upgrade is that the use of Just-In-Time compilation was abandoned in favour of Ahead-Of-Time compilation. This delivers better performance, also leaving a good margin for future improvements. ART was designed to support multiple compilers. The compiler that shipped with Android Lollipop is called the “Quick Compiler”. This is simple, fast, and is derived from Dalvik’s JIT compiler. In 2014 our team at ARM worked in collaboration with Google to extend ART and its Quick Compiler to add support for 64-bit and for the A64 instruction set. These efforts culminated with the recent release of the Nexus 9 tablet, the first 64-bit Android product to hit the market. Despite Google’s intention of replacing the Quick Compiler with the so-called “Optimizing Compiler”, the job for the the Quick Compiler is not yet over. Indeed, the Quick Compiler will remain the only usable compiler in Android Lollipop. Therefore, all competing parties in the Android ecosystem have a huge interest in investigating and improving this component, which will very likely be one of the battlegrounds in the Android benchmark wars of 2015. This talk aims to give an unofficial overview of ART’s Quick compiler. It will first focus on the internal organisation of the compiler, adopting the point of view of a developer who is interested in understanding its limitations and strengths. The talk will then move to exploring the output produced by the compiler, discussing possible strategies for improving the generated code, while keeping in mind that this component may have a limited life-span, and that any long-term work would be better directed towards the Optimizing Compiler.

  • 11:15 – 12:05 – Secure Media using DMA-buf

Secure data path for media streams involve lots of differents software and hardware elements and is very complexe. The goal of this talk is to expose an hardware independent proposition using open-TEE and dmabuf. Feedback from all SoC experts is more than welcome.

  • 12:10 –  13:00 – OP-TEE for Beginners and Porting Review

Explains the building blocks involved in Security including TrustZone, OP-TEE, Trusted Firmware etc. Goes into detail on how Secure Boot Works.. and Why. Explains how a simple secure Trusted Application interacts with OP-TEE and works. Brief overview on how to port OP-TEE to an ARM platform. Opens discussions for Potential Challenges and Hardware limitations and how they can be overcome.

  • 14:00 – 18:00 – Hacking sessions or training (no description provided)

Thursday 12th

  • 10:10 – 11:00 – Chromium Blink on Wayland with HW accelerated video playback using Gstreamer

Linaro and STM implemented an integration layer between Chromium and Wayland/Gstreamer. The solution allows HW accelerated video playback, high performance GPU accelerated HTML5 rendering. The approach uses hole punching mechanism to compose the UI layer on the top of the video content. The Gstreamer Chromium plugin is implemented trough the Pepper API. The presentation will provide implementation details on the Wayland/Chromium/Gstreamer integration.

  • 11:15 – 12:05 – EME implementation in Chromium: Linaro Clear Key

An example of a key system from a Clear Key point of view. Linaro implemented a sample CDM plugin for Chromium capable to exercise the EME implementation of the browser. The presentation gives an insight to the EME/CDM implementation in Chromium and the guidelines to integrating various DRM systems. We will present call flows with example classes, experiences learned, and example of things to watch out for.

  • 12:10 – 13:00 – ARM v8-A NEON optimization

With FFT optimization as an example, the following topics are discussed:

  1. Performance boost using ARM v8-A NEON
  2. NEON-optimization workflow for Ne10
  3. Some tips with example of Ne10 FFT and Android libraries
  4. Performance comparison between assembly and intrinsic
  • 14:00 – 18:00 – Hacking sessions or training (no description provided)

Friday 13th

  •  10:10 – 11:00 – Toolchain Performance Analysis and Investigations

This session will present a workflow of analyzing application or benchmark performance and ways investigate how performance can be increased by improving the toolchain. The session will cover use of profiling tools, reading of compiler optimization dumps, reducing optimization problems using compiler debug counters, and submitting optimization request/bug report to compiler developers

  • 11:15 – 12:05 – Power Management interactions with OP-TEE and Trusted Firmware

Understand what use cases related to Power Management have to interact with Trusted Firmware via Secure calls. Walk through some key use cases like CPU Suspend and explain how PM Linux drivers interacts with Trusted Firmware / PSCI (Power State Coordination Interface).

That’s it for the schedule, I find there are a lot of sessions about security, mainly OP-TEE, so this should become something important.

Linaro 2015 Demos

Beside keynotes, sessions, and training, there will be several demos during the event including:

  • Linaro Clear Key CDM
  • Chromium on Wayland with Gstreamer
  • Linaro Web Browser Test Framework
  • Demo of VLANd
  • l2fwd (See code on github)
  • OVS – x86 – ARM
  • ODP on Cavium platform
  • OpenJDK running on ARMv8 hardware
  • OpenStack running on ARMv8 hardware
  • Android support for clang 3.6 and gcc 5.0
  • Ceph on remote server cluster
  • UEFI on BeagleBone Black

If you want to attend Linaro Connect HK 2015, you can register online for £941.50 (~$1420 US). Live and recorded sessions should also be available for free via Linaro OnAir YouTube account.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Project Ara Modular Phone Update

January 15th, 2015 1 comment

The modular phone concept started with PhoneBloks, whose founders shortly got to work with Motorola Project Ara, and since Google bought parts of Motorola, the concept is now part a Google’s project. Project Ara Developers Conference 2015 has taken place yesterday in California, but if you’ve missed it, another one is planned in Singapore on January 21, and it will also be live-streamed.

Ara Phone MDK 0.2 (Click to Enlarge)

Spiral 2 Hardware  (Click to Enlarge)

We’ve now got a bit more information, a neat video has been uploaded to YouTube showing how a battery, a (broken) display, speakers, and camera modules would slide into the phone, and a pilot project has started in Puerto Rico.

Google has very recently shipped Spiral 2 developer hardware enable prototyping and development of modules for the Ara platform. The kit consists of:

  1. A board with the UniPro Switch in the Ara endoskeleton and multiple modules interfaces with UniPro Bridge ASICs (Tosbiba T6WM8XBG-0001) supporting multiple bridged  and tunneled protocols;
  2. An Application Processor (AP) board with a custom version of Linaro Android
  3. Connectors and cables.

The Module Developers Kit (MDK) is freely available for download and contains Ara MDK v.02 specifications, hardware schematics, PCB layout, and BoM for the main board and some prototype modules, and 3D printing files (STP). There are AP boards for Nvidia Tegra K1 and Marvell PXA1928 processors in the MDK, also with all hardware design files, but I’m not entirely sure which one is provided with Spiral 2 hardware. For now, Project Ara looks mostly looks like an 100% hardware project (and open source), at least from the community perspective, but the company is also developing APIs that will let people create ways for users to customize their devices. Some code is available on github too, but nothing about Android for now, except an empty Wiki.

That’s the video. Looks cool, right?

People living in Puerto Rico will be able to try out Project Ara thanks to a pilot program, scheduled to start in H2 2015, where Google ATAP will start selling modular phone in partnership OpenMobile and Claro carriers, as well as roll out trucks where people will be able to try and buy modular phones, and a few of the 20 to 30 modules available at launch.

Ara_TruckYou can find more details about the pilot program on The Verge.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

3D Graphics Acceleration in Linux on Allwinner A80 based Cubieboard4

January 2nd, 2015 11 comments

Allwinner A80 is a powerful octa-core processor found in development boards and TV boxes such as Cubieboard4 or Tronsmart Draco AW80. Some early Ubuntu images and instructions had already been released for A80 Optimusboard and Draco AW80, but none of these featured GPU drivers for 3D acceleration, which to be honest, has limited advantages in Linux desktop distributions since desktop environments and most apps require full OpenGL support, i.e. not only OpenGL ES, and the only ARM SoC that can provide OpenGL support without external graphics card is Nvidia Tegra K1 SoC. Having said that GPU drivers would pave the way for smooth OpenELEC / Kodi user interface support in Allwinner A80 Linux distributions. That’s only one part of the puzzle, since the GPU normally handles the user interface, while the VPU takes care of video decoding.

Cubieboar4_Linux_GPU_DriversThe good news is that CubieTech release updates images for their Cubieboard4 (CC-A80) development with PowerVR GC6200 GPU support, which you can download on Baidu:

  • linaro-cb4-emmc-vga-v0.3.img.7z is the eMMC flash image with VGA output
  • linaro-cb4-emmc-hdmi-v0.3.img.7z.md5 is the eMMC flash image with HDMI output

The company also provided instructions they followed to create the image, using two files they got from Allwinner rogue_km.tar.gz , and discimage-release-1.4-fix_buffer_ideas_20141216_no_gl.tar.gz, available on Cubieboard server.

The steps below have been completed in an Ubuntu 14.04 computer’s terminal window, and may need some corrections, since I’ve mostly edited them from an email but not tried myself:

  1. Build drivers
    tar -zxpf rogue_km.tar.gz
    cp -rf rogue_km linux-3.4/modules
    cd rogue_km/build/linux/sunxi_linux && make -j4

    The two drivers files dc_drmfbdev.ko and pvrsrvkm.ko can be found in linux-3.4/modules/rogue_km/binary_sunxi_linux_xorg_release/target_armhf directory

  2. Copy drivers to SD card
    You’ll need to download and extract Linaro Ubuntu 14.04 rootfs, and copy the drivers to a bootable sdcard in the rootfs partition

    mkdir -p <path_to_rootfs>/lib/modules/3.4.3/extra
    cp dc_drmfbdev.ko pvrsrvkm.ko <path_to_rootfs>/lib/modules/3.4.39/extra/
    sync 
  3. Copy libraries to rootfs
    sudo tar -zxpf discimage-release-1.4-fix_buffer_ideas_20141216_no_gl.tar.gz
    cd <path_to_rootfs>/usr/local/pvr
    cp -rf etc/ <path_to_rootfs>/
    cp -rfd include share <path_to_rootfs>/usr
    cp -rfd lib/xorg <path_to_rootfs>/usr/lib
    cp -rfd lib/* <path_to_rootfs>/usr/lib/arm-linux-gnueabihf
    cp -rf ssl <path_to_rootfs>/etc
    cp -rf ssl/misc/ <path_to_rootfs>/usr/lib/ssl
    cd discimage/usr/
    cp -rfd lib/* <path_to_rootfs>/usr/lib/arm-linux-gnueabihf
    cp -rf local/bin <path_to_rootfs>/usr/local
    sync
  4. Insert the SD card into Cubieboard4 board, boot, and complete the steps as follows:
    mkdir -pv /usr/local/pvr/lib/dri/
     cd /usr/local/pvr/lib/dri/
    ln -s /usr/lib/arm-linux-gnueabihf/dri/pvr_dri.so
    ln -s /usr/lib/arm-linux-gnueabihcdf/dri/swrast_dri.so
    rm /usr/lib/arm-linux-gnueabihf/mesa-egl -rf
    cd /usr/lib/arm-linux-gnueabihf
    ln -s libGLESv2.so.1.4.3064661 libGLESv2.so.2
    

    Edit  /etc/modules to add the two lines:

    dc_drmfbdev
    pvrsrvkm

    Insert the modules, run depmod, and reboot to complete the installation:

    insmod /lib/modules/3.4.39/extra/dc_drmfbdev.ko
    insmod /lib/modules/3.4.39/extra/
    depmod
    reboot

    Done!

Now you can test 3D graphics acceleration works with glmark2-es2 or es2gears:

sudo apt-get install glmark2-es2
sudo glmark2-es2 

Thanks to Ovidiu for the info.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

TyGL OpenGL ES 2.0 Backend for WebKit Speeds Up Web Rendering by Up to 11 Times

December 23rd, 2014 3 comments

ARM, Szeged University in Hungary, and Samsung Research UK have been working on TyGL, a new backend for WebKit accelerated with OpenGL ES2.0, and developed and tested on ARM Mali-T628 GPU found in Samsung ARM Chromebook. It will typically provide 1.5 to 4.5 times higher performance, but in the best cases, it can achieve up to eleven times the performance of a CPU-only rendered page.

TyGL_ScreenshotThe key features of TyGL include:

  • Web rendering accelerated by GPU - Batching of draw calls delivers better results on GPUs. TyGL groups commands together to avoid frequent state changes while calling the Graphics Context API.
  • Automatic shader generationTyGL generates complex shaders from multiple shader fragments, and ensures the batches fit into the shader cache of the GPU.
  • Trapezoid based path rendering – Work in progress. It will leverage GPU capabilities such as the Pixel Local Storage extension for OpenGL ES.
  • No software fallback – Complete GPU-based hardware accelerated solution with no dependency on legacy software.

You can get more technical details about the implementation on TyGL: Hardware Accelerated Web Rendering blog post on ARM community.

They have now officially published benchmark results, but I found some benchmark results on Webkit mailing list:

Since EFL supports cairo, we compared EFL-TyGL and EFL-Cairo

The other good news is that TyGL is now open source, with the code available on github, and you can build it and give it a try on ARM Mali-T62X development boards such as Arndale Octa or ODROID-XU3 (Lite) running Ubuntu Linaro 14.04, or other Linux based distributions. The complete build is said to last about 10 hours, but this will obviously depend on your machine. TyGL should also work on other mobile GPU supporting OpenGL ES 2.0, but I understand this has not been tested yet.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 14.12 Release with Linux 3.18 and Android 5.0

December 19th, 2014 No comments

Linaro usually releases images and source code on the last Thursday of the month, but since most people will have long holidays for Chritsmas and New Year, the last working Thrusday of this month was yesterday (18th). Linaro 14.12 release includes Linux kernel 3.18 (baseline), Linux 3.10.62 & 3.14.26 (LSK, same versions as last month), and Android 5.0.1 Lollipop.

Here are the highlights of this release:

  • Linux Linaro 3.18-2014.12
    • Based on v3.18 release
    • GATOR topic: version 5.20
    • updated topic from Qualcomm LT (includes IFC6410 board support)
    • updated integration-linaro-vexpress64 topic by ARM LT (FVP Base and Foundation models, and Juno support)
    • updated LLVM topic (uses the community llvmlinux-latest branch)
    • included ILP32 patch set v3  rebased on 3.18. Boot tested with aarch64 userland. Work is in progress to test with aarch64-ilp32 userland.
    • config fragments updated – SELinux related config options enabled in linaro-base.conf, device tree runtime self tests enabled in distribution.conf
  • Linaro builds of AOSP 14.12
    • built with AOSP toolchain
    • All the Android builds have been updated to 5.0.1
    • Audio on Versatile Express TC2 is fixed (Android 5.0.1)
    • DNS issue fixed on Juno, FVP models and Versatile Express TC2 (Android 5.0.1)
    • daily CI updated to include benchmarks for Versatile Express TC2 and Juno
  • Linaro OpenEmbedded 2014.12
    • integrated Linaro GCC 4.9-2014.11 and Linaro binutils 2.24-2014.11
    • switched from eglibc to Linaro glibc 2.20-2014.11
    • improved external toolchain support
    • improved ACPI tooling
    • added python-numpy to images for LAVA tests
    • upstreaming:
  • Linaro Ubuntu 14.12 – updated packages: juno-pre-boot, LSK 3.10.62/3.14.26 and linux-linaro 3.18 kernels
  • CI loop for testing the pre-built Linaro toolchain using the OpenEmbedded external toolchain support has been reactivated
  • ARMv8 Ubuntu engineering build for Enterprise is available
  • CI bring up: HiSilicon Hi3716cv200
  • CI bring up: EAS (Energy Aware Scheduling) development – integration branch testing
  • Publish OpenSDK images on snapshots.linaro.org
  • Ship board recovery image into hwpack for Juno

You can visit https://wiki.linaro.org/Cycles/1412/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 14.11 Release with Kernel 3.18, Android 5.0, & Ubuntu Utopic. Debian 8.0 Gets ARM64 Port

November 28th, 2014 3 comments

Linaro 14.11 has been released with Linux kernel 3.18-rc5 (baseline), Linux 3.10.61 & 3.14.25 (LSK, same versions as last month), and Android 4.4.2, 4.4.4, and for the first time Android 5.0 Lollipop. There’s also been some news with regards to Linux desktop distributions, as Ubuntu baseline has been upgraded to Utopic (14.10), and Debian 8.0 (Jessie) will officially support ARM64 with 93% of packages built as of November 5th. Android Lollipop images are said to be built for TC2, Juno, Nexus 7, Nexus 10, and FVP models, but I could not find the images. Finally, it’s the first time I’ve noticed Hisilicon X5HD2 development board with a dual core Cortex A9 processor, but apparently it’s the same as Hi3716cv200.

Here are the highlights of this release:

  • Linux Linaro 3.18-rc5-2014.11
    • updated GATOR to version 5.20
    • updated topic from Qualcomm LT (include IFC6410 board support)
    • updated integration-linaro-vexpress64 topic by ARM LT (FVP Base and Foundation models, and Juno support)
    • updated integration-hilt-linux-linaro topic by HiSilicon LT (Hi36xx, HiP04, and X5HD2 families support)
    • updated LLVM topic (uses the community llvmlinux-latest branch) includes ILP32 patch set v3 rebased on 3.18-rc5. Build tested only.
  • Linaro builds of AOSP 14.11
    • built with Linaro GCC 4.9-2014.11
    • migrated to Android 5.0 (Lollipop) for all the targets on all CI loops. Here are the combinations: TC2-LSK-3.10, TC2-LSK-3.14, Juno-LSK, Nexus 7, Nexus 10, FVP-LSK-3.10 and FVP-LSK-3.14.
    • updated LSK pre-merge CI for 3.10 and 3.14
    • revamped to use overlay manifest with local_manifests
    • added AOSP master builds setup for Versatile Express TC2, Juno, Nexus 7 and Nexus 10
  • Linaro OpenEmbedded 2014.11
    • integrated Linaro GCC 4.9-2014.11
    • included perf tools in the rootfs
    • fixed gator FTBS
    • updated strace aarch64_be patch
    • fixed external toolchain support
    • upstreaming:
      • updated LTP to 20140828 release
      • updated PM QA to 0.4.14 release
      • updated ACPICA to 20140828 release
  • Linaro Ubuntu 14.11
    • Ubuntu baseline migrated from Trusty to Utopic
    • updated packages: Juno firmware 0.9.2, LSK 3.10.60/3.14.24 and linux-linaro 3.18-rc5 kernels
  • Debian release team announced ARM64 architecture has made enough progress to be a released architecture for Debian 8.0 (Jessie)
  • SELinux support is enabled in linux-linaro kernel
  • Test usage of Linaro toolchain binary to build OE rootfs has been added
  • CI bring up: coresight enabled build for TC2

You can visit https://wiki.linaro.org/Cycles/1411/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter