I’m back from my 8-week sabbatical! My roadtrip was a lot of fun, but now it’s time to get back to work.
In the month I’ve been back, I’ve been making good progress on learning about ChromeOS and graphics. I have some really awesome, patient mentors (Josh Triplett and Chad Versace) who have been helping me learn about the ChromeOS build system and graphics. At this point, I can build and install my own ChromeOS images and individual packages. The build system is both complex and kinda crufty, like some sort of horribly rusty swiss army knife. (Really, you have two separate build systems for subversion and git projects?) However, I’m really impressed with ChromeOS test suite and the ability to kick off remote tests. If only the Google developers would stop breaking the build…
On the graphics side, four of my patches got merged into mesa and piglit to add support and tests for a ChromeOS-specific EGL extension. Chad has been creating graphics tutorials to introduce both Josh and I to userspace graphics concepts. There’s a lot of new concepts to learn, everything from vertices and model transforms to relearning my Linear Alegebra.
Getting to work in userspace again has been so much fun. Being able to use tools like strace and gdb to step through the code simply isn’t possible when you’re in a kernel interrupt service routine. Some days I do miss hardware, poking at bits to make lights blink, but it’s really gratifying to see the tangible graphics work on my screen. I’ve completed the GL version of “hello world” and completed Chad’s tutorial to make a triangle appear on the screen. It was really satisfying to figure out how to make it spin around the Z axis.