For a fair amount of time now there’s been work on client side decorations for Wayland so that the Weston compositor with GTK+ can do the window decorations on the client-side rather than server-side as done with the X.Org Server. That work has now been merged to master…
Distribution Release: Manjaro Linux 0.8.4 “Openbox-Lite”
Carl Duff has announced the release of Manjaro Linux 0.8.4 “Openbox-Lite” edition, a lightweight and minimalist distribution based on Arch Linux: “New Openbox-Lite flavour has been released. Only the hardcore need apply to this latest Manjaro flavour, which provides a minimalist yet highly configurable Openbox base for more….
Linux 3.9-rc3 Kernel Brings More Changes
Linus Torvalds put out the Linux 3.9-rc3 kernel on Sunday afternoon…
Book Helps Windows Embedded Developers Transition to Linux
Annabooks, a long-time provider of Windows Embedded training and books, has just published a book on using UEFI, Yocto, and other open software to embed Linux on Atom-based devices. In this guest post, the book’s co-author introduces the book and explains why he and Annabooks decided to venture into the alien Land of Linux. A […]
Valve Reveals More Steam Linux Distribution Details
Valve’s hardware/software survey for Steam that shows details about their user-base, is now showing a lot more Linux distribution details…
ESC to Feature Dozens of Embedded Linux/Android Sessions
Next month’s Embedded Systems Conference (ESC) to be held April 22-25 in San Jose, Calif. will offer embedded developers a sumptuous menu of embedded Linux, Android, and open source session topics. ESC, which celebrates its 25th anniversary this year, is now part of UBM’s big Design West show. UBM describes Design West as “the world’s […]
Developer Releases Source Code of Linux Speech Recognition Program
James McClain has developed a program which uses Google Voice API in the back-end to conduct various tasks on a GNU/Linux machine, just the way Siri does on the iDevices.
Jaguar Land Rover Seeks Automotive Leadership With Linux
The automotive industry is undergoing a major technological shift and Jaguar Land Rover is at the forefront.
The UK-based JLR has embraced Linux as the operating system underlying its next generation In-Vehicle
Infotainment (IVI) systems. The company has also taken a leadership role in advocating for open source
development within the automotive industry.
We talked briefly via email with Matt Jones, a Senior Technical Specialist for infotainment systems at
Jaguar Land Rover and the Vice President of the non-profit GENIVI
Alliance, an automotive industry effort to drive adoption of an IVI open-source development
platform. In his keynote at The Linux Foundation’s Collaboration Summit in San
Francisco, April 15-17, Matt will share Jaguar Land Rover’s experience moving to Linux-based IVI and the
future of the technology.
How is Jaguar Land Rover involved with Linux? Jaguar Land Rover uses Linux in a range of systems; but importantly has a GENIVI-compliant, Linux-based infotainment
system in development.
The most important aspects of a Linux based IVI system are that it meets all of the expectations of the customer.
This includes all of the power management, data storage and persistence, start-up timing and other automotive
requirements. At this time these are implemented by each provider, or covered by the GENIVI stack, and are not yet
in a truly open Linux distribution.
The challenges are still being discovered. It’s critical that the community works together to find appropriate
solutions for automotive. There are different communities working together with similar objectives. The challenge is
to unite and run in a single direction, in the open source.
significantly different IVI future.
Matt Jones is the Technical Lead for the next generation of infotainment systems at Jaguar Land Rover and
the Vice President of the GENIVI Alliance; leading the push for open infotainment standards and leading edge
features being deployed rapidly to the customer.
Matt began his career in professional audio, before joining the automotive sector with Jaguar Land Rover
in 2002. He led the deployment of rear seat entertainment and television across the range of vehicles, and
was responsible for the relationship and launches of premium audio systems with Bowers & Wilkins and
most recently Meridian Audio. Following on he has taken the lead in many areas of Infotainment strategy,
managing the System Architecture teams and off-shore development centres. Outside of Jaguar Land Rover, Matt
is a Chartered Electrical and Mechanical Engineer, being a member of both the IMechE and the IET.
can be found on The Linux
Foundation Collaboration Summit website. If you’re not already attending, you can still request an
invitation.
Linux-Based Game Handheld Achieves Kickstarter Funding
A kickstarter project aimed at creating a “truly open source” Linux-based video game handheld recently achieved nearly double its funding goal. Game Console Worldwide (GCW), the enterprise formed to build and market the GCW Zero game console, says its preparing to mass-produce the device. Justin Barwick, who created the GCW Zero, says he did so […]
How to Choose an Embedded Linux Operating System, Part 2
Embedded Linux is hard to define, but at least we know now that Linux pros say Android is not embedded Linux. (See part 1 in this series, Android vs. Embedded Linux and this week’s Q&A with Mentor Graphics’ John Cherry.) That doesn’t mean, however, that Android isn’t useful in some embedded projects. The question is: How does a developer know which operating system to choose?
While the answer can be complicated, independent embedded engineering consultant Steve Sakoman attempted to simplify the decision-making process for us.
In a few cases the answer is obvious, he said. Both embedded Linux and Android need a reasonably high-end processor to support them. If your project requires a tiny processor either for budget or design reasons, it’s best to go with an alternative OS, Sakoman said.
“Always pick the most cost effective solution hardware-wise, and if it’s good enough to run Linux, that’s your answer,†he said. “If it’s not, use one of the open solutions.â€
Similarly, neither Android nor embedded Linux is the ideal choice for a device with hard real-time requirements, Sakoman said. Use a Real Time Operating System or a distro that includes the PREEMPT-RT real-time kernel patch (see kernel developer Steven Rostedt’s Embedded Linux Conference presentation for an update on the RT patch.)
If the project has a heavy user interface component and it needs downloadable applications and content – use Android, Sakoman said. Also, if you want to do your programming in Java, Android is the right choice, he said.
If you’re more of a C/ C++ developer or your project doesn’t need any of the Google goodies that come with Android and its ecosystem, such as the maps and documents cloud services, stick with embedded Linux. The majority of embedded projects will fare better running Linux, he said.
“When a potential client tells me they want to use Android on their embedded device, my gut reaction is to be “too busy” to take on the work!
“The above is of course tongue-in-cheek. But more often than not this type of client is only asking for Android because their management read an article about how Android is taking over the embedded world.
“When we discuss the product requirements Android often turns out to be a really bad choice,†writes Sakoman.
Pros and Cons of Android on Embedded Devices
So the decision is pretty simple then, right? Not so fast. There’s a huge gray area in between an obvious Android project and a classic, fixed-function device running embedded Linux. As everyday devices take on the features of smartphones or tablets, the choice becomes harder. It pays in this situation to compare some of the pros and cons of Android as an embedded OS.
Below are some considerations raised by Linux pros during a panel discussion at Android Builders Summit last month. For a more in-depth discussion of Android’s features as an embedded OS see The Linux Foundation’s white paper, “The Growth of Android in Embedded Systems” and PlexTek Consulting’s recent white paper “Using Android in your embedded product.â€
PROS
– Android has a familiar UI. By now most users are accustomed to the “pinchy swirly zoomy†nature of the Android touch interface, said David Stewart, Embedded Linux engineering manager at Intel. This allows for more intuitive device designs for the user.
– It’s natively mobile. Android was designed from scratch with embedded systems in mind. “When I first looked at the Android stack it was such a breath of fresh air,†said Tim Bird, senior staff engineer for Sony Entertainment. “Like I wasn’t trying to wedge Unix into the embedded space anymore.†For example, the way it handles crashes and does logging is different from traditional Linux and “it’s way better for the embedded space,†he said.
– Lots of developers know Android and Java. It may be easier to find developers for a project.
– APIs make for easy development of applications. Developers don’t need to know the underlying Android architecture, just the APIs, said Zach Pfeffer, who leads the Android effort at Linaro.
CONS
– Google has ultimate control over Android’s direction. This is fine if the current Android release supports what you need to do, if you can accept the risk that future releases might not, or if can you just stick with that release forever, Sakoman said. Otherwise, “when the next dessert comes out and the middleware has changed all your stuff has to get redone,†David Stewart said.
– Android has a large software stack. This makes it hard to whittle down features without disturbing dependencies. It also hogs memory so the project needs a high-end processor.
– It’s more difficult to add hardware support. For example, “it’s not trivial to add a totally new type of sensor to Android,†said Mike Anderson, chief scientist at The PTR Group, “…unless you dig into the AOSP and understand how it’s all put together.â€
– It requires a different developer skillset. “Once you’re in Android, you’re in Android,†said Anderson. “Because now I’m no longer opening a POSIX pipe to talk between daemons. I’m writing in Java.â€