• bugs

    August 26, 2016 - Tom Hacohen

    Hunting Down Dirty Memory Pages

    I recently had to debug a complex issue with memory page usage in EFL; you will likely never encounter this issue because it’s only relevant for shared libraries developers, and even then, not always. However, I think I think it is beneficial for everyone to be familiar with how things work at a lower level, so I decided to write this post. A few weeks ago I got a report about an increase in private dirty pages from our libraries that essentially caused increased memory consumption for every application linking to EFL. The main culprit was the object system (Eo), which I maintain, so I decided to take a look. For my first step I performed a manual review which led me to a mistake in related code that I eventually fixed. My fix improved the situation a bit, but the dirty page issue was mostly unchanged, so I investigated […]

    Read More
  • Enlightenment Logo

    August 23, 2016 - Mike Blumenkrantz

    How Enlightenment Gadgets Handle Sizing

    This tutorial is part three of a series on Enlightenment Gadgets; part 1 can be read here, and part 2 can be read here. This tutorial will provide further detail about aspects of Enlightenment’s new gadget system. Specifically, it will explore how sizing works in different contexts and how simple sizing policies can be leveraged to provide the best view of a gadget. Let’s start with the basics: what is sizing and why does it matter? Gadgets work a bit different than typical application widgets where one would simply pack them into a layout or use WEIGHT and ALIGN hints to fill portions of available regions. A gadget site uses an automatic sizing algorithm to fit itself into its given location. This ensures that gadgets are always the size the user has specified while also maintaining the best sizes for the gadgets so they will look the way the author […]

    Read More
  • Enlightenment Logo

    August 18, 2016 - Mike Blumenkrantz

    An Introduction to Enlightenment Gadget Orientation

    This article is part two in a series on the Enlightenment gadget system; part one can be read here. This tutorial will discuss gadget orientations. Orientation is a core concept that’s vital to understanding how a gadget will be displayed to the user, and it can improve the look of gadgets while also simplifying various parts of the code. In this context, orientation can be thought of as hints the gadget owner provides to the gadget that can be used to provide a more specific view of the gadget, based on it’s location. There are two components to orientation within the gadget system: the orientation enum and the anchor enum. Here is the orientation enum:

    This indicates the axis on which gadgets are positioned. In a horizontal taskbar-style layout E_GADGET_SITE_ORIENT_HORIZONTAL is used, whereas E_GADGET_SITE_ORIENT_VERTICAL would indicate a vertical layout similar to the bar style in Ubuntu’s Unity environment. E_GADGET_SITE_ORIENT_NONE […]

    Read More
  • tizen-artik10-20160801rzr

    August 15, 2016 - Phil Coval

    An Introduction to Tizen Development on ARTIK

    This article is a direct follow up of my previous post about booting Tizen on the ARTIK10. Before starting, you should bookmark this wiki page as an entry point for Tizen on ARTIK devices. At the 2015 Tizen Developer Conference, I had the opportunity to present a tutorial about Tizen platform development; it’s still valid today. This article is very similar but is adapted for ARTIK10 and ARTIK5 configuration. For some context, check out to the following slide deck along with the recorded video on how to patch Tizen and build with GBS for x86a as well as this page about Tizen:Common on VMware. tdc2015-strategy-devel-20150916 from Phil C Tools Setup If you’re familiar with Tizen you probably know about Git Build System (GBS): a very convenient tool to build packages. It’s adapted from Debian’s git-build-package to support zypper repos. First, gbs and some other Tizen tools need to be installed […]

    Read More
  • Open source communities can be vast, have an extremely fast rate of development, and have numerous companies and individuals who influence the project’s direction. Because of this diversity and speed it can be very easy for a company’s contributions to be lost in the shuffle, and it’s vital for any company that wants to contribute significant code upstream to establish themselves within the community. We’ve worked hard to establish a strong open source engineering team here at Samsung, and we’ve learned a lot about what it takes to be successful at this along the way. Without further ado, here are 10 tips to help you improve your company’s success at contributing code to the an open source community. Hire key developers and maintainers from the community. This is a critical step that allows you to gain skills and expertise. Two or three people from any given project are enough to […]

    Read More
  • artik10-sdcard-boot

    August 3, 2016 - Phil Coval

    How to Boot Tizen on ARTIK

    The fact that Tizen can be run on ARTIK is not the latest breaking news, considering it was previously demonstrated live at the 2015 Tizen Conference. There, the ARTIK project was also explained as an IoT platform of choice. Since then, ARTIK has become a new Tizen reference device, so here are a couple of hints that will help you test upcoming Tizen release on this hardware. First let me point out that Tizen’s wiki has a special ARTIK category, where you’ll find ongoing documentation efforts, you’ll want to bookmark this page. In this article, I will provide a deeper explanation of how to use the bleeding edge version of Tizen:3.0:Common on ARTIK10, and how to start working on this platform. As explained in my previous Yocto/meta-artik article, I suggest you avoid using the eMMC for development purposes; for this article I will boot the ARTIK from an SDcard. In […]

    Read More
  • LinuxFTW

    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
  • I have recently moved to a new flat and I love it, though unfortunately not all is perfect. One might expect central London (literally 500m away from the actual geographical centre) to have the best internet connection London has to offer. Well, one would be wrong; I am no longer able to get anything better than lousy ADSL2+, and this amazing offering comes with a high price, a long contract, and a month’s wait for the installation. This has led me to choose a 4G internet provider; the connection is usually better than what I would have expected to get with any of the landline providers, is much cheaper, and I had it up and running less than 24hrs after I joined. However, there is a problem with this: the 4G provider uses a carrier-grade NAT, that made impossible to access my home server from outside my home network. Luckily, […]

    Read More
  • Enlightenment Logo

    July 11, 2016 - Mike Blumenkrantz

    How to Create Enlightenment Gadgets

    Creating desktop widgets, aka “gadgets,” has never been easier for Enlightenment enthusiasts than it is after the E21 release. The new E_Gadget system provides an updated API for integrating objects into the compositor, removing most of the overhead from the E_Gadcon system. This makes writing gadgets nearly identical to ordinary application writing. This post will serve as an introduction on the topic of writing gadgets with a focus on the basics; it will use the Start gadget as a reference. How to Create a Gadget The first step to integrating a new gadget is to add the new gadget type to the subsystem so the user can access it. This is done with the following function:

    This function coincides with related callbacks:

    Using e_gadget_type_add, a developer can implement gadgets of type, calling callback to create the gadget object, and optionally providing wizard callback to run configuration options for […]

    Read More
  • Wayland

    July 6, 2016 - Bryce Harrington

    Wayland’s Upcoming Idle Behavior Inhibition

    The Inhibited Wayland Desktop – Part 2 This article is part two of a two part series on screen inhibition in Wayland. Part 1 can be read here. In the first part of this blog series, I drilled into how screensaving, screen power management, and locking are designed to work in the Wayland protocol and how Weston implements the functionality. Now it’s time to take a look at the newly-proposed idle behavior inhibition. Idle inhibition enables client applications to disable the idle behavior from being triggered while the application is running. For compositors that support this protocol extension, clients can make an API call to create an ‘inhibitor object’ associated with one of their surfaces. The inhibition request lasts for this object’s lifetime, so if the client exits, crashes, deletes the inhibit object or the surface, or otherwise becomes invalid, the screensaver will be restored to its normal state. The […]

    Read More
1 2 3 15