My week at 100Mhz is quickly drawing to a close, and as one of the final tasks I ran the entire system this evening from the console, which is to say without X at all. No Awesome, no rvxt-unicode, no graphical dependencies.
And as you can see (or can’t really, I guess), the net result is the same. I get the same things done on the same hardware, with the only change being that screen is now a major player, allowing me to switch between tasks a little more smoothly than just allocating one tty to each application.
Of course, eliminating the need for a graphical interface, even one as slim and light as the Awesome setup I have available to me, means things run even lighter, if you can believe that. Ordinarily, under X, it takes a minute or so for Charm to start up, and another minute for it to jump to emacs, and there’s a soft lag as emacs does its usual backups and disk access.
I can live with those things — I consider them a necessary evil if I want to have three terminal emulators open and the desktop at 800×600 and so forth and so on. But if I sacrifice those things, I get an immense return on system resources.
Right now I have screen, elinks, htop, Charm (and Python), emacs and calcurse running simultaneously, and the net system draw is no more than 7Mb of 12Mb available, plus 6Mb of swap. And processor stress is spiking at 50 to 60 percent when disk access is occuring. Otherwise, it’s dropping to 10 and 12 percent, and floating there. It’s frightening how little the system needs to stay alive.
But even more frightening is the tradeoff on speed. No swapping whatsoever, except if I add another application to the mix. My typing speed under emacs, which is usually a little groggy, is a feather touch. Overall system responsiveness is a huge improvement over the X-bound system. Even software that spawns other software — like Charm to Python to emacs and back again — is lightning-fast. (For 100Mhz, of course. )
And I have all the same software at my fingertips, nothing lost in the transition from X to tty, and everything still working just as it should.
With one or two small exceptions, which I am obligated to report. Of course I no longer can access feh, and since I stripped all framebuffer support from the kernel and left it to stand with only standard VGA drivers, I don’t really have a way to display images. If I was really serious about running this under the console for any length of time, I could probably solve that issue in a matter of an hour or so.
And I didn’t install gpm since mouse support at the console level wasn’t really on my list of necessities for the week. And certain weaknesses — like sluggish Internet access speeds from certain sites in elinks — weren’t the fault of my machine really, so this didn’t affect them much.
But it’s funny to think that in the catastrophic failure of the graphic system, this machine is still 99 and 44/100 percent useful. Nothing is changed. Everything still works just like it did. Ordinarily if X mysteriously quits, I have an hour or two of troubleshooting to perform before I can go back to whatever nonsense I was pursuing before calamity struck.
More and more I think this might be the path I take in the future, regardless of the machine I use. I’m already committed to remaking the Thinkpad with Awesome. And considering my long-standing fear of the Silicon Motion drivers and my lackluster enthusiasm for Xorg 7.4, the idea of being able to use the greater portion of my computer even if X-Incorporated fail to deliver … well, that’s turning the table completely.
This is all a little embarrassing really. I’ve been pushing terminal apps for years, and I feel like I’m starting all over with them again. Perhaps that’s been the biggest epiphany from my experience at 100Mhz — not that a machine running at 100Mhz is completely and perfectly usable over the long run, but that the software I would pick to use on that machine is probably the software I should be using on a day-to-day basis.
You learn something new every day, but some days you learn the same new thing over again.