• 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 26, 2015 - Derek Foreman

    When is a Keyboard Not a Keyboard?

    Much of my day-to-day work revolves around Wayland and Weston. Wayland is a protocol for communication between display servers and their clients, and Weston is a reference implementation of a Wayland display server. Simplistically (and I really can’t stress enough that this is an oversimplification), Wayland is similar to the X protocol and Weston is much like a combination of an X server and a window manager. Lately I’ve been working on Weston’s text input implementation – specifically how Weston deals with on-screen keyboards. Currently, applications directly control whether the virtual keyboard should be displayed or hidden, and I’ve been adding a way for applications to request that Weston auto-hide the virtual keyboard based on whether or not a real keyboard is present. Keyboards, Keyboards Everywhere… Wayland’s input model is based on the concept of a “seat,”  a collection of input devices that would be present in front of a single user’s seat at an office. […]

    Read More
  • May 22, 2015 - Samsung Open Source Group

    Rust Makes Its Official Debut, Looking Towards 2038, and More

    Open Source Wrap Up: May 16 – 22, 2015 Rust 1.0 is Released Rust is a programming language that combines low-level performance control with high-level convenience and safety guarantees.  It’s designed to serve as a “drop-in” replacement for C. The language should appeal to both experienced systems programmers and newcomers alike. The release of version 1.0 marks the community’s commitment to providing a stable language, and the project will adopt a 6-week release cycle moving forward. Read more at the Rust blog. German States Pilot Open Source Patient Portal Three German states, in partnership with the Rhine-Neckar metropolitan area, have launched a pilot program for a new open source medical patient portal that allows patients to control what information is shared with health professionals. The software combines the Liferay open source portal with the open source eHealth integration platform IPF: an extension of the Apache Camel enterprise integration engine. 25 […]

    Read More
  • May 20, 2015 - Shuah Khan

    How Can IOMMU Event Tracing Help You?

    Input/Output Memory Management Unit (IOMMU) event tracing can be extremely beneficial when debugging IOMMU hardware, BIOS, and firmware problems. In addition, IOMMU event tracing can be used to debug  Linux kernel IOMMU driver, device assignment, and performance problems related to device assignment in virtualized and non-virtualized environments. If you aren’t familiar with IOMMU Event Tracing, the first article in this series covered the fundamental concepts behind it, in addition to how tracing can be used to track information about devices as they are moved between guest and host environments. This article will focus on how to use IOMMU event tracing effectively, and will provide a few examples of IOMMU event tracing in action. How to Enable IOMMU Event Tracing at Boot-Time IOMMU trace events can be enabled using the Kernel boot option trace_event. The following enables all IOMMU trace events at boot-time:

    The following enables map and unmap events at […]

    Read More
  • May 18, 2015 - Ben Lloyd Pearson

    Get Started With Tizen Development On Linux Mint 17

    Tizen is a great platform to develop apps for if you are someone who comes from a web development background. The ability to write apps for wearable devices and smartphones using nothing more than HTML/CSS and JavaScript makes building simple applications a breeze. Tizen extends the functionality of these languages by giving them access to all of the sensors found in many wearable devices and smartphones, which allows developers to build unique apps using simple languages. This guide is tested on Linux Mint 17, and most of it should also work for Ubuntu. Note: Any red text in this guide might be different based on your own configurations or the software versions you download. Prerequisites You will need to download two things before you start. The installer for the latest version of the Tizen SDK for Ubuntu (2.3 at the time of this article) The latest version of the Oracle […]

    Read More
  • Open Source Weekly Wrap Up: May 9 -15 2015 2015 Future of Open Source Study For the last 15 years, North Bridge and Black Duck Software have joined efforts every year to conduct a survey about the use of open source in modern business. A record 1,300 people responded to the survey this year, up from 822 in 2013. Respondents included software engineers, CIOs, CEOs, educators, analysts, and more. There is little that has changed in open source trends, and this survey demonstrates the continued pervasive expansion of open source. Here are some notable findings from this year’s survey: Enterprise Use/Participation 78% of companies run on open source, and less than 3% don’t use FOSS at all. 64% of respondents said their company currently participates in open source projects, up 14% YOY. 88% expect their companies to increase open source contributions, up from 56% last year. 66% consider OSS to […]

    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
  • After three month of pleasure and pain, version 1.14 of the Enlightenment Foundation Libraries has finally been released. This is the sixth release I’ve managed as well as the sixth release to follow our time based release schedule. How We Got Here We aim for two months of development and one month of final stabilization. This can get problematic if we find problems late in the process, so we allow for some leeway here regarding the final release. We try to keep the delay within a week, and for 1.14 we have been two days late while chasing some of the bugs we considered to be show stoppers. Setting such a short release cycle helps our users get quicker access to the newest features and fixes, and after 18 months of following this schedule, we seem to have found a good balance. To be successful with such a rapid release […]

    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
  • Supporting embedded Digital TV hardware is complex, considering that such hardware generally has multiple components that can be rewired in runtime to dynamically change the stream pipelines and provide flexibility for things like recording a video stream, then tuning into another channel to see a different program. This article describes how the DVB pipelines are setup and the needs that should be addressed by the Linux Kernel. This introduction will lead into the next article in this series, which will describe how the media subsystem is being improved to support such needs. Digital TV devices A Digital TV device consists of a set of hardware blocks. The basic components are: Tuner – Tunes into a physical frequency (tuner), and outputs the channel on an Intermediate Frequency (IF). Demodulator (a. k. a. demod) – Gets an IF, decodes the sub-carrier(s) content, and outputs the resulting MPEG-TS stream. It is specific for […]

    Read More