rss

WiFi power saving & kernel 2.6.31

3

Category : English, Linux, Programming

As of Linux kernel 2.6.31 (currently available on Arch Linux for instance), due to a change in the iwl* drivers, the sysfs entries that were managing power saving on related WiFi chips was removed due to some power management-related bugs.

As such, it’s impossible to manually set powersaving either using sysfs or via a command like iwconfig power.

Worst part is that the drivers aren’t even correctly advertising themselves to mac80211 (the underlying layer of the WiFi stack) as able to handle power saving operations thus preventing any event to be propagated back to the driver. You can find more information about the problem on the following thread.

Of course this sucks quite a bit for people who cares about their battery life and who don’t want to wait for 2.6.32 kernel. That’s why we decided to try up compat-wireless.

Compat-wireless is a set of scripts that allows you to install the freshest drivers from the linux-wireless project (list of driver here) in a safe fashion i.e. without messing up your distribution supplied modules and without need for a kernel recompilation. These new modules are also very easy to uninstall and everything is made to prevent you from nuking too much your system.

Turns out that in recent revision of the drivers (>= 2009-10-28), powersave is back in a sort of automated fashion and blocking powersave operations are now limited to the faulty driver/chipset : iwl4965. So if you either use iwlagn or iwl3945 (lsmod will tell you) chances are good that you will get back your nice powertop output (it did for a friend and I).

As for installing the beast, the instructions on the official website starting from here are simple and straightforward.

Of course, if you were using iwl4965 your are still left out. However, if power saving weren’t breaking up your driver on earlier kernel version, you can simply comment out the .broken_powersave = true configuration statement in iwl-4965.c (line 2282 or so) under drivers/net/wireless/iwlwifi/.

Follow-up on OpenVG support for Moonligh

Category : C#, English, Linux, Mono, Programming

Interested by the stuff I demonstrated some weeks ago ?

Check out the following message on Moonlight mailing-list for instructions on how to get the same thing.

Just to make you salivate :



BubbleMark running at ~50 fps without too much visual glitches
(direct link : http://www.youtube.com/watch?v=Ekfb6jCyDmM)

Joining the Moonlight fun

8

Category : C#, English, Linux, Mono, Programming

Watching my teammate hacking on moonlight was sure to detain on me someday. So when Alan talked about making Moonlight run on top of OpenVG I got pretty hooked.

Two hacking days later, I actually got something to « work ». At the moment it’s quite rough, hacky and it probably kills kitteh too (be careful, it makes shana angry, you wouldn’t like that).

Basically, what I did is to plug the OpenVG layer inside Moonlight custom version of cairo (using that code as a base) and then tweaked Moonlight to use the new surface (together with some changes in how drawing and caching is done internally).

Following is a screencast of the thing running Bubble Mark :



(Direct link : http://www.youtube.com/watch?v=dywInr08ySg)

As you can see there are a lot of drawing issues remaining but the basic stuff is here. The code is not terribly faster (+10 fps or so) but that may come either from a bug in my graphic card driver (it already does the bizarre thing of slowing down after some time) or an other part of Moonlight.

It will definitely be better when OpenVG becomes more widespread, has more optimized implementations and can actually run on its own rather than on top of OpenGL (I’m eager to try that on top of Gallium3D when it will be ready).

As for inclusion in the mainline tree, I don’t know. I mostly did the thing for fun as a proof-of-concept and it’s certainly far too crappy to ever get integrated as is, but maybe someone will step up and do it correctly later :-) .

DBus-Explorer 0.5

3

Category : C#, DBus Explorer, English, Linux, Programming

Time for another release of DBus-Explorer, your favorite D-Bus API viewer.

Summary

D-Bus Explorer is a GTK+ application written in C# which use NDesk’s managed D-Bus library to display the API of D-Bus services. In summary, it’s a clone of dbus-viewer with a GTK+ interface.

New in this release

  • UI cleanup. Interface generation is now only available when right clicking interface item and allow to select items individually :

    2009-03-23-092546_647x631_scrot

  • Method invoking for simple methods (i.e. only when base type are involved in the method prototype) :

    2009-03-23-092916_404x207_scrot

  • Property support is back :

    2009-03-23-093007_802x625_scrot

  • Yet another parser rewrite. This time it’s definitely cool.

Download

Tarball : http://www.ndesk.org/archive/dbus-explorer/dbus-explorer-0.5.tar.gz

Future

For my usage, D-Bus Explorer is starting to get rather feature complete. Therefore, if you have any idea of a cool feature that could be implemented don’t hesitate to drop your thought in the comments.

Funny parallelism

4

Category : C#, English, Google Summer of Code 2008, Linux, Mono, Programming

For those who have some free leisure time this weekend and would like to explore a bit ParallelFx in a didactic manner I ported to Linux a Sudoku game coming from ParallelFx CTP samples which optionally uses ParallelFx to generate Sudoku grids.

For screenshot fans that’s how it looks like :

Sudoku main interface

Sudoku main interface

You can enable the use of ParallelFx via the two options « Use multiple processors to generate puzzles » and « Use speculative puzzle generation » found in the Game settings box :

Game settings window

Game settings window

The first one uses Parallel.For instead of a standard for to generate grids and the other allows the background generation of further grids using Future.

Bulk of changes for DBus-Explorer

Category : C#, DBus Explorer, English, Linux, Programming

Long time I hadn’t hacked on DBus-Explorer but as a exam stress killer I brought together all the piece I had already randomly coded. This resulted in a number of appreciable improvements that were long overdue like :

Tabbed browsing :

Good if you get lost like me with multiple DBus-Explorer windows (Ctrl+T to open and tab button to close, who say Firefox ?).

Multiple (possible) languages :



Just write a definition file like the one in the screenshot and drop it in ~/.dbus-explorer/langs, « possible » because I was too lazy to write another language than C# :P .

Stubs autogeneration :



For use with library like Managed D-Bus, yay \o/ .

There has also been work on the UI and other bugfixes but nothing major. All in one I think DBus-Explorer kept its KISS nature together with the few extra features it was missing. Now I just need to add dialogs for managing language definitions and stub generators in a friendly way.

Hot stuff to be grabbed on git at the usual place.

Arch-ifying the EEE

2

Category : English, General, Linux

shot.png uname.png

I passed the weekend but it was really worth it. I mostly followed the indications on the Arch Wiki for the installation part (using dkite’s modules and patched acpid) except that I used the latest intel Xorg driver package from testing instead of i810 and its ugly 915resolution hack. I also had some problems with partitioning my usb key (cfdisk was borking on the partition table) but a quick override of the table with parted seemed to resolve them.

So Vache is now powered by Linux 2.6.23, latest Xorg and Openbox 3.4.5 (will update to the, recently released, 3.4.6 version later). I made a sort-of desktop using xfce4-panel (I found out that AWN depends on too much gnome libs for my taste), xcompmgr for some compositing goodness like drop-shadow and window transitions (works pretty well apart from some odd painting behaviors in Firefox) and feh for the background handling. I also use other softwares from XFCE4 like Thunar (file manager), Terminal, Mousepad etc… for my everyday use. Media playback is assured by good-old MPlayer, networking is handled by Network Manager (if only it could drop some gnome dependencies too), Abiword for word-processing and of course Mono & Monodevelop for the geeky stuff ;) . My autostart.sh is here if someone is interested.

Thanks to dkite’s acpid and kernel packages, everything works as well as on the default OS of the EEE (even the different state popups for sound, WiFi and all). Overall I’m very pleased with my setup : it’s fast, lightweight and do its job. The only culprit so far is memory when using Flash (which notoriously leak memory) and Firefox after some heavy browsing time. Moreover the shared-memory nature of the Intel graphic chipset cause the memory usage to go up when playing things like Youtube videos. I somehow fixed the former by using the FlashBlock addon and improved the latter by tuning some of the about:config keys. Guess that replacing the current RAM with a 2gb one will make everyone happy.

Hey, look who is hEEEre !

Category : English, General, Life, Linux

Yep that’s right. I was talking about something great for today and it happened, I got my shiny Asus EEE :D .

Some shoots of the unpacking below :

dscn0119.jpg
The package.

dscn0122.jpg
Shoot of the box.

dscn0124.jpg
Opening Ali Baba’s cavern.

dscn0126.jpg
First sight of the beast

dscn0130.jpg
Opened without the battery.

dscn0132.jpg
The rest of the box.

dscn0140.jpg
The welcoming screen in easy mode (the battery is normally located in the hole between the keyboard and the screen).

dscn0144.jpg
Mandatory screenshot :-P .

dscn0146.jpg
System info.

Some impressions. First of all the machine is really small. Those who compared it to a plied A4 paper are completely right. But even with the small screen the image is very clear and readable (which was one of the thing I was afraid of when I bought it). It’s also ridiculously light and easily transportable (as it’s supposed to be anyway).

I ran it on battery for a while (browsing, playing videos, doing some console stuff) so battery life seems great. The only ventilator (cooling the CPU) is very discrete which, together with the SSD-based disk, allow a very silent system.

Keyboard is indeed tricky to get used to (some touch, like the numbers at the top, are a little translated compared to a normal keyboard) but after some learning time I was typing without problems (even with my big fingers). The trackpad is also very small and I found the right part (used to scroll in windows) to be really hard to use. I guess my next gift will be one of these micro mouse.

The base system is a modified Xandros running IceWM and some parts of KDE and, once you get the shortcut to launch a terminal (Ctrl + Alt + T), administering it is a breeze if you already use a Debian or Debian-like distribution. All in one I found the whole system to be very fluid even with the limited resources of the machine (600-something MHz downgraded processor and 512Mo of RAM) with every applications (including OpenOffice) starting reasonably fast. I probably won’t digg any deeper in the OS as I plan to replace it.

I will add more photos once I put Arch on it (I already switched the system in « Expert » mode thanks to this howto). A bare Openbox session together with a small AWN bar, for launching and tracking the applications, will do the trick (since the EEE has an Intel chipset, Compositing support is good).

Btw, I have to give this baby a name (just « My EEE » isn’t that great). Nosfer suggested that I call it « La Vache » (pun with my name, here is what it means). I was reticent at first but in the end… why not ? :) . So let me introduce to the world « Vache », the EEE PC ;) :

vache.png

That’s all for now folks.

WTF ?!

Category : Linux, Quick note, Ubuntu

bleh.jpg

Is this supposed to be funny ?

Install Party @ UTBM

Category : Linux, School, Ubuntu

Last Thursday, Lolut, a club which promote the free and open-source culture and of which I’m the (forced ;) ) manager, organized an install party at school where we put the latest release of Ubuntu on the students machine.

I must say that, as it’s my first action as a member of Lolut, I’m very happy with the outcome. Indeed, 3 days before the event we had only 4-5 people registered on the website and, suddenly, the last day before the party, this number jumped to 15. That number of persons for a little event like that was already a good achievement but in the end it was something like 20-25 people who came and returned at home at the end of the afternoon with a new shiny Ubuntu box :D . Moreover everybody was cool and Lolut’s members really rocked knowing how bad the organization was :-P . The only little bad point is that we didn’t have time to really teach everybody some Linux tips&trick apart from a bare how-to-install-package-with-synaptics.

Surprisingly there were almost no problems at all during each installations and, in a short amount of time, everybody was playing with his wobbly windows. As a matter of fact the tweaking of the apt mirror and the proxy was what took most of the time/problems (thanks nextgens for the hard work on that !).