Tag / Linux

  • October 5, 2017 - Mike Blumenkrantz

    How to Create an EFL Gadget Sandbox

    The new gadget API and infrastructure for Enlightenment continue to undergo heavy development. In addition to improving and extending the base gadget UI, work has recently begun on creating a gadget provider with the new API to provide sandboxing and allow gadgets to be written as regular applications that don’t have or require access to compositor internals. The primary enabler of the new sandboxing system is the efl-wl compositor widget. This allows the compositor to launch applications in isolation, and also provides the ability to add protocol extensions for only that specific instance of the compositor widget. Using these features, it becomes possible to add gadget-specific protocols and utilities on the compositor side that are passed through transparently to the client gadget application. Currently, there is one base protocol in use: the e-gadget protocol, which looks like this:

    The purpose of this is to mimic the gadget API. Applications […]

    Read More
  • February 22, 2017 - Javier Martinez Canillas

    Samsung OSG Contributions to Linux Kernel 4.10

    Linux 4.10 was released on February 17; for this release, 6 engineers from the US and UK branches of the Samsung Open Source Group (OSG) contributed 341 patches that modified 44,709 lines of code. Again, most of the changes comes from Mauro Carvalho Chehab’s work to improve the Linux kernel documentation and fixing bugs all over the media tree. The following is a list of the OSG engineers that contributed to this release and the number of changesets and lines of code, as reported by Jonathan Corbet and Greg Kroah-Hartman’s gitdm tool. OSG developers by changesets Mauro Carvalho Chehab 231 67.7% Javier Martinez Canillas 77 22.6% Stefan Schmidt 11 3.2% Shuah Khan 11 3.2% Luis de Bethencourt 10 2.9% Derek Foreman 1 0.3% OSG developers by changed lines Mauro Carvalho Chehab 44,120 98.7% Luis de Bethencourt 162 0.4% Javier Martinez Canillas 156 0.3% Stefan Schmidt 145 0.3% Shuah Khan 92 0.2% Derek […]

    Read More
  • December 15, 2016 - Javier Martinez Canillas

    Samsung OSG Contributions to Linux Kernel 4.9

    Linux 4.9 was released on December 11, making this release the biggest to date in number of changes. In this development cycle, the Samsung Open Source Group (OSG) contributed 394 patches that modified 15,856 lines of code. Although 4 engineers contributed to different Kernel subsystems, most of the changes comes again from Mauro Carvalho Chehab’s work to improve the Linux kernel documentation. The following is a list of the OSG engineers that contributed to this release and the number of changesets and lines of code, as reported by Jonathan Corbet and Greg Kroah-Hartman’s gitdm tool. OSG developers by changesets Mauro Carvalho Chehab 238 60.4% Javier Martinez Canillas 108 27.4% Shuah Khan 24 6.1% Luis de Bethencourt 24 6.1% OSG developers by changed lines Mauro Carvalho Chehab 14,747 93.0% Javier Martinez Canillas 518 3.3% Shuah Khan 314 2.0% Luis de Bethencourt 277 1.7% OSG Contributions to This Release On this release, […]

    Read More
  • November 4, 2016 - Chris Michael

    Ecore_Wl2: An EFL Library for Wayland Applications

    Throughout the years of developing Wayland support for EFL, few EFL libraries have had as much impact on EFL Wayland applications as the Ecore_Wayland library has. This library was one of the first to make it possible to truly run EFL applications in a Wayland environment. As the years progressed, it became apparent that Ecore_Wayland had some shortcomings; this blog post will introduce you to the replacement for Ecore_Wayland, called Ecore_Wl2. Ecore_Wayland’s Shortcomings While testing our first Wayland implementation, it became apparent that the initial implementation of the Ecore_Wayland library had some drawbacks. Publicly exposed structures could not be changed easily without breaking existing applications, and any changes to existing Wayland protocols would require significant changes to our Ecore_Wayland library. It was also discovered that when an EFL Wayland application creates a new window, the backend library also creates an entirely new display and connection to the Wayland server. This […]

    Read More
  • October 28, 2016 - Mauro Carvalho Chehab

    Improving Linux Kernel Development Process Documentation

    This article will cover how the Linux kernel community handled the conversion of documentation related to the kernel development process; it’s part of a series on improvements being made to Linux kernel documentation. Introduction It’s not an easy task to properly describe the Linux development process. The kernel community moves at a very fast pace and produces about 6 versions per year. Thousands of people, distributed worldwide, contribute to this collective work; the development process is a live being that constantly adjusts to what best fits the people involved in the process. Additionally, since kernel development is managed per subsystems, each maintainer has their own criteria for what works best for the subsystem they take care of. To address this, the documentation provides a common ground for understanding the best practices all kernel developers should follow. The Documentation/Development-Process Book There are several files inside the kernel that describes the development […]

    Read More
  • October 26, 2016 - Chris Michael

    Ecore_Drm2: How to Use Atomic Modesetting

    In a previous article, I briefly discussed how the Ecore_Drm2 library came into being. This article will expand on that article and provide a brief introduction to the Atomic Modesetting and Nuclear Pageflip features inside the new Ecore_Drm2 library. What Makes Atomic Modesetting and Nuclear Pageflip so Great? For those that are unaware of what “modesetting” is, you may read more about it here. Atomic Modesetting is a feature that allows for output modes (resolutions, refresh rate, etc) to be tested in advance on a single screen or on multiple outputs. A benefit of this feature is that the given mode may be tested prior to being applied. If the test of a given output mode fails, the screen image doesn’t need to be changed to confirm a given mode works or not, thus reducing screen flickering. Atomic/Nuclear Pageflipping allows for a given scanout framebuffer object and/or one or more hardware […]

    Read More
  • This article is a part of a series that covers improvements that are being made to the Linux Kernel documentation; this article will begin to explain how we handled the conversion of the Linux Media subsystem documentation. The Linux Media Subsystem The Linux Media subsystem is actually a set of subsystems; each subsystem has its own particularities: Video4Linux –  API and core provide functions for video stream capture and output. It also provides support for video codecs, analog TV, AM/FM radio receivers and transmitters and for software digital radio (SDR) receivers and transmitters. Linux DVB – provides support for digital TV. Despite its name, it supports worldwide standards, including DVB, ATSC, ISDB, and CDDB, as well remote controllers and infra-red devices. Media Controller – provides pipeline control and reconfiguration inside the hardware. HDMI CEC – provides support for the HDMI Consumers Electronic Control (CEC): a system to pass remote controller […]

    Read More
  • This article is the first in a series on improvements to Linux Kernel documentation. The Linux Kernel has one of the biggest communities in the open source world; the numbers are impressive: over 4,000 contributors per year, resulting in about 8 changes per hour. That results in 4,600 lines of code added every day and a major release every 9-10 weeks. With these impressive numbers, it’s impossible for a traditional printed book to follow the changes because by the time the book is finally written, reviewed and published, a lot of changes have already merged upstream. So, the best way to maintain updated documentation is to keep it close to the source code. This way, when some changes happen, the developer that wrote such changes can also update the corresponding documents. That works great in theory, but it is not as effective as one might think. The Old Methods of […]

    Read More
  • September 1, 2016 - Javier Martinez Canillas

    Video Decoding with the Exynos Multi-Format Codec & GStreamer

    Exynos SoCs have an IP block known as the Multi-Format Codec (MFC) that allows them to do hardware accelerated video encoding/decoding, and the mainline kernel has a s5p-mfc Video for Linux2 (V4L2) driver that supports the MFC. The s5p-mfc driver is a Memory-to-Memory (M2M) V4L2 driver, it’s called M2M because the kernel moves video buffers from an output queue to a capture queue. The user-space enqueues buffers into the output queue, then the kernel passes these buffers to the MFC where they are converted and put it in the capture queue so the user-space can dequeue them. The GStreamer (gst) multimedia framework supports V4L2 M2M devices, but only for decoders the v4l2videodec element supports. Randy Li is working to also support M2M encoders in GStreamer (v4l2videoenc), but this hasn’t landed in upstream GStreamer yet. This post will explain how to use GStreamer and the Linux mainline kernel to do hardware […]

    Read More
  • August 1, 2016 - Javier Martinez Canillas

    Samsung OSG Contributions to Linux Kernel 4.7

    Linux 4.7 was released on July 27, 2016; in this release, 5 engineers from the Samsung Open Source Group (OSG) contributed 81 patches that modified 585 lines of code in different Kernel subsystems. The following list is all of the OSG engineers that contributed to this release and the number of changesets and lines of code as reported by Jonathan Corbet and Greg Kroah-Hartman’s gitdm tool. OSG developers by changesets Javier Martinez Canillas 40 49.4% Mauro Carvalho Chehab 19 23.5% Luis de Bethencourt 15 18.5% Stefan Schmidt 4 4.9% Shuah Khan 3 3.7% OSG developers by changed lines Mauro Carvalho Chehab 242 41.4% Javier Martinez Canillas 181 30.9% Stefan Schmidt 90 15.4% Luis de Bethencourt 62 10.6% Shuah Khan 10 1.7% OSG Contributions to This Release For this release, Mauro contributed some fixes for the Media Controller Framework (MC) next generation, including a bug with the media device locking scheme […]

    Read More