Archive for January, 2013

New Linux Development Box

Posted: January 14, 2013 in Uncategorized

I’ve been looking for a new Linux development laptop and the search turned out to be a little more adventurous then I thought it would be.

Currently I’m using a fairly old 17″ mac book pro from 2006! It’s a core 2 duo and has a 256 gig SSD in it but it topped out at 3G of memory. Screen is a 1680 x  1050 but for a 17″ form factor that’s certainly dated. As you could imagine, it’s also quite heavy as far as laptop go, which I’d guess to be about 7 lbs, or 3.2 Kg. It runs ubuntu fairly well, tho the trackpad is a bit touchy and seems to pick up clicks when my fingers are no where near it.

Ideally I’ve been looking for something that’d be lighter, better screen, still SSD and obviously a processor upgrade. I’m under a budget so can’t just pick up anything, tempting tho that may be.

I looked at a Lenovo Carbon X1. Seems to be nice hardware. I especially like the trackpoint included. Unfortunately the Carbon X1s that are available all have 4Gig of memory. They aren’t able to be upgraded. So you must pick your memory configuration from the get go. Lenovo does make an 8 gig variant but it’s highly constrained. No one has any and it appears to be backordered well into February. Initial reports appear to indicate that ubuntu support should be good. (sigh)

So looking at the next option I considered the DELL XPS13 ubuntu developer laptop. Interesting concept. The screen however is a 13″ 1366 x 768 deal breaker.

Moving along I considered a System 76. They have both a 14.1″ Lemur and a 15.6″ Gazelle worth thinking about. One thing about System 76, you know the Ubuntu support is going to be awesome. I have a desktop System 76 that I bought about a year ago and it’s been a good experience. The 14.1″ Lemur suffers from the same problem as the Dell, a 1366×768 screen. The 15.6″ Gazelle has a 1920×1200 screen and certainly good SSD, memory and processor options. It’s 5.4 lbs (or 2.45Kg)! That sort of defeats the purpose. (I also wasn’t sure what the battery included with it has for watt hours. These days I’d like ~7 hours out of any laptop battery.) The other issue I had with the System76 was the form factor / case engineering. It looks big! With all the ultrabooks, the mac book pros etc going fairly thin, this is an area I’d like to see System 76 improve.

Next I considered a Mac Book Air. The 13″ does have a 1440×900 screen. Still that’d be a step down from what I have now.  Otherwise, it certainly would run Ubuntu, has a good SSD, 8 gig of memory etc. It’s tempting but again screen seems like a deal breaker.

Moving along, I looked at a Mac Book Pro retina 13″. I even went to see one of these in person. The 2560×1600 screen is BEE-U-TI-FUL. In a 13″, yowza. It’s thin, it’s light 3.57 lbs (1.62 Kg), 74 watt-hour claiming 7 hours, good set of ports, not a bad list of features. Linux support is coming along but there are instructions that are reasonable for getting Ubuntu installed and running that don’t involve chicken feathers or obscure ceremonies. The graphics hardware is an Intel 4000 which has good Linux support which continues to improve. The graphics hardware for the full retina resolution is under powered but it’s not like I’m looking to run steam on it. So a great fit right? Erm, not quite. For the configuration with a 256 gig SSD I was looking at it’s about $2100, Bzzzzt over budget.


Last I’ve looked at a Samsung Series 9 NP900X4C-A03US or A07. It’s an ultrabook which is 3.6lbs and thin. The 1600×900 screen is a slight step down from my current 6 year old laptop (!) which is quite something when you consider that the Series 9 in a 15″ laptop. Otherwise, 8 gig of memory (which a user can’t upgrade) and a good sized 256 gig SSD both pass muster. Appears the machine should run Ubuntu just fine so again another important factor.

Across all the machines most surprisingly the set of ports for USB3 etc are all pretty much the same without any differentiation. The Apple hardware has thunderbolt but that’s not really a big deal to me.

In summary, the “perfect” machines I think probably are a toss up between the 13″ retina mac book pro and the 14″ Lenovo X1 carbon. Availability kills the Lenovo and price kills the mac book pro. The Samsung seems to be the next good option tho the 15″ size and screen make it a bit of a bummer.

Choices, choices…

1047, to be exact.

Hmm? 1047 Piglit tests running on ARM Linux.

What’s piglit?  Piglit is a test suite for OpenGL. For the most part it’s used for testing Mesa which is the open source implementation of OpenGL and OpenGL ES. It’s used on Android and Linux. If you’re writing a GL or GLES driver Piglit is a way to run graphical tests to check your implementation.

Just 60 days ago, there were basically zero OpenGL ES 2.0 tests that ran. None. I’ve been working to fix,  largely concentrating on the glslparser and shader_runner tests both stressing glsl es 1.00 which is an important component in Open GL ES 2.0. To put it into perspective a full piglit test run of all tests on my intel box for OpenGL  is about 6,900 tests.

Also, the piglit team is in the midst of doing something rather fun and that’s converting over to the use of waffle. What’s waffle?  Waffle is a way to defer to runtime which variation of GL api you’re going to use (GL, GLES) as well as what windowing system you’re going to use (X11, Wayland, etc).  So one could for instance do a complete set of test runs for say GLES 1.1, 2.0 and 3.0 in time without a recompile.

Thus far the code in question is not yet all upstream and things are still under rapid development but via my git tree you’re able to follow along and run. I’m not running on Android quite yet but that is being worked on by myself and others.


Then you’ll want the gles2-all branch.

git checkout -b my-copy origin/gles2-all

(Be warned, the gles2-all branch is fairly dynamic)

Before you build piglit you’ll need to obtain, build and install waffle. Grab it from git://

See the README.txt for instructions as to how to build and install.

Turning our attention back to piglit. Make sure you read the README.txt and that the software prereqs are installed. Then:

ccmake .

Turn on just the gles2 tests. Hit ‘c’ to configure.  Then hit ‘g’ to generate and last to build



./ tests/all_es2.tests results/es2

and format the results.

./ sum/es2 results/es2

After that point your web browser to the sum directory that you’ve created to see the results.

What’s next? Getting this all running on android, getting it integrated into our  lava automated test system and of course more tests.