Category: Embedded Technology

  • Media pipelines are important to virtually any modern device that displays video or audio. It’s important these pipelines are optimized in order to provide responsive video and audio playback on devices that might have tightly constrained hardware resources like smartphones, smartwatches, and IoT devices. During the GStreamer summer hackfest in Montpellier, France one of our areas of focus was on improving how GStreamer performs caps negotiation. Brief review of caps negotiation Before data can flow on a GStreamer pipeline, elements must agree on the data format they will use. The process of selecting those formats is called Caps Negotiation and it uses three different types of interactions: caps queries, accept-caps queries and caps events. The Caps Query is used to ask elements what formats they can receive or produce, and it is recursive in that one element also queries others to avoid exposing formats that wouldn’t be accepted further ahead in the […]

    Read More
  • Tizen+RPI2 got smart

    July 28, 2015 - Mauro Carvalho Chehab

    RPi2: Getting Smart on Tizen

    Once you’ve got Tizen running on your Raspberry PI 2 (RPi2) using the procedures described in Tizen on RPi2: Now Supporting 3D Acceleration, you will probably want to be able to dynamically add/remove packages. It’s a pain to be required to rebuild and flash your OS every time you want to change the included software, so following this tutorial will help make this much easier. This small tutorial shows how to install the smart tool that is shipped on Tizen, but is not installed by default. 1) Add Smart to the RPi2 Image The first step is to add the Smart Package Manager (python-smartpm) to the RPi2 Tizen image. This is the same package manager used on Yocto, and Tizen has its own patches for it. In order to install it, you should apply the following simple patch on your Tizen repository:

    If you are unfamiliar with the patching […]

    Read More
  • Tizen+RPI2

    July 14, 2015 - Mauro Carvalho Chehab

    Tizen on RPi2: Now Supporting 3D Acceleration

    In Bringing Tizen to a Raspberry PI 2 Near You… I described the work we completed to port Tizen to Raspberry Pi 2 (RPi2). Since then, the Samsung Open Source Group has worked hard to add support for 3D acceleration. UPDATES: Added the -dev images, as they’re now supported. Added bitbake command for building the crosswalk-dev image Added command line for ddrescue The Kernel was updated to Vanilla Tizen Kernel 4.4 This is an update to our original guide that describes how to build a custom Tizen image for the RPi2, and it now includes instructions to enable 3D acceleration. This is based mostly on work completed by our own Derek Foreman. Please note that this uses a driver that is still under development (VC4), written by Eric Anholt from Broadcom, so we don’t recommend its use in production situations. If you don’t want to wait through the build process […]

    Read More
  • There are many companies shipping products based on ARMv8 today, including AMD, Samsung, NVIDIA, Cavium, Apple, Broadcom, Qualcomm, Huawei, and others.  What makes ARM unique is the differentiation between vendors; while a majority of features are based on the ARM reference processor and bus architectures, additional custom features may be introduced or reference features may be omitted at the vendor’s discretion. This results in various profiles that are tailored to specific products, making it extremely difficult for another architecture to compete against such a wide selection of choices. As ARMv8 matures, it’s moving out of mobile and embedded devices into Industrial IoT (Internet of Things), network routers, wireless infrastructure, and eventually, the cloud. For those of you not familiar with KVM, it stands for Kernel Virtual Machine. It’s a Linux Kernel hypervisor module. KVM is the primary open-source-based hypervisor, and is the default for Openstack, a popular cloud computing software […]

    Read More
  • Part 1 of this series can be read here. Supporting embedded Digital TV (DTV) hardware is complex, considering that such hardware generally has multiple components that can each be rewired during runtime to dynamically change the stream pipelines and provide flexibility for activities like recording a video stream while tuning into another channel to watch a different program. The first article of this series described how the Digital Video Broadcasting (DVB) pipelines are setup and the needs that should be addressed by the Linux Kernel. In this article, I’ll  discuss the needs of the DVB API with a focus on the network interfaces that are part of any DTV device. An Introduction to Digital TV Network Interfaces Typical DTV devices have dedicated hardware that provides the network interfaces. If you would like to learn more about such hardware, check out the first post in this series, specifically Figure 6 and […]

    Read More
  • May 13, 2015 - Mike Blumenkrantz and Lars Bergstrom

    Servo: The Embeddable Browser Engine

    Embedding, in the context of this article, is the process of hosting a web rendering engine inside another application. This engine displays content exactly as a regular web browser would, but allows the application author to customize the user’s experience further than what is possible in the typical display of a normal website. Development time can be reduced by keeping part of the content of an application in web-related languages due to the relative ease of writing web content and the widespread knowledge of HTML5. The technique of embedding web content is used in many places by many companies, including: Popular Linux applications such as Rhythmbox, Kate, Eclipse, and Evolution have support for embedding web content. Microsoft Entourage and Apple Mail for Mac OS both utilize embedding for displaying web content and parts of the UI. Adobe products, including their constantly-running updater, embed full web runtimes. Valve’s Steam client also […]

    Read More
  • Open Source Weekly Wrap Up: May 2 – 8, 2015 Enlightenment Foundation Libraries 1.14 Released After three months of development, Enlightenment Foundation Libaries (EFL) 1.14 has been released. EFL is a set of free and open source graphics libraries that are used to construct user interfaces for a variety of products, including TV’s, mobile devices, wearable electronics, and desktop systems. In 12 weeks the project had over 1200 commits from 77 authors – nearly double the number from the previous release. This release includes numerous bug fixes, code optimization for better speed with a smaller memory footprint, as well as new features for many of the components including Elementary, Evas, and Emotion. We’ll feature a more detailed post on this development next week. Read More at the EFL Official Announcement Open Source Helps Rebuild Nepal’s Historic Sites The 7.9 magnitude earthquake last week in Nepal has put many of the […]

    Read More
  • Tizen+RPI2

    April 18, 2015 - Mauro Carvalho Chehab

    Bringing Tizen to a Raspberry PI 2 Near You…

    The Raspberry Pi is the most popular single-board computer with more than 5 million sold. While there are numerous Linux Distributions that run on RPI including Raspbian, Pidora, Ubuntu, OSMC, and OpenElec, the Tizen OS does not currently run on it. Since Tizen is being positioned as an important player within the growing Internet of Things (IoT) ecosystem, providing a Raspberry PI 2 port can help developers gain more Tizen experience. For this reason, the Samsung Open Source group decided to work on such port. This article will go over how to build a bootable Tizen image for Raspberry Pi from a computer running Linux. The Raspberry Pi 2 has several advantages over the first version. Among them: It has a quad-core CPU It runs at 900 MHz It uses an ARM Cortex-A7 CPU The ARM Cortex-A7 CPU is very nice since most distributions are compiled to use the arm […]

    Read More