Tag Archives: xo-1

Upgraded the keyboard and touchpad on my OLPC XO-1

Yes, I still use my faithful OLPC XO-1! It’s amazing that, even after all this time, the readability of the XO-1’s screen still bests that of mainstream notebooks.

Today I picked up my XO keyboard+Touchpad replacement part CL1B from the always-great ilovemyxo.com. This part actually comes from the next generation OLPC (the XO-1.5), but perfectly fits the OLPC XO-1. I was mostly interested in getting the upgraded touchpad, which was always flakey on the original generation computers.

From start to finish, it took me about 20 minutes to do the disassembly and replacement, following the instructions at http://wiki.laptop.org/go/Disassembly and with a single Phillips screwdriver in hand. My 3-year old daughter watched excitedly beside me and “helped me” as I upgraded her computer.

I plugged in the computer, held my breath, booted it up, and everything worked flawlessly. And yes, the new touchpad is much better than the old one!

Here’s a picture of the new keyboard and touchpad. Fingers are my daughter’s, not mine!


And for comparison, here’s the old keyboard.


Thanks, OLPC and ilovemyxo.com!

Turning off the XO-1’s wire mesh network

Thanks to Reuben Caron for pointing out on the OLPC developer’s mailing list that you can turn off the mesh networking using the following standard command:

echo 0 > /sys/class/net/eth1/lbs_mesh

This is nice because you probably just use regular wireless and don’t use or require mesh networking at all, so you might as well turn it off and save some power and complexity.

More details on the other ways you can control the mesh network via the firmware are in Trac.

New versions of OLPC software for XO-1 coming soon!

Despite the OLPC XO-1 now being several years old, I still find it a remarkably useful and enjoyable device to use. The Pixel Qi screen, unless you are one of the lucky few that was able to purchase the DIY screen kit which sold out in 24 hours, remains unique and among the best available. (The always engaging curiouslee was one of the lucky ones and has a great photo set of the Pixel Qi display installed in an Acer Aspire one netbook for you to drool over.)


That’s why I was happy to read a post from Chris Ball to the OLPC Developer’s mailing list describing OLPC’s software strategy. You can (and should!) read the post in whole, but one section was great to see for us OLPC XO-1 owners:

OLPC wasn’t planning to make a Fedora 11 release of the XO-1 OS, but a group of volunteers including Steven Parrish, Bernie Innocenti, Paraguay Educa and Daniel Drake stepped up and produced Fedora 11 XO-1 builds that follow the OLPC 10.1.1 work. I’m happy to announce that we’re planning on releasing an OLPC-signed version of that work, and that this release will happen alongside the next XO-1.5 point release in the coming weeks. So, OLPC release 10.1.2 will be available for both XO-1 and XO-1.5 at the same time, and will contain Sugar 0.84, GNOME 2.26 and Fedora 11. We think that offering this fully interoperable software stack between XO-1 and XO-1.5 laptops will greatly aid deployments, and we’re very thankful to everyone who has enabled us to be able to turn this XO-1 work into a supported release!

To prepare for this XO-1 release, we’ve started working on fixing some of the remaining bugs in the community F11/XO-1 builds. Paul Fox recently solved a problem with suspend/resume and wifi in the F11/XO-1 kernel, which was the largest blocker for a supported release. We’ll continue to work on the remaining bugs, particularly the ones that OLPC is uniquely positioned to help with.

The first development builds for this release will be published later this week.

I have been following the XO-1 Paraguay builds (unsigned images located here for you to try out) for a while, and they’ve been described by some as the best OLPC XO-1 images ever.  So it’s great to see not only recognition of the great work these volunteers have done, but also to see the OLPC organization pick up and incorporate this work into their stream!

Conserving Memory on the OLPC XO-1

One of the things I noticed right away when I started installing alternative operating systems on my OLPC XO-1 is that not all combinations of OS and software ran equally well. In fact, some configurations ran so slowly that it was almost unbearable to use as a normal environment.  To be fair, this is par for the course on all netbook systems – not just the XO-1 – with their slower CPU speeds and reduced memory.

On the XO-1, fortunately there are tweaks you can do to improve both things. You can overclock your machine to improve the CPU speed a bit, something I might cover later.  I also found that there was an almost direct correlation between how speedy my machine felt and the amount of available memory.

So with that in mind, about a year ago I did a series of experiments to see the impact of different OS’es, window managers, and swap file configuration had on available memory.

Here’s a table summary of the amount of available memory after booting up and entering “free” in an X-based terminal program.  In all scenarios, X was up and running, as was the Windows Manager and the wireless networking stack (connected to my wireless router).

Scenario Free Memory
A. Fedora 8.2 + Sugar 58,880
B. Fedora 8.2 + Fluxbox 115,936
C. Ubuntu 8.1 + XFCE 57,884
D. DebXO 0.4 + Gnome 80,080
E. DebXO 0.4 + Gnome + simpler wallpaper 84,616
F. DebXO 0.5 + Gnome + simpler wallpaper + SD swap 77,396
G. DebXO 0.5 + Gnome + no wallpaper + SD swap 82,152

Operating systems: “Fedora 8.2” refers to the operating system that came with the OLPC; updated versions are available for download.  “Ubuntu 8.1” refers to an amazing effort from Teapot that lets you install Ubuntu on your XO-1.  “DebXO” refers to a version of Debian that, thanks to Andres Saloman, you can also install on your XO-1.  (For completeness, I should mention that there are now at least two other interesting and promising Linux distributions that you can try out – Fedora 11 and TinyCore Linux.  However, these weren’t available when I did these experiments.)

Windows managers:  Sugar of course refers to the default, kid-friendly operating system that comes with the OLPC software.  Fluxbox and XFCE are two very popular lightweight desktop managers.  Finally, Gnome is one of two full fledged desktop environments normally associated with grown-up Linux desktops; KDE would be the other one, but I didn’t try that.

Wallpaper:  Yup, believe it or not, I wanted to see the impact of changing the desktop wallpaper between large bitmap pictures, simpler SVG-based pictures, and no wallpaper at all.

SD swap: Because I wanted multitasking, it was important for me to also see the effects of having a swap partition created on the SD card.  This would give me greater virtual memory, so that once physical memory runs low, the OLPC could swap background memory to the SD card so I could still run additional applications.

Okay, so perhaps not the most scientific or comprehensive set of results (if I had more time, I would have tried some other combinations), but I think it is fair to draw some interesting observations:

  • The memory overhead of Sugar is significant.  Looking at the difference between scenarios A and B above, I had to retest a couple of times to verify the numbers were still in the range.  Sure enough, if I do nothing but boot up into Fluxbox instead of Sugar, I get a significant boost in memory!
  • Gnome is more expensive than Fluxbox or XFCE, but not too much.  I admit to liking the full functionality and ease-of-use afforded by Gnome, so I was happy to see that while it definitely takes up more memory than Fluxbox or XFCE, that it wasn’t too bad.  If you want the absolute leanest system, though, changing the windows manager definitely had the biggest impact!  I would go with Fluxbox or even some of the lighter managers if I wanted the absolute most free memory.
  • The wallpaper makes a difference!  Okay, maybe it’s worth it to have a picture of leaves in your background, but for me, it was a no brainer to just turn that off to get the extra boost.
  • Setting up the swap partition also takes up memory.  Here’s where you have to make a call – if you are happy running single programs at a time, and/or don’t need to run any large programs (like Open Office), then you can skip the swap partition and be in good shape.  For me, I wanted to be able to have multiple browser pages open and be writing at the same time, so it was worth the cost.  I’ll just turn off my wallpaper.  🙂

As I said, not the most scientific way to do this, but what I learned above definitely helped me pick and tweak the software that ended up on my XO-1, and worked for what I needed it to do.