I've been fighting an OS (kernel and xorg mostly) that changes with nearly every patch or release to support the Eee PCs for almost 12 months to try to make Linux better for Eee users.
Every time something in the OS changes, Eee PC Utils gets the blame for "breaking" people's computers even though whatever I release typically doesn't even alter the code being reported. Even though I've published work-around after work-around on the Wiki for Linux bugs like the famous bluetooth bug in 2.6.28, the WIFI hotplug bug (pciehp force), or linking to the fix for the Intel video driver bugs, its still considered my fault in the eyes of the users when the screen won't turn off and on (xrandr reports a protocol error that it didn't a few weeks ago) or their WIFI won't come on after they turn it off (because the kernel pciehp module is broken).
Now that Karmic is coming Eee users are looking forward to having 2 Radio Kill devices for Bluetooth, and 2 for WIFI. Yes, this is in a production released kernel, yes, the interfaces are provided by different modules (eeepc-laptop exposes them as do the driver modules), yes their naming and function is of course not named using a reasonably grep-able syntax, and yes they do actually work differently somehow.
Not only that, but you also get to look forward to even more bugs in the Intel drivers like the one causing xrandr to report success even when it does nothing, or the super awesome kernel mode setting bug that leaves many Eee 900 users with nothing but a blank screen at startup. This is real PROGRESS people!
Try for yourself. Run these two commands on Jaunty and Karmic. If you have the Intel driver you should see nothing happen in Karmic with the first command, and both commands work in Jaunty (note: Change LVDS to LVDS1 for it to work in Karmic, but then it doesn't work in Jaunty, but the point is WHY DOES IT RETURN 0!).
xrandr --output LVDS --mode 800x600 --scale 1.0x1.0
xrandr -s 800x600
To return to your default resolution, type this:
xrandr -s -
Why not have a little fun with it! Yes, unfortunately this really works. xrandr returns 0 and "YEP" is echoed as if it set output UBUNTU to mode SUCKS. :(
xrandr --output UBUNTU --mode SUCKS && echo YEP
I've been hearing a lot of users posting (by a lot I mean .002% of the 15,000 Eee PC ACPI users that download the utilities every release) that they wish I would continue working on the utilities, some have even posted that they were completely successful following the advice and posts that are well documented.
I just can't do it, because Ubuntu sucks. Instead of moving forward with every release, they have the uncanny ability to take Linux back in time by piling code that doesn't work on top of more code that doesn't work until they have turned their OS into a garbage salad. 8.10 was GREAT, and for the most part everything worked. Some things were missing concerning support of newer Eees, but then they released Ubuntu Jaunty 9.04. 9.04 could only have been released completely untested, as they missed something as stupid as the Intel tiling kernel bug which caused every Intel card out there to crawl during any OpenGL function. There is no excuse for their release of alpha grade drivers and less than alpha grade kernel code into their release distribution.
In order to work around all of the bugs that 9.04 released as "gold" "stable" code, one must spend at a minimum 30 minutes replacing packages and patching mtrr bugs to get a reasonable level of performance out of their Eees. We spent days working on documenting all of the fixes that need to be applied to 9.04 to get it to some semblance of stable. Even then, don't turn compiz on and suspend because your super cool new "stable" version of xorg will consistently segfault leaving you at a GDM screen without your data being saved in any of the applications it unloads out from underneath itself.
Now we have Karmic coming down the pike in just a few weeks, and xrandr can't even take you from 1024x600 to 800x600 even though it thinks it did. Not only that but since your rfkill devices are re-ordered at boot, the only way to get the right one is to trigger them both and hope for the best unless you like nasty greps in something that should respond instantly. When you consider WIFI if you don't trigger one, sleep, then trigger the other it's not going to work anyway even though it will think it did. If you trigger rfkill, but you see that NetworkManager still has your WIFI disabled, yeah, that's because it's looking at the other one. Oh and don't put away the force pciehp edit that you put in your menu.list for Jaunty because even though there's a cool kernel mode setting feature, they still haven't fixed that bug that's existed since *2.6.28*. No, there is nothing that I can do about the notifications clogging up your screens, Ubuntu's shiny new notification system STILL ignores the expiration time option from notify-send and apparently now defaults to more than 10 seconds before expiring a notification. Oh and the scripts that live in /etc/pm/power.d yeah they only trigger sometimes now. So, if you have my utilities installed in 9.10 and you are wondering why it doesn't trigger to powersave when you unplug power, you can thank the wonderful Ubuntu team for creating even more bugs in this "great" operating system by switching to devkit rather than choosing to stick with something stable and mature.
The release tonight (1.1.47) will be my last for Eee PC ACPI, as I don't have the time or the desire to keep working toward a goal that continually moves out of reach, or support an operating system that isn't even as stable as Windows XP. Provided you have patched your Ubuntu / Eeebuntu install with all of the non-standard hotfixes (2.6.30, multiple configuration files, mtrr fix, Intel Driver switch, etc) it should hopefully remain functional for the duration of Jaunty's lifecycle.
Maybe with luck someone at Ubuntu will figure out that they are ruining Linux with their release schedules and constant bleeding edge cruft and will slow down to focus on bugs that are making their OS suck. Maybe the kernel team will actually learn how to write modules that work and don't duplicate code and functions like rfkill, and perhaps the xorg team will focus on real issues like making drivers that actually work rather than changing how you configure it 3 times in 3 releases. Oh wow cool, it goes from terminal to GUI in 1 second, too bad I can't suspend with composite mode on without the driver segfaulting. Who needs suspend anyway, not like its a useful feature and all on an ultraportable.
Then again, maybe I'm just irritated because I released an update that ONLY alters how notifications are displayed and once again I immediately start getting hate mail that I broke people's WIFI when it's really the fault of whomever decided that eeepc-laptop AND ath5k needed to expose rfkill and the fault of the kernel for not hotplugging the device when rfkill is called unless you force it at boot.
Well don't worry folks, I won't "break your WIFI" anymore.
Maybe I should buy a copy of Windows 7, I hear that it actually works. How can we expect non-techical users to use this pile of garbage that is "Linux"?
/rant
UPDATE: Eeebuntu team votes to shift distribution base to debian. [ LINK ]
Every time something in the OS changes, Eee PC Utils gets the blame for "breaking" people's computers even though whatever I release typically doesn't even alter the code being reported. Even though I've published work-around after work-around on the Wiki for Linux bugs like the famous bluetooth bug in 2.6.28, the WIFI hotplug bug (pciehp force), or linking to the fix for the Intel video driver bugs, its still considered my fault in the eyes of the users when the screen won't turn off and on (xrandr reports a protocol error that it didn't a few weeks ago) or their WIFI won't come on after they turn it off (because the kernel pciehp module is broken).
Now that Karmic is coming Eee users are looking forward to having 2 Radio Kill devices for Bluetooth, and 2 for WIFI. Yes, this is in a production released kernel, yes, the interfaces are provided by different modules (eeepc-laptop exposes them as do the driver modules), yes their naming and function is of course not named using a reasonably grep-able syntax, and yes they do actually work differently somehow.
Not only that, but you also get to look forward to even more bugs in the Intel drivers like the one causing xrandr to report success even when it does nothing, or the super awesome kernel mode setting bug that leaves many Eee 900 users with nothing but a blank screen at startup. This is real PROGRESS people!
Try for yourself. Run these two commands on Jaunty and Karmic. If you have the Intel driver you should see nothing happen in Karmic with the first command, and both commands work in Jaunty (note: Change LVDS to LVDS1 for it to work in Karmic, but then it doesn't work in Jaunty, but the point is WHY DOES IT RETURN 0!).
xrandr --output LVDS --mode 800x600 --scale 1.0x1.0
xrandr -s 800x600
To return to your default resolution, type this:
xrandr -s -
Why not have a little fun with it! Yes, unfortunately this really works. xrandr returns 0 and "YEP" is echoed as if it set output UBUNTU to mode SUCKS. :(
xrandr --output UBUNTU --mode SUCKS && echo YEP
I've been hearing a lot of users posting (by a lot I mean .002% of the 15,000 Eee PC ACPI users that download the utilities every release) that they wish I would continue working on the utilities, some have even posted that they were completely successful following the advice and posts that are well documented.
I just can't do it, because Ubuntu sucks. Instead of moving forward with every release, they have the uncanny ability to take Linux back in time by piling code that doesn't work on top of more code that doesn't work until they have turned their OS into a garbage salad. 8.10 was GREAT, and for the most part everything worked. Some things were missing concerning support of newer Eees, but then they released Ubuntu Jaunty 9.04. 9.04 could only have been released completely untested, as they missed something as stupid as the Intel tiling kernel bug which caused every Intel card out there to crawl during any OpenGL function. There is no excuse for their release of alpha grade drivers and less than alpha grade kernel code into their release distribution.
In order to work around all of the bugs that 9.04 released as "gold" "stable" code, one must spend at a minimum 30 minutes replacing packages and patching mtrr bugs to get a reasonable level of performance out of their Eees. We spent days working on documenting all of the fixes that need to be applied to 9.04 to get it to some semblance of stable. Even then, don't turn compiz on and suspend because your super cool new "stable" version of xorg will consistently segfault leaving you at a GDM screen without your data being saved in any of the applications it unloads out from underneath itself.
Now we have Karmic coming down the pike in just a few weeks, and xrandr can't even take you from 1024x600 to 800x600 even though it thinks it did. Not only that but since your rfkill devices are re-ordered at boot, the only way to get the right one is to trigger them both and hope for the best unless you like nasty greps in something that should respond instantly. When you consider WIFI if you don't trigger one, sleep, then trigger the other it's not going to work anyway even though it will think it did. If you trigger rfkill, but you see that NetworkManager still has your WIFI disabled, yeah, that's because it's looking at the other one. Oh and don't put away the force pciehp edit that you put in your menu.list for Jaunty because even though there's a cool kernel mode setting feature, they still haven't fixed that bug that's existed since *2.6.28*. No, there is nothing that I can do about the notifications clogging up your screens, Ubuntu's shiny new notification system STILL ignores the expiration time option from notify-send and apparently now defaults to more than 10 seconds before expiring a notification. Oh and the scripts that live in /etc/pm/power.d yeah they only trigger sometimes now. So, if you have my utilities installed in 9.10 and you are wondering why it doesn't trigger to powersave when you unplug power, you can thank the wonderful Ubuntu team for creating even more bugs in this "great" operating system by switching to devkit rather than choosing to stick with something stable and mature.
The release tonight (1.1.47) will be my last for Eee PC ACPI, as I don't have the time or the desire to keep working toward a goal that continually moves out of reach, or support an operating system that isn't even as stable as Windows XP. Provided you have patched your Ubuntu / Eeebuntu install with all of the non-standard hotfixes (2.6.30, multiple configuration files, mtrr fix, Intel Driver switch, etc) it should hopefully remain functional for the duration of Jaunty's lifecycle.
Maybe with luck someone at Ubuntu will figure out that they are ruining Linux with their release schedules and constant bleeding edge cruft and will slow down to focus on bugs that are making their OS suck. Maybe the kernel team will actually learn how to write modules that work and don't duplicate code and functions like rfkill, and perhaps the xorg team will focus on real issues like making drivers that actually work rather than changing how you configure it 3 times in 3 releases. Oh wow cool, it goes from terminal to GUI in 1 second, too bad I can't suspend with composite mode on without the driver segfaulting. Who needs suspend anyway, not like its a useful feature and all on an ultraportable.
Then again, maybe I'm just irritated because I released an update that ONLY alters how notifications are displayed and once again I immediately start getting hate mail that I broke people's WIFI when it's really the fault of whomever decided that eeepc-laptop AND ath5k needed to expose rfkill and the fault of the kernel for not hotplugging the device when rfkill is called unless you force it at boot.
Well don't worry folks, I won't "break your WIFI" anymore.
Maybe I should buy a copy of Windows 7, I hear that it actually works. How can we expect non-techical users to use this pile of garbage that is "Linux"?
/rant
UPDATE: Eeebuntu team votes to shift distribution base to debian. [ LINK ]