Monday, June 07, 2010

N900 Easy Debian, After PR 1.2

Executive Summary: There's a new version of Easy Debian in Extras-testing that has a much better method for getting the keyboard working in LXDE after the PR 1.2 firmware update changed things.

The recent PR 1.2 firmware update fixed many bugs and added many features, but it also "broke" a trick that Easy Debian folks had been using to get keyboard focus back after returning to LXDE from another app.

A little background: Maemo 5's window manager, Matchbox 2, is very strict about the keyboard focus rules, far, far stricter than any other window managers. They did this for power management reasons. Some people have called this a bug, but others argue that this is the most correct way to do it, and it is the fault of sloppy applications.

Whoever is to blame, there are quite a few apps out there that don't work properly with the N900's window manager. Unfortunately, the Xephyr nested X server that Easy Debian uses to run LXDE inside Maemo is one of those apps. Finding a way to get keyboard focus for Xephyr was one of the first hurdles facing the Easy Debian project when porting to Maemo 5.

The original breakthrough happened when qobi wrote a little "fixer app" that "fixed" non-compliant windows when given a window ID as a parameter. This method gave initial keyboard focus to LXDE when starting up.

Someone discovered a much more elegant workaround, however. All you needed to do was press the power button and then clear the menu by pressing the screen outside the menu, and the current window would receive keyboard focus. This became the standard method for returning to Easy Debian's LXDE after using another app, such as receiving a phone call or taking a picture.

When the long-anticipated PR 1.2 firmware update came, Easy Debian users were dismayed to discover that they couldn't use the power button to get their keyboard back in LXDE. Even worse, that trick made it impossible for the user to hit Ctrl-backspace to get back to the dashboard. The only ways to "break out" of this keyboardless LXDE were to either log out or to open the camera. Not a good situation.

After some hacking, we have managed to get things working again. It isn't as neat as the power button workaround, but it is nearly as good. Now, the same LXDE icon that opens LXDE in the first place also returns you to LXDE with keyboard focus. So you only need to put the Easy Debian LXDE icon (the red diamond with the "d" in it) on your desktop and press it whenever you want Easy Debian LXDE.

If you want this new version (and if you use Easy Debian LXDE, and you have PR 1.2, then yes, you want it), enable the Extras-testing repository and get the update. Please be aware that any other apps that offer updates after you enable Extras-testing may not be ready to be installed, since they may not comply with the community's QA standards.

If you have any questions about Easy Debian, they're probably answered in the the Easy Debian wiki page, but if not, go to the talk thread and ask your question there.

Labels: , , , , , , ,

Sunday, October 12, 2008

Easy Debian moves to Extras

Finally, "Easy Debian" is no longer just a "circus trick"; you can use real laptop applications on your tablet at not-unreasonable speeds, thanks to a couple of "turbo charging" boosts we've gotten lately, and a lot of polish from the rapidly maturing Debian side.

I was overwhelmed by the huge positive reaction across the Internet when I released the first version of my Easy Debian project back in July on Internet Tablet Talk. But I was frustrated by the speed of the "image file" method I was using, and the Debian "armel" architecture was still missing a few key pieces to make it a stable, trustworthy distribution.

Several things have changed since July. First, the Debian armel architecture managed to pull things together in time for the Lenny "freeze" at the end of July. That means there will be a tablet-compatible version of Debian when Lenny becomes the next "stable" version later this year. It also means things like Java, OpenOffice.org and Firefox got some seriously good polishing in the last few months, and it really shows when you run them on the tablet. Also, the LXDE desktop environment came to my attention. It is a really nice, light environment that runs fast on the tablet, and is much more full-featured than the IceWM window manager I was using before.

Secondly, I was given the exciting privilege of Nokia sponsorship to the Maemo Summit in Berlin in September. This motivated me to prepare a new Debian file system with all of the enhancements that had been added in the previous months, as well as some tricks that I had learned since the first version.

Lastly, through the help of others, I found two really effective speed-up techniques that suddenly made the Easy Debian apps really usable! I got down on my virtual knees on the #maemo IRC channel and begged the elite tablet hackers there to help me figure out how to speed up access to the image file that was the basis of the Easy Debian project. Matan came through in a big way; he presented me with some kernel modules and some instructions that accelerated the whole project to almost the same speed as using a dedicated partition (around 2x-4x faster)! I then discovered the ability to set the tablets' processor to "Performance Mode," thanks to lcuk's liqbase project. What a difference that made for processor-hungry apps like OpenOffice and Iceweasel (Firefox)!

So, now that all these pieces are in place, and now that the whole project has "grown up," I felt I needed to push it into the official repositories. I was also getting some gentle pushes from several community members.

Even though the entire project is made from free components (except for one notable exception in the image file), I have released it to the non-free section of Extras-Devel. This is because it was too difficult to get all of the contributed binary bits into a form that could be compiled by the autobuilder that guards the gates of the "free" repository.

Screenshots: (click picture to see more info and larger sizes)

The Gimp editing a 4 megapixel digital photo:




OpenOffice Writer editing a document in OS2008, with Matchbox-Keyboard on top:



LXDE, (the Lightweight X Desktop Environment) running on top of OS2008:

Labels: , , , , , ,