The Linux Setup - Sean Cross, Novena Developer
I’m not a big hardware guy. At all. Specs mean very little to me. However, Sean’s hardware is interesting, as it’s a Novena, something he developed himself. And of course, because he’s working with Linux, he’s able to get things to run pretty well. I have no idea what the future of the Novena is, but I love that people can make new devices that will be able to access familiar software and interfaces. Microsoft is making Windows cost-free for certain devices. It’s a smarter strategy than charging manufacturers, but until they let people get under the hood of the code, they’re going to have a hard time reaching new, experimental devices. Which is actually OK with me, since I’m happy to have Linux in as many places as possible.
Who are you, and what do you do?
My name is Sean “xobs” Cross and I am an American living in Singapore. In the past I’ve worked on release firmware for Chumby, including the Chumby One and Chumby 8 devices. Now I’m building the firmware for Novena, along with the Senoko battery controller board.
Why do you use Linux?
Most of my work is done with embedded ARM devices, and while there are a number of full-featured operating systems for ARM, none has more support than Linux. Major alternatives include Windows and Android, but Windows CE 7 wasn’t very good for compatibility, I can’t even try Windows 8 without a source license, and while Android is great for tablets and phones it isn’t very good with multitasking and multiple windows.
Linux allows me to run the same major open-source applications that are developed on x86 with little more than a recompile. My ARM laptop runs Thunderbird, Firefox, Pidgin, VLC, and XChat, and has a good PDF reader, terminal program, and file manager. Most importantly it is capable of rebuilding everything from source, which helps in tracking down weird and exotic bugs that crop up when developing a system from scratch.
Linux allows me to get a full desktop environment, even on oddball hardware, which is a feature no other operating system can provide.
What distribution do you run on your main desktop/laptop?
Debian Wheezy is my current distro of choice. A big selling point is that they have an armhf build, which allows me to take advantage of the NEON VFP floating point unit in the Cortex A9 CPU. Also important is that it doesn’t assume the platform it’s running on has 3D acceleration, which has caused other distros to fail miserably. An added bonus is that the kernel will run without additional distro-specific patches, which made the port easy.
From a user experience angle, Wheezy supports modesetting, which allows me to hotplug my HDMI monitor as I move from home to the office. Many distros make assumptions about Xorg drivers that aren’t true on Novena, or don’t support modesetting at all. Modesetting and LibreOffice allows me to give multi monitor presentations, which is a nice touch.
What desktop environment do you use and why do you use it?
Xfce4 is my current desktop of choice. It supports multiple monitors and works without hardware acceleration (which is still a work in progress on Novena). I like its support for panel widgets, which allow me to monitor CPU frequency as the governor changes the speed of the processor, and I like the detailed at-a-glance battery reporting, which let me know how the Senoko battery controller is doing.
What one piece of software do you depend upon with this distribution? Why is it so important?
With this distro, the package manager is most important because any library or software package I find myself needing is only an “apt-get install” away. Sometimes a package can be difficult to locate by name, in which case “apt-file” can be used to search for the actual package name.
For actual Linux work, the compiler is the tool I rely on most. In addition to translating C and C++ code to machine language, it has an added benefit of exercising the disk channel, DDR memory, and all four processor cores. Recompiling the kernel is a reasonable first order test of system stability. Having a fully functional compiler on the system itself also means I don’t have to worry about a cross compiler on a separate system, which makes it easier to compile and link against unusual libraries, a process that can be awkward when cross compiling.
What kind of hardware do you run this setup on?
I run on Novena, a quad core 1.2 GHz ARM board with 4GB RAM. It has a 1920x1080 internal LCD, and I frequently run with a second 1920x1200 HDMI monitor connected externally.
Will you share a screenshot of your desktop?
Interview conducted April 19, 2014