Its been almost one year since my last post, but that doesn’t mean I have lost my interest in Linux or programming. I have been working on my XPS kernel project until September, but with the release of 09.10, Ubuntu have changed their way of compiling kernel once again, which was a bit of ride trying to figure out how the new process works, took my toll and I moved on from the dreams of custom kernel.

I have put stable release for Ubuntu on my xps laptop (for the first time) instead of test releases. And have been looking into other areas such as application development. So in the process I have learnt a bit of PHP, python and pygtk stuff. But didn’t do much with it.

Come January, I had my new toy, a Nexus One. My first android, and so was exited to write android apps. Installed sdk and started writing stuff for android, just for learning, I was never planning to publish any of my apps. I have to say the application development framework was well thought of, hats off to guys at google, it makes so easy to write applications, and integration with eclipse is a charm.

Feb’10 to Jun’10 was a rat race at the office so much work had to be done, couldn’t even read any tech blogs except when I am in toilet that is.. ūüôā

Mean while I have become bit of Ubuntu cult in my friendly neighborhood. I have converted four of my friends to use Ubuntu as their mainstream home computing. And point to be noted is that they are quite happy with the switch.. Phew.. But few more left to be convinced. ūüôā

Bored with my XPS machine, I have sent it off on its adventures via ebay. Got myself a new Asus U30A, chucked the 320gig hdd off to ebay and installed a 30gig SSD (200mb read and 170mb write), and Ubuntu 10.04 on it. So was doing a bit of research on ssd optimizations like move tmp var and some other folders to be mounted on tmpfs etc, and I am loving it. From power on to desktop takes about 4 to 6 seconds, and response is.. hmm.. brrrrrrillllianto..

Whats on my mind now.. hmm quite a lot.. to learn and do that is.. I was thinking of spinning a Ubuntu for my friends kid, write an android app and publish it to market, write a small desktop application, and few more.

I will post the progress as it goes on.. Till then.. be happy penguins..


XPS-M1330 – No more

Wow, Its been a year since I wrote my last post. That is because not much was happening with the XPS-M1330 project. Ubuntu/debian changed the way the kernel to be compiled again and most importantly I don’t have my XPS machine any more.

So the outcome is I have closed down that project. Probably its time for a new project.

I have been looking for a good Linux game with neat graphics and good controls for some time now. Most of the time, the problem either is that it doesn’t support my Linux flavor, or it needs a lot more packages installed which I don’t need otherwise, or the graphics jitter or resolutions is not good, some or the other problems.

So in my search, the first game I liked is the HiveRise. It’s a simple, fast paced, online RTS game, supports full graphics at native resolution, nice sound, doesn’t jitter, doesn’t fail in the middle of the game, simple to install.¬† I played it non stop for almost 4 hours last night, not even a single breakdown, never lost connection to the server, sound is good, all in all, its really a good game.

You have to try it before you give up. So give it a go, http://hiverise.com/

To read the installation instructions and screen shots click  here.

The game is very simple to learn, it takes 2 mins read through the how-to. The tutorial lesson is very simple. Then jump into the game, try few times, if you like it buy some coins from their website (they don’t cost the earth), and use them to buy upgrades like force shield or radar or land mines etc, And if you like it spread the word.

Also you can watch your scores and trophies online. One best feature is that you can download your game replays and watch them in the game. You can make friends in the game with other online users, chat with them, create teams, play  leagues, play as allies, there are about 12 game modes, lots of trophies to collect and lots of points. If you are tired of listening to the game music you can listen to the online radio, and change channels with hot-keys during the game play. Also you can create your custom signature with your scores on it, like the one below:

Last but not least, any thing in the world is not perfect, and can never reach perfection. So there is always place or improvement. And so is the game. It can be improved, in terms of more game options, game modes, grouping units, displaying quick messages, more clear voice statements from units etc. But hey you don’t expect this game to be as perfect as other commercial games, do you?

Every time I do a silly mistake when changing the config which results in crap build which does not bootup or does not work with nvidia drivers, I have to go back to last working configuration and start again. If I have made many changes, then it would be difficult to find out which one caused the problem. The other way is to make small amount of changes each time but because of the time it takes to compile normally (which is about 40 to 60 mins), I tend to make many changes, cos I cant wait.

The next best option is to use discc and ccache. Distcc is really good but its not a good option for me because there are no more computers available for me to distribute the work. So only option left is ccache. So I gave it a go.

sudo apt-get install ccache

The above will install ccache in the system. If you want to use distcc use the statement below.

sudo apt-get install distcc distccmon-gnome

Now its time to set ccache path. Do this in ~/.bashrc file so that it will be set automatically.


export PATH

Then add HOSTCC=”/usr/bin/gcc” CC=distcc CCACHE_PREFIX=”distcc” to use ccache as your compiler. And if you want to check the time it took just add “time” command. So it should look like this.

time HOSTCC=”/usr/bin/gcc” CC=distcc CCACHE_PREFIX=”distcc” CONCURRENCY_LEVEL=5 NOEXTRAS=1 skipabi=true skipmodule=true no_dumpfile=true fakeroot debian/rules binary-xpsm1330

To findout how to use distcc check this page: http://myrddin.org/howto/using-distcc-with-debian/

To see the result after each build check the time output from the above command and see output of “ccache -s”. When you want to restart your build with fresh stats “ccache -z” should do.

So here are the results.

First pass with ccache:

Output from time

real    42m20.970s
user    48m35.474s
sys    11m4.694s

Output from “ccache -s”

cache directory                     /home/shyam/.ccache
cache hit                              7
cache miss                          8023
called for link                       22
not a C/C++ file                      20
no input file                        415
files in cache                     16046
cache size                         389.2 Mbytes
max cache size                     976.6 Mbytes

Second Pass with ccache:

Output from time

real    17m57.590s
user    14m3.041s
sys    6m17.248s

Output from “ccache -s” (Dont forget to do a “ccache -z” before starting the build)

cache directory                     /home/shyam/.ccache
cache hit                           7730
cache miss                           167
called for link                       34
not a C/C++ file                      20
no input file                        526
files in cache                     16380
cache size                         398.3 Mbytes
max cache size                     976.6 Mbytes

Thats a whole 34mins saved, which is coooooooooooooool. Try it out and let me know how it works out for you.

I want to buy a laptop and I don’t want to pay for windows..

Heard of it a lot of times? Yeah me too..

Anyway.. I want to buy any laptop or desktop I want, but I don’t want to pay for windows.. not many companies out there offer PCs with a freedom of operating system.¬† Where is the EU Commission who fines everybody for all silly reasons. Why don’t I have the option to select the OS when buying a loptop… why do I just have to buy a PC with windows and remove it to install my own choice.

Where the hell is my freedom gone.

Quite?… Not so..

All might be wondering, why I have gone quite? but I am not. My last update to the kernel-xps-m1330 project was on 1st August. I have released the first milestone on launchpad and uploaded an overlay structure for the first set of changes done.

Though the changes to this milestone were very minimal, it was to prove that custom kernel can be created as a subflavour and writing down a how-to.

Since then, I have been working on making some major changes to config, so I have started with Sound & Video and few other components. However, for the past few days I have been trying without any success. Changes made on 2nd and 3rd of august did not boot at all. Then I came across AutoKernConf(See my previous post) which did not help a lot, but gave me some direction. The last night’s two builds were able to boot but was having problem with nv drivers.

I think I have a hunch what could be the problem (FB drivers), so I am going to try again tonight sorting it out. I hope to release some major changes in time for Karmic A5 on 13th.


Today, I was searching the net for descriptions of some options available in kernel config and stumbled upon a site which belongs to a Debian Developer called Cate.

Cate wrote some nice scripts to create a list of drivers available in linux which outputs lkddb.list, and a script which detects hardware in pc by using lspci, /sys etc and creates a kdetect.list and finally another scripts which uses both lkddb.list and kdetect.list and creates a config.auto file, which then can be used to compile custom kernel.

I haven’t tried it yet, but I cant wait to go home and try it tonight. If you want to give it a try, below are the links.





Post your comments to Cate’s blog at blogspot.com

PS: You dont need to generate lkddb.list file, as this is based on standard kernel sources, so for if you are using vanilla sources you can download the file from sources tree.