Unsolved mysteries: X in 1Mb

I must first apologize for the short span of silence over the last few days; the end of the month brought a few real-life issues that needed resolved.

When last I typed, I mentioned that python script that encapsulates the memory usage for a machine, organizing it into a neat bundle. As someone mentioned, and as htop confirms for me, memory use by X is exceptionally slender for this machine — topping out around 1Mb or so.

I don’t know why that is, but I do have some theories … none of which I am in a position to authoritatively prove or disprove. My own observations though, tell me a few things.

First, the size and weight of X is going to change with each distro, since the method for building it is going to differ with each. That’s sort of a “cop-out” answer, if I am correctly paraphrasing some of my American friends, but it is probably a safe bet that Xorg in Crux is probably going to be less demanding than in Ubuntu, just as an example.

And I can probably suggest that compiling a custom version of X, with flags appropriate to the hardware (which is what I usually do) is going to run easier than a generic one too. That might be a bit weak for a reason, but you never know. Or at least, I never know. :roll:

But also keep in mind that X in that post is a year-old version. Over the past year, X has incurred a lot of bloat — or what I would call bloat — and that too can come into play. It’s almost preferable to me to run an outdated version of X than to put up with hal and dbus and so forth, on an old machine.

After that, I should probably mention that I comment out some of the modules from my xorg.conf file, although I don’t know what effect that has on the running size of X. A 13-year-old graphics card doesn’t have much use for things like glx, so I take those out of play.

In addition, I know that the memory footprint for X differs from machine to machine, which says to me that hardware comes into play too. The amount of space taken up by X on my Inspiron is quite a bit more than the Pentium, although it can do more too.

But if hardware is a factor, so is how you use the hardware; a screen resolution of 800×600 seems to require less space than one twice as large. That was one of the things I tried as a test measure a few months ago, when I originally noticed the ultralight X in action.

And I suppose if all of those other things can influence the size of X, then perhaps the driver you use, and even the kernel you build could likewise be factors. I don’t doubt for a second that the proprietary nvidia driver on my Inspiron is chunkier than any of the open-source ones, and whether or not my custom kernel comes into play … I can’t be sure.

Like I said: I am no expert, and I’m not in a position to test or even troubleshoot any of these theories. (And to be honest, I’m only obliquely interested in finding out the answers.) There is a chat channel for X at #xorg on freenode, as well as the hardware-specific driver channels at #ati and #nvidia. And of course, the mailing lists are an option too. Anyone who answers will be far more qualified than me.

But if you do find out how X can squeeze into 1Mb, please explain. I have some floppy discs in the closet, and I find it amusing that they could apparently hold graphical system on them, with space left over. :mrgreen:

About these ads

10 Responses to “Unsolved mysteries: X in 1Mb”

  1. 1 colonelcrayon 2009/09/02 at 8:12 AM

    Resolution and color depth both play a huge role (lower is lighter).

  2. 2 Duncan Snowden 2009/09/02 at 9:33 AM

    It amazed me too, and I was about to comment, but after a few moments’ thought came to much the same conclusions. And for what it’s worth, my desktop machine (1280×1024 on a rather elderly Radeon 9200) shows around 60Mb for X, my Aspire One (1024×600, Intel 945) around half that, which, along with my use of GLX, Xft, etc., would tend to support them.

    And of course, don’t forget the older generation of machines: Amigas got along quite happily with only 0.5Mb in total. They did it by using smaller displays (640×256, or so) and lower colour depths with palette mapping (6 bits-per-pixel at most, on the older ones, often only 3 or 4).

    1Mb is still pretty impressive for X, though. :)

  3. 3 mulenmar 2009/09/02 at 1:40 PM

    I remember reading somewhere that the memory usage reported for Xorg often includes the total video memory available, and sometimes part of the memory used by other programs (clients of the X server). On such an old computer, and with such light programs, those factors might be causing the 3.5″ HD floppy-esuqe space usage.

    You might want to get tips from someone who knows a little more of what they’re talking about, though. :)

  4. 4 Mikachu 2009/09/02 at 7:50 PM

    If you’re looking at the RSS column, the answer is simple: The RSS column only shows swapped-in memory usage, ie most of your x server is swapped out to disk.

  5. 5 the_englishman 2009/09/03 at 11:07 PM

    Thanks for your posts and feedback. You definitely have one of the best Linux blogs out there.

  1. 1 An X for every application « Motho ke motho ka botho Trackback on 2009/11/29 at 10:57 PM
  2. 2 Buying a name « Motho ke motho ka botho Trackback on 2010/01/08 at 5:01 PM
  3. 3 Ubuntu 9.10 at 120Mhz, 80Mb « Motho ke motho ka botho Trackback on 2010/01/16 at 8:35 AM
  4. 4 A Windows XP-ish Debian at 120Mhz « Motho ke motho ka botho Trackback on 2010/01/24 at 8:23 AM
  5. 5 X and Openbox in 12Mb « Motho ke motho ka botho Trackback on 2010/08/13 at 9:07 AM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Visit the Wiki!

Some recent desktops

May 6, 2011
Musca 0.9.24 on Crux Linux
150Mhz Pentium 96Mb 8Gb CF

May 14, 2011
IceWM 1.2.37 and Arch Linux
L2300 core duo 3Gb 320Gb

Some recent games

Apr. 21, 2011
Oolite on Xubuntu 11.04
L2300 core duo 3Gb 320Gb

Enter your email address to subscribe to this blog and receive notifications of new posts.

Join 405 other followers


This work is licensed under the GNU Free Documentation License. Please see the About page for details.

Blog Stats

  • 3,958,484 hits



Get every new post delivered to your Inbox.

Join 405 other followers

%d bloggers like this: