Desktop Environments RAM use

As a result of a recent discussion on IRC, I decided to take a number of DE (Desktop Environments) for a test drive and see how much ram they used.

Test machine – Netbook with 2 Gb RAM

Method – This is a very casual test (sorry no “benchmarks”), I merely booted the appropriate Live CD, opened a terminal, and reviewed the RAM use. YMMV.

These results are simply using the default configuration as provided by the developers of the various distros and I made no attempt to tweak or adjust the RAM use.

Please keep in mind, RAM use is a crude measure of “performance”. The “responsiveness” of your window manager is dependent on a number of variables including graphics cards, desktop effects, and even sometimes a misconfigured or misbehaving wireless card. For example, on my netbook gnome-shell is using llvmpipe. llvmpipe comes with a noticeable performance hit on my netbook so while the ram use is similar to Unity, Unity gives much better performance.

Distros: I used the latest distros, even if they are in Alpha/Beta, so as to get the best possible video performance on my netbook (gma500_gfx).

I chose a range of distros to make the comparisons a little more interesting. I find XFCE uses about the same amount of RAM on Xubuntu as it does on Fedora (XFCE spin). They are at least in the same ballpark. Notice how Lubuntu (openbox + LXDE) and Crunchbang (also openbox) are “close enough”, at least for my purpose, at 165 vs 112 mb RAM.

Bodhi Linux 2.0 (beta)
Crunchbang 11 (Waldorf)
Fedora 17 (Beefy Miracle)
Linux Mint 13 (Maya)
Ubuntu 12.10 (Quantal Quetzal) (Alpha)


Ubuntu 12.10 (Quantal Quetzal)

  • Unity – 335 mb
  • Lubuntu – 165 mb
  • Kubuntu – 261 mb
  • Xubuntu – 230 mb

Fedora 17 (Beefy Miracle)

  • Gnome-shell – 335 mb
  • lxde – 151 mb
  • kde – 277 mb
  • xfce – 179 mb

Linux Mint 13 (Maya)

Bodhi Linux 2.0 (Beta)

  • Enlightenment – 116 mb

Crunchbang 11 (Waldorf)

  • Openbox – 112 mb
Posted in Linux | Tagged | 39 Comments



Confessions of a “practical” FSF fanboi

Without getting into all the politics, we all use GNU/Linux and many of us appreciate the four freedoms advocated by the Free Software Foundation.

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the community a chance to help from your changes. Access to the source code is a precondition for this.


Trisquel logo Parabola linux

I came across the GNU/Linux-libre almost by accident and have enjoyed taking Trisquel and Parabola gnulinux for a test drive. I found both communities friendly and helpful.

Trisquel 5.5 is based on Ubuntu 11.10 and has a visually pleasing gnome-shell


KDE is also available.

Trisquel thumb

Parabola gnu/linux is based on Arch and is thus a rolling release. The installer is a bit dated and hopefully they will release an updated CD in the near future.

I made a pair if user bars, feel free to use them if you wish

Trisquel user bar

Parabola user bar

Rubber meet pavement

Booting Trisquel, Parabola, or a gnu/linux-libre kernel is where the rubber hits the pavement and many people will find it frustrating if, as with any operating system, they do not have compatible hardware. The two most common problems are incompatibility with graphics cards and wireless, although you could also have problems with BIOS.

You basically have to buy hardware that is compatible with the FSF GNU/Linux-libre definition of open source drivers.

While this may sound harsh, it is true of any OS, and while I do not expect everyone to run out and purchase new hardware, understanding hardware compatibility is crucial to successful future purchases.

GNU/Linux pre-installed

Many people buy hardware with Windows or OSX pre-installed and then have a bad experience when they try to install “Linux”.

The simplest solution is to encourage “Linux users” (yes you) to make their next hardware purchase with Linux pre-installed. We should support OEM that support Linux.

Home work

It is due diligence to research your hardware before you buy. There are several online resources available, h-node maintains a hardware listing of -libre compatible equipment.

Using that guide, I was able to find graphics cards, manufactured in 2010, ranging from as little as $10 (single head) up to $50 (dual head) in less then 10 minutes.

Wireless cards are a little more difficult as you need to identify the wireless chip, which is not always easy. I found USB wireless cards ranging from $10 to $20.

So for a little as $20 I could find both a graphics card and wireless card that offer decent performance ( video single head 1600×1200 ).

Again, next time you purchase hardware, I strongly advise -libre compatible hardware. Compatible hardware is not more expensive, will work with any distro, and performance will be better than a more expensive, incompatible, unsupported piece of hardware.

Recent experiences

Politics aside, hardly a day goes by when I do not see someone on IRC converting from closed source hardware drivers to open source. The costs are minimal and it is simply less hassle to use compatible hardware. For example, if you have a Nvidia card, and you have not taken the open source nouveau driver for a test spin, I highly encourage you to do so. It is not uncommon for people to find adequate or sometimes better performance with the nouveau driver then the Nvidia driver.

Again, if you use Linux, consider supporting the OEM who support open source.

Posted in Fedora, Linux | Tagged | 9 Comments

Fedora Audacious Skin

I have recently been playing with audacious skins and came up with a skin for Fedora. It is based on an old skin, BlubuntuBlue.

Fedora skin 1

Fedora skin 2

Ubuntu skin

To use these skins, save the following zip files to ~/.local/share/audacious/Skins/ .

You do NOT need to unzip the files =)

bodhi.zazen’s Fedora skin

Original BlubuntuBlue skin

Posted in Fedora, Linux | 3 Comments

Ubuntu 12.04 gma500 (poulsbo) boot options

Ubuntu 12.04 has been officially released and, with minor adjustments, the intel gma500 video card is working out of the box. See the last part of this post for suggestions on getting suspend working.

The “trick” is to use a few boot codes. Personally I use flash drives. Once I “install” Ubuntu to a flash drive, simply edit “syslinux.cfg” and add the following boot options.

quiet splash console=tty1 acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes mem=1920mb

Without the first option, console=tty1 the desktop (X) starts distorted, the desktop flickers and is partly displayed on the top of the screen. I could not get a screen shot of this. If you forget this option, simply run sudo service lightdm restart .

If you are getting a black screen, try disabling the boot splash (plymouth) by removing splash from the boot options.

quiet console=tty1 acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes mem=1920mb

Or if that fails, disable Plymouth altogether:

sudo mv /etc/init/plymouth.conf /etc/init/plymouth.conf.disabled

The next three options acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes enable the brightness buttons on the keyboard.

The acer_wmi module is both Acer specific and specific to my model (AO751h). If you do not have an AcerOne 751h, do not use it.

The acpi_backlight=vendor acpi_osi=Linux options are a bit more generic, but are also hardware dependent. Do not use them if your backlight works without these options (they have the potential to disable your backlight as was pointed out in the comments).

The last option, mem=1920mb allows more memory for the available for the gma500 and (slightly) improves performance. If you have 1 gb of ram, use mem=896mb

After installing, first restart X. ctrl-alt-f1 to get to a console, then

sudo service lightdm restart

Log in , then, using any editor, open /etc/default/grub

Change the line – GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=tty1 acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes mem=1920mb"

Or, if you are having a problem with a black screen, a more generic set of options would be

GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 acpi_backlight=vendor acpi_osi=Linux mem=896mb"

And then update grub

sudo update-grub

And finally reboot.

Additional workarounds / fixes

Black screen

From form dfrossar on the Ubuntu forums you can try 915resolution

Using any editor, create a file /etc/grub.d/01_915resolution , add in lines

echo insmod 915resolution
echo 915resolution 58 1366 768 32

Make the file executable

sudo chmod a+x /etc/grub.d/01_915resolution

Next, edit /etc/default/grub, assign value 1366x768x32 to variables GRUB_GFXMODE and GRUB_GFXPAYLOAD_LINUX (be sure to change “1366×768″ to your desired resolution):


Then update grub.

sudo update-grub

and reboot.

Fix Suspend

From “unziberla” in the comments below:

Guys, i fixed suspend on my AO751h with 12.04 starting from old patch for 11.10 from which i removed one quirk.

Open a terminal and use the following commands:

gksu gedit /etc/pm/config.d/gma500

Add in one of the following codes and save the file (apparently one “-” works for some and others need two “--” in front of “quirk-vbemode-restore”):



Posted in Linux | Tagged | 104 Comments

Fedora 17 alpha gma500 poulsbo

As a part of the continuing saga with my netbook (gma500) I took the Fedora 17 Alpha release for a test drive with gnome shell. I was quite pleased with the result.

The good – The intel gma500 (poulsbo) graphics card, my wireless card, and most interestingly gnome-shell were all working out of the box. Wow, gnome is looking great !!!

The bad – Performance was a little slow (running from a flash drive), there was some occasional blanking out of the screen, and the netbook seemed to be running a bit hot.

Screen shots (click thumbnails for larger image):

fedora 1

fedora 2

Posted in Fedora, Linux | Tagged | 16 Comments

Linux GMA500 (Poulsbo) driver moved out of staging

Good news for people with an Intel GMA500 (Poulsbo) graphics card, support is now in the mainline Linux kernel.

In the Linux 3.3-rc1 (mainline) kernel the driver has moved out of staging and re-named.

It is now located under

Device Drivers ->
Graphics support ->
DRM (Direct Rendering Manager) ->
Intel GMA5/600 KMS Framebuffer

and is now called “gma500_gfx”.

Once the kernel team with your distribution of choice makes the adjustment, the GMA500 should work “out of the box” on any Linux Distribution using kernel 3.3 or higher.

Posted in Linux | Tagged | 7 Comments

Ubuntu gma500 poulsbo Live CD

In follow up to this post I have remastered a daily build of Ubuntu 12.04, Precise Pangolin.

ubuntu preview

alt screenshot

I have made a copy publicly available for those with one of these graphics cards. Please keep in mind it is an alpha release of 12.04

The gma500 should be working out of the box and works well live, and you can use a persistent home directory to preserve user data across boots.

Make a file in the root directory of any partition or your flash drive (after making a live flash drive from the iso)

# this will make a 1 Gb file for storage, increase / decrease the count as needed
dd if=/dev/zero of=./home-rw bs=1M count=1000

Make a file system on the file

mkfs.ext4 home-rw

mke2fs 1.41.14 (22-Dec-2010)

home-rw is not a block special device.

# Answer ‘yes’ here

Proceed anyway? (y,n) y

Remove the reserved blocks

tune2fs -m 0 -L home-rw home-rw

If you select the persistent option at the boot menu, the file system will then automatically be mounted at /home by the casper scripts.

boot menu

If you install it, however, you would need to make some (minor) modifications.

using any editor, open /etc/default/grub

Change the line – GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” to

GRUB_CMDLINE_LINUX_DEFAULT="poulsbo.blacklist=yes console=tty1"

And then update grub

sudo update-grub

The iso and md5sum are here:

Live CD

Posted in Linux | Tagged | 56 Comments

Intel GMA 500 psb_gfx


Acer Aspire One AO751

I have been one of the frustrated owners of an Intel GMA 500 card – see how kick your friends face gma500 for details.

Support for this card in Linux has historically been poor, at best, and X typically fails when you boot most distros. For example, the GMA 500 is excluded from Fedora Intel Test Days .

Many people have resorted to attempting to reverse engineer various closed source (PSB and IEGD) and more recently the EMGD driver with mixed results. Support has been best for Ubuntu, and spotty at best for other distros.

In February of this year , Alan Cox started working on a driver gma500: Intel GMA500 staging driver and I have been using this driver on Gentoo for the past few months.

The advantage of the psb-gfx driver is that it is in the Linux kernel and performance is quite acceptable. The driver is 2D, No 3D, Xv, Hardware Accelerated Video.

With some minor changes to the kernel configuration, the psb-gfx driver should soon be working, at native resolution, out of the box, without any end user configuration in both Fedora and Ubuntu.

Note: When starting the live CD/Flash drive, X is distorted when it starts. You need to re-start X (log out an the log in screen is fine, ctrl-alt-backspace in Fedora). Once you install, it helps to disable the boot splash.

Thank you to Alan Cox for developing the psb-gfx driver and to the Fedora and Ubuntu teams for making the adjustments to the default distribution kernel.

Screen shots – click on the images for a larger picture.




Posted in Linux | Tagged , , , | 12 Comments


I have used gentoo on my netbook mainly to test the gma500 staging driver with a custom kernel. I have used gentoo-hardened sources with LUKS and LVM as well as fbcondecor.

In order to get the system to boot I have written a custom initramfs. In case it helps others I am posting some information on the contents.

The files included are listed here:

initramfs tree

biraries in /bin or /sbin are either static, or libs identified with ldd are included in /lib

The init script is sort of adapted from several sources and is as follows

#!/bin/busybox ash
# Modified from

# Report errors / print messages
err () { echo "ERROR: $@"; }
msg () { [ "${quiet}" != 'y' ] && echo $@; }

# Global variables
export ROOT="/dev/mapper/lotus-root"
export PATH="/bin:/sbin"
export CRYPTROOT="/dev/sda10"
export CRYPTNAME="gentoo"
export CONSOLEFONT="ter-v16n"

# Mount proc and sys
mount -t proc none /proc
mount -t sysfs none /sys

# Silence kernel messages
msg "Silencing procfs …"
echo 0 > /proc/sys/kernel/printk

# Read kernel command line options
read CMDLINE </proc/cmdline
export CMDLINE
for x in ${CMDLINE}
  case "${x}" in
      export quiet

# Create devices
echo "/sbin/modprobe" > /proc/sys/kernel/modprobe

msg "Creating device nodes …"
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

# set keymap
#kbd_mode -u /dev/tty1
printf "\033%%G" >> /dev/console
msg "Loading keymap …"
loadkmap < /etc/kmap-us

# set console font
msg "Setting font …"
setfont /usr/share/consolefonts/${CONSOLEFONT}.psf.gz -C /dev/tty
printf "\033(K" >> /dev/console

# Open LUKS Crypt
msg "Open LUKS Crypt …"
while ! cryptsetup luksOpen -T 3 $CRYPTROOT $CRYPTNAME >/dev/null ; do
  sleep 2;

# setup splash screen
. /etc/initrd.splash
msg "Setting up splashscreen …"
splash init

lvm vgscan --ignorelockingfailure > /dev/null
lvm vgchange --ignorelockingfailure -ay >/dev/null

# Mount root fs ro for fsck
mount -o ro /dev/mapper/lotus-root /newroot

# Clean up and exit to rootfs
umount /sys
umount /proc
exec switch_root /newroot /sbin/init ${CMDLINE}

The only problem is that the boot splash does not display any area to enter the LUKS password. Hit alt-F1 and enter the password on the console.

The only other thing I think I need to address is running fsck, but I will leave that for another day.


Posted in Linux | Tagged | 3 Comments

Fedora classroom

I am going to try to offer a few sessions in Fedora Classroom starting next week with iptables.

I hope to cover “the basics” of iptables in #fedora-classroom on September 15th , 21:00 (UTC)

The session is planned to last an hour, with 30 minutes for questions. Target audience – users new to iptables.

The goal is to cover iptables syntax and configuration. To get the most out of the session it will help if you understand the basics of networking TCP/IP protocols and to that end I posted an outline at IPTables.odt.

The session will start with the filtering table and I can cover NAT as time allows.

Selinux has been suggested as a topic for future sessions.

Posted in Linux | 2 Comments