The Register Hardware says about Eeebuntu 3.0 w/ EeePC Tray:
"If you have an Eee PC, this is certainly the version of Ubuntu to go for."
- http://www.reghardware.co.uk/2009/06/09/which_linux_for_netbooks/
Associated Content has this to say:
"Eeebuntu seems to be the easiest way to get Ubuntu on your Eee PC. Almost every hardware feature is supported out-of-box--even in the minimal "Base" version. Eeebuntu is an aesthetically pleasing, full featured, free operating system alternative for the Eee PC that comes highly recommended."
- http://www.associatedcontent.com/article/1758354/eeebuntu_30_base_a_great_way_to_get.html?cat=15
Tuesday, June 9, 2009
EeePC ACPI Utilities and EeePC Tray update
Work is progressing nicely on EeePC ACPI Utilities and EeePC Tray 1.1. Here is a sneak peak at some of the features that will be in the new release.
As you can see from the screenshots the interface hasn't changed much. I've added hotkey access to the controls, and I
have also broken out some of the toggles to be more functional.
The Screen Resolutions control has been updated to query and maintain an active list of screen resolutions available to you. The menu is updated dynamically with the top three available.
The Screen Orientations control has been updated and when using the patched xorg driver now available for testing, your touchpad now rotates along with the screen!
I've added functionality to the Video Display controls to support three screen modes, Internal, External, and Clone modes so it functions more like it would in Windows. Simply right click the tray icon and select Video Displays and then the mode you would like to use.
An additional n
ew feature, and probably my favorite is the new "Insane Performance" mode that becomes available if you define an overclock setting in /etc/acpi/eeepc-acpi.local. While working on EeePC ACPI Utilities I've learned a lot about the Eee PC. One of the things that I discovered is that the asus-eee kernel module doesn't expose the PCI-E multiplier like a lot of people thought. What it exposes is both of the dynamic bus controls which can be used to overclock the Eee, but they don't overclock the PCI-E bus to align the clock change. After spending some time with setfsb in my XP partition (meh, it comes with the Eee, may as well keep it!) I figured out how SHE mode works on my 1000HD which works for the 904HD, then later for the 1000HE which is also valid for the Atom based 900 series. Basically when SHE changes modes it alters the clock generator control at 0x0B, 0x0C, and 0x0F. The first two are the dynamic bus controls and the last is the PCI-E / PCI control. Manipulating the first two controls allowed me to get my Eee up from the default score of 796 to 879 which was great, you can see a significant increase in performance, but it wasn't enough. Through manipulating both the dynamic controls, and the PCI-E bus I managed to overclock to 1200MHz with a geekbench score of 1071. Unfortunately at 1200MHz my PCI-E Ethernet card no longer functions so I settled on a lower frequency of 1145MHz which scores 958. At 879 I can watch Hulu full screen.

What does this mean to you? Well, I've rewritten the CPU control module to utilize the asus-eee kernel module extensions I've added and it now functions like the Windows SHE module. I now use the same frequency adjustments that SHE in XP does to switch between your bus speeds for the models I have found data for. I also now support the BIOS SHE hooks if you choose to use them, and the older legacy scaling control from the 1.0.x series if your clock generator is not yet supported.
My asus-eee kernel module fork expanding support for the PCI-E / PCI adjustment is now called netbook.
ko and is available for installation today from the statux.org repository as netbook-dkms. Please note that this module is not compatible with any of the other Eee PC ACPI tools out there including EeePC ACPI Utilities 1.0.x. The source is open, and available in my SVN repository so those writing competing software are welcome to adopt it.
Here are some of the other changes that have been made, as well as a few that are still on the list to implement before or soon after 1.1 hits the streets.
New features already implemented:
If you would like to ensure that your Eee is properly supported, here's how you can help. If you have a Windows XP instance still available to you, go grab the setfsb utility. Set the PLL in setfsb to ICS0LPR427AGLF, then set your SHE interface to the slowest possible mode. Now in setfsb, click the diagnostics or debug screen. Click "get fsb", and if you see a bunch of hex codes in the window, click the capture button. Now, select the next mode in SHE, then click "get fsb" then capture. Email those screenshots along with your Eee PC model to support@fewt.com. I can extrapolate that data and build support for your Eee using it.
If you don't have Windows available, you can still help. First, open a terminal. Issue the following commands, and email the output to the email address above along with your Eee model.
sudo -s
modprobe i2c-dev
i2cdump -y 0 0x69 s
As you can see from the screenshots the interface hasn't changed much. I've added hotkey access to the controls, and I
have also broken out some of the toggles to be more functional.The Screen Resolutions control has been updated to query and maintain an active list of screen resolutions available to you. The menu is updated dynamically with the top three available.
The Screen Orientations control has been updated and when using the patched xorg driver now available for testing, your touchpad now rotates along with the screen!
I've added functionality to the Video Display controls to support three screen modes, Internal, External, and Clone modes so it functions more like it would in Windows. Simply right click the tray icon and select Video Displays and then the mode you would like to use.
An additional n
ew feature, and probably my favorite is the new "Insane Performance" mode that becomes available if you define an overclock setting in /etc/acpi/eeepc-acpi.local. While working on EeePC ACPI Utilities I've learned a lot about the Eee PC. One of the things that I discovered is that the asus-eee kernel module doesn't expose the PCI-E multiplier like a lot of people thought. What it exposes is both of the dynamic bus controls which can be used to overclock the Eee, but they don't overclock the PCI-E bus to align the clock change. After spending some time with setfsb in my XP partition (meh, it comes with the Eee, may as well keep it!) I figured out how SHE mode works on my 1000HD which works for the 904HD, then later for the 1000HE which is also valid for the Atom based 900 series. Basically when SHE changes modes it alters the clock generator control at 0x0B, 0x0C, and 0x0F. The first two are the dynamic bus controls and the last is the PCI-E / PCI control. Manipulating the first two controls allowed me to get my Eee up from the default score of 796 to 879 which was great, you can see a significant increase in performance, but it wasn't enough. Through manipulating both the dynamic controls, and the PCI-E bus I managed to overclock to 1200MHz with a geekbench score of 1071. Unfortunately at 1200MHz my PCI-E Ethernet card no longer functions so I settled on a lower frequency of 1145MHz which scores 958. At 879 I can watch Hulu full screen.
What does this mean to you? Well, I've rewritten the CPU control module to utilize the asus-eee kernel module extensions I've added and it now functions like the Windows SHE module. I now use the same frequency adjustments that SHE in XP does to switch between your bus speeds for the models I have found data for. I also now support the BIOS SHE hooks if you choose to use them, and the older legacy scaling control from the 1.0.x series if your clock generator is not yet supported.
My asus-eee kernel module fork expanding support for the PCI-E / PCI adjustment is now called netbook.
ko and is available for installation today from the statux.org repository as netbook-dkms. Please note that this module is not compatible with any of the other Eee PC ACPI tools out there including EeePC ACPI Utilities 1.0.x. The source is open, and available in my SVN repository so those writing competing software are welcome to adopt it.Here are some of the other changes that have been made, as well as a few that are still on the list to implement before or soon after 1.1 hits the streets.
New features already implemented:
- SHE like functionality - Modes match Asus SHE when possible
- Full SHE support via eeepc-laptop
- User configurable Fan control
- Separate Fan speed defaults for Celeron and Atom
- Dynamic video resolution controls
- Better Rotation controls w/ Touchpad rotate
- Enhanced display management controls
- Legacy Scaling with new 10% default for better compatibility
- Nearly every control has been optimized or updated for better functionality
- Enable / Disable Card Reader
- Finalize SHE support for remaining models (see below if you would like to help)
- Additional debug options for better user support
- Code optimization
If you would like to ensure that your Eee is properly supported, here's how you can help. If you have a Windows XP instance still available to you, go grab the setfsb utility. Set the PLL in setfsb to ICS0LPR427AGLF, then set your SHE interface to the slowest possible mode. Now in setfsb, click the diagnostics or debug screen. Click "get fsb", and if you see a bunch of hex codes in the window, click the capture button. Now, select the next mode in SHE, then click "get fsb" then capture. Email those screenshots along with your Eee PC model to support@fewt.com. I can extrapolate that data and build support for your Eee using it.
If you don't have Windows available, you can still help. First, open a terminal. Issue the following commands, and email the output to the email address above along with your Eee model.
sudo -s
modprobe i2c-dev
i2cdump -y 0 0x69 s
Saturday, May 16, 2009
Eeebuntu Base v3 has been released
Users of the Standard or Netbook Remix versions will want to wait a week or two before upgrading, however if you are using Base go grab a copy [ LINK ]. Upgrading from 2.0 to 3.0 will most likely not be seemless, the Eeebuntu team is working on fixing that. For now if you want to jump into 3.0-BASE it is recommended that you back up your data and do a clean installation.
Be kind and help seed this great new release for a while after your download completes!
Be kind and help seed this great new release for a while after your download completes!
Friday, April 3, 2009
EeePC and the Notification Tray

I've had quite a few user requests to add a tray icon to EeePC ACPI Utilities. At first I didn't think that it would be a value-add, however now that I've received 10 or 20 requests for a tray icon, and since
there are hundreds of EeePC ACPI Utilities users, I decided that it was time. Keeping all of the goals of EeePC ACPI Utilities in mind, I wanted light weight, small execution footprint, and it had to be optional. In the process, I decided that I wanted to fully integrate it with the Gnome desktop. With a small set of requirements I set out to write the applet in Gtk# (learning Gtk# in the process). Over the last few days I have had quite a bit of feedback, and I've added many user requested features. At this time I'd like to announce the availability of the experimental applet to a broader audience.To install, simply 'apt-get install eeepc-tray' from the statux.org repository and click Applications ->
System Tools -> EeePC Tray. Additionally, the applet will autostart upon login configurable in Preferences -> Sessions.One thing that I'm looking for is a new tray icon. I've been working on a few, but I'm not the only user that will see it full time, so if you have an idea for an icon, please forward it to me. Before I release the first stable version, I will collect all of the icons (my own and all user submitted) and hold a poll to see who's icon will be the face of EeePC Tray!
NOTE: EeePC Tray is still experimental and under heavy development. While I will do everything possible to test for race conditions and memory leaks between releases, this applet is not yet considered stable.
Saturday, March 28, 2009
Eee PCs and Brute Force Overclocking
Today I decided to really dig into the output of i2cdump and see just what I could get my Eee PC 1000HD to do. For those that don't know what's in it, it contains a Celeron ULV processor at 900MHz, 1GB of memory, and a 120GB hard drive. I am testing with a nearly fresh restore of Windows XP from the Eee PC restore media, and Ubuntu 8.10 running Eee PC ACPI Utilities version 1.0.24, and the force-hpet kernel option.
Before trying this at home, be warned that it could damage your Eee and invalidate your warranty. By continuing to read, you agree that I'm not responsible (heh).
I began by dumping the contents of memory space 0x69 with i2cdump:
If you look at registers 0x0B and 0x0C you will see that they are 15 30 in hex. My PLL registers as '30 15 1' when using the asus_eee kernel module.
Using i2cset I was able to brute force my FSB and PCIe multipliers in different directions, I stepped through each in both directions to see how far I could get them to go before hanging the computer. Before jumping into i2cset, I used i2cget to ensure I was going to write to the correct register.
Note the 1f at the end of the line, it is required that you add it when writing. No matter what register you read, it will always end with '1f'.
Once I had a good understanding of the boundries, I set out to find the ideal overclock combination, running geekbench after each test. Once I had completed testing I also ran each setting against powersave to see how much additional power would be consumed. I didn't record the watts, only battery time left. Just for kicks, I rebooted into my XP partition and executed the same test. In addition I tested XP in each mode for expected battery life. I did no additional tweaking to XP outside of the Eee PC Restore and setting "hybrid" modes. In even nearly every test, the Ubuntu Geekbench score was higher than XP. Notice though when the multiplier in Linux is set higher, the score dropped!
See the results below:
While stock is 30/15, the best bang for the buck is clearly 31/14.
Here is a link to the Spreadsheet - [ LINK ]
For those of you wishing to learn about how to overclock their Linux Eee, or those who are running on a PLL that is currently unsupported, maybe this can help you. In the future, I may release a force-clock tool as a part of Eee PC ACPI Utilities. Today for Eee PCs supported by asus_eee kernel module, and running EeePC ACPI Utilities; you can overclock your Eee by editing the OVERRIDE_FSB and OVERRIDE_MULTIPLIER options in /etc/default/eeepc-acpi and then disconnecting and reconnecting your power cable.
*UPDATE* When overclocked I discovered that the Eee PC wouldn't suspend. Version 1.0.25 (Available for testing: LINK ) re-works the CPU module, init script, and power management script to enable changing the FSB back to factory default before suspending so suspend now works when overclocked! No worries though, when you power back on it will restore your previous setting!
*UPDATE* I found more information on why I seem to be getting better performance from a PCIe underclock!
"At boot, both Asus and Abit manipulate the PCI Express frequency and set ratios that result in a lower PCIe frequency than would be expected at a given clock frequency. Since PCIe frequency and CPU clock frequency are derived from the same PLL, then a Clock frequency of 258 (FSB of 1032), for example, would result in a PCIe frequency of 129. In fact, the Abit PCIe clock at 258 is 118, below the maximum of 120 for most nVidia PCIe cards." [ LINK ]
Before trying this at home, be warned that it could damage your Eee and invalidate your warranty. By continuing to read, you agree that I'm not responsible (heh).
I began by dumping the contents of memory space 0x69 with i2cdump:
'i2cdump -y 0 0x69 s'(bolded since I can't get blogger to do 'code', 'fixed font' or 'pre'; if you get an error, load the i2c-dev kernel module)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 45 f1 a8 f2 f4 00 00 11 1f 1e 00 0f 1e fe 2f 8f E????..???.???/?
10: 68 00 30 05 0a 01 1e 00 68 13 56 04 08 c8 0d h.0????.h?V????
If you look at registers 0x0B and 0x0C you will see that they are 15 30 in hex. My PLL registers as '30 15 1' when using the asus_eee kernel module.
Using i2cset I was able to brute force my FSB and PCIe multipliers in different directions, I stepped through each in both directions to see how far I could get them to go before hanging the computer. Before jumping into i2cset, I used i2cget to ensure I was going to write to the correct register.
'i2cget -y 0 0x69 0x0C w'
0x1e1f
'i2cget -y 0 0x69 0x0B w'
0x0f1f
Note the 1f at the end of the line, it is required that you add it when writing. No matter what register you read, it will always end with '1f'.
'i2cset -y 0 0x69 0x0C 0x1e1f w'
Value 0x1e1f written, readback matched
'i2cset -y 0 0x69 0x0B 0x0f1f w'
Value 0x0f1f written, readback matched
Once I had a good understanding of the boundries, I set out to find the ideal overclock combination, running geekbench after each test. Once I had completed testing I also ran each setting against powersave to see how much additional power would be consumed. I didn't record the watts, only battery time left. Just for kicks, I rebooted into my XP partition and executed the same test. In addition I tested XP in each mode for expected battery life. I did no additional tweaking to XP outside of the Eee PC Restore and setting "hybrid" modes. In even nearly every test, the Ubuntu Geekbench score was higher than XP. Notice though when the multiplier in Linux is set higher, the score dropped!
See the results below:
| OS | Clock | Geekbench | GlxGears | Temp | PF | OD | PS |
| Ubuntu 8.10 | 30/14 | 839 | 649 FPS | 60 C | |||
| 30/15 | 791 | 656 FPS | 59 C | 3.0 H | 3.6 H | 3.6 H | |
| 30/16 | 739 | 572 FPS | 60 C | ||||
| 31/14 | 877 | 715 FPS | 63 C | 3.0 H | 3.5 H | 3.5 H | |
| 33/15 | 869 | 711 FPS | 60 C | ||||
| Windows XP | Super HP | 748 | N/A | N/A | 2.5 H | ||
| HP | 697 | N/A | N/A | 2.43 H | |||
| PowerSave | 488 | N/A | N/A | 3.22 H |
While stock is 30/15, the best bang for the buck is clearly 31/14.
Here is a link to the Spreadsheet - [ LINK ]
For those of you wishing to learn about how to overclock their Linux Eee, or those who are running on a PLL that is currently unsupported, maybe this can help you. In the future, I may release a force-clock tool as a part of Eee PC ACPI Utilities. Today for Eee PCs supported by asus_eee kernel module, and running EeePC ACPI Utilities; you can overclock your Eee by editing the OVERRIDE_FSB and OVERRIDE_MULTIPLIER options in /etc/default/eeepc-acpi and then disconnecting and reconnecting your power cable.
*UPDATE* When overclocked I discovered that the Eee PC wouldn't suspend. Version 1.0.25 (Available for testing: LINK ) re-works the CPU module, init script, and power management script to enable changing the FSB back to factory default before suspending so suspend now works when overclocked! No worries though, when you power back on it will restore your previous setting!
*UPDATE* I found more information on why I seem to be getting better performance from a PCIe underclock!
"At boot, both Asus and Abit manipulate the PCI Express frequency and set ratios that result in a lower PCIe frequency than would be expected at a given clock frequency. Since PCIe frequency and CPU clock frequency are derived from the same PLL, then a Clock frequency of 258 (FSB of 1032), for example, would result in a PCIe frequency of 129. In fact, the Abit PCIe clock at 258 is 118, below the maximum of 120 for most nVidia PCIe cards." [ LINK ]
Why run EeePC ACPI Utilities on your Eee PC?
I've been answering a lot of questions this week about battery life on the Eee. One reason to consider using EeePC ACPI Utilities to manage ACPI on your Eee PC is that one of my goals is to squeeze as much battery life as possible from your Eee, while keeping your performance mode running as normal.
To do that, I spent a significant amount of time testing various kernel parameters and CPU states. Once I had data, I set out to build sufficient function into EeePC ACPI Utilities version 1.0.23.
As a result, with a Celeron ULV processor at 900MHZ it's possible to squeeze up to 4 hours of battery life out of a 4 Cell battery.
- Powertop with WIFI, Bluetooth, Touchpad disabled, in 'ondemand' mode:

- Powertop with WIFI, Bluetooth, Touchpad disabled, in 'performance' mode:

- Powertop with everything on in 'performance' mode:

Starting with the most recent versions of EeePC ACPI Utilities, I added a script execution feature to CPU states. This enables the tool to change kernel parameters as power to the Eee is added or removed.
You'll see a nice gain in performance and battery life by putting temp spaces in ramdisks. This can be done by editing fstab and adding the following lines:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
I recommend shutting down sysklogd, and flushing the contents of these directories and then running "mount -a" to mount them.
sudo /etc/init.d/sysklogd stop
sudo rm -rf /tmp/*
sudo rm -rf /var/log/*
sudo rm -rf /var/tmp/*
sudo mount -a
sudo /etc/init.d/sysklogd start
One last thing, be sure to add "force-hpet" to defoptions in /boot/grub/menu.lst and then run sudo update-grub.
I'm always looking for new ways to improve these tools while meeting my basic requirements of being light weight and fast. If you would like something added, let me know!
What kind of battery life are you getting from your Eee? Disconnect all USB devices, Open a terminal and type 'sudo powertop' (don't press enter yet), Disable WIFI, Bluetooth, Camera, and Touchpad. Pull your ethernet connection, and your power connection then press enter in your terminal. Wait a little while (minimum 20 seconds), what sort of battery life do you get with Eee PC ACPI? Please let me know the details of your machine in the comments like 1000HE / Atom / Hard drive or SSD / type of battery, etc.
To do that, I spent a significant amount of time testing various kernel parameters and CPU states. Once I had data, I set out to build sufficient function into EeePC ACPI Utilities version 1.0.23.
As a result, with a Celeron ULV processor at 900MHZ it's possible to squeeze up to 4 hours of battery life out of a 4 Cell battery.
- Powertop with WIFI, Bluetooth, Touchpad disabled, in 'ondemand' mode:

- Powertop with WIFI, Bluetooth, Touchpad disabled, in 'performance' mode:

- Powertop with everything on in 'performance' mode:

Starting with the most recent versions of EeePC ACPI Utilities, I added a script execution feature to CPU states. This enables the tool to change kernel parameters as power to the Eee is added or removed.
You'll see a nice gain in performance and battery life by putting temp spaces in ramdisks. This can be done by editing fstab and adding the following lines:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
I recommend shutting down sysklogd, and flushing the contents of these directories and then running "mount -a" to mount them.
sudo /etc/init.d/sysklogd stop
sudo rm -rf /tmp/*
sudo rm -rf /var/log/*
sudo rm -rf /var/tmp/*
sudo mount -a
sudo /etc/init.d/sysklogd start
One last thing, be sure to add "force-hpet" to defoptions in /boot/grub/menu.lst and then run sudo update-grub.
I'm always looking for new ways to improve these tools while meeting my basic requirements of being light weight and fast. If you would like something added, let me know!
What kind of battery life are you getting from your Eee? Disconnect all USB devices, Open a terminal and type 'sudo powertop' (don't press enter yet), Disable WIFI, Bluetooth, Camera, and Touchpad. Pull your ethernet connection, and your power connection then press enter in your terminal. Wait a little while (minimum 20 seconds), what sort of battery life do you get with Eee PC ACPI? Please let me know the details of your machine in the comments like 1000HE / Atom / Hard drive or SSD / type of battery, etc.
Wednesday, March 18, 2009
Need your help - gathering Eee PC Model support data for Eeebuntu team
Folks, thank you all for using Eee PC ACPI Utilities. The folks over at Eeebuntu.org have recently asked me which models were fully supported, and quite frankly I don't really have a good answer other than it's downloaded an average of 30 times per day.
If you wouldn't mind, please post a comment in this thread, or bounce over to one of the Eee forums [ EeeUser ] [ EeeBuntu ]. Feel free to post anonymously, all we need is your model and how well it is working (100%, 75%, etc). Oh and if you have had any challenges or if something doesn't work within the context of these tools that information would help me correct it.
If you wouldn't mind, please post a comment in this thread, or bounce over to one of the Eee forums [ EeeUser ] [ EeeBuntu ]. Feel free to post anonymously, all we need is your model and how well it is working (100%, 75%, etc). Oh and if you have had any challenges or if something doesn't work within the context of these tools that information would help me correct it.
Subscribe to:
Posts (Atom)