Sunday, March 16, 2014

Fedora 20 64bit Mate Review: Sacrificing a Virgin

Prologue

Once upon a time I gifted one of my friends a Fedora 10 LiveCD. Five years went by. I met him on facebook three days back. Asked him about his Linux experience. Got a funny reply:

I had so many problems on linux
finally I solved them all..............
............................................
............................................
.......... I installed Windows.

Any kind of review is intimidating. Reviewing an Open Source Operating System is more so. You need to have enough information and knowledge (the two are different) of OS basics and UX. Goes without saying, the reviewer must have flair for writing - should know how to put it all together. The readers expect some precision, grammatical rules and meaningful/practical information. For the reviewer it means pulling out his/her own intestines. In case of Microsoft Windows and Apple OS X any release is an epic event and any review on them is very much mercurial. But most of the Linux distribution reviews are trash - impractical, ego-laden surface-scratching. Sometimes it seems the reviewers are not qualified for the job, other times it feels the releases are non-event owing to their frequency and buggy character. Also changes between successive releases are not so ground-shaking.

Generally a linux desktop review starts with a nice picture of a desktop-cube effect or a pretty login screenshot. That's it. Then the rundown is predictable - the livecd experience, the looks, the install routine, the responsiveness and the resource usage. Plus personal bias thrown here and there. The reviewers have a different (may be distorted too) world-view. For them, every new feature is shinny. They almost always suggest their readers to update for any tiny change in version number. They are unaware of the vast non-Linux user base who update only when there is a real need, only when something is pressing. I've seen people happily using Windows XP even till date. Often the update to Windows 7 was forced up on them via new devices.

Having said that, I must add Linux desktops don't shun me. Because, perhaps I don't mind "working for" a system, whereas most users "work on" a system. I don't bother random annoyances, whereas 98% of users will flee away. Because I know Linux desktop is ridden with bigger and more serious perennial problems. That's why, in comparison, the random annoyances are kind of non-existent.


Let's start our Fedora 20 Mate Spin review. Shall we?

Touching 2014 CEntOS 6 started showing its age. Partly because I bought a new system, and partly because many of my favorite mainstream proprietary applications either did not work, or did very badly. Then some other applications required the latest glibc. I was damn sure such a critical package will never be pushed as an update. Of course, I was flirting with Debian Wheezy and a few other distributions. Sadly, none could offer that gnome2 "usability:performance" combination. Often, it was a trade off with one or the other. Now that Mate desktop has made way into Fedora official spins, I found it's a worthy candidate. Chances were pretty high that I'll be on the bleeding edge of gnu tool chains, latest kernel, glibc, and of course, the application software. On top of all these, there's Mate desktop.

The Test Machine

A Gigabyte H68 board, G2120 proc, Nvidia GTX graphics, Atheros Lan, Huawei modem, Logitech HD webcam, Samsung DVD RW drive, Western Digital 2TB green hard drive.

The Good

Downloading Fedora 20 64bit Mate spin took an hour. Installation was pretty fast. The freshly booted system looked familiar pre-fedora 14 like. The panels, the icon set, control-center and that ugly gnome effects were all there. Then I pulled in my usual application stack - a media player, a screen recorder, a voice recorder, ffmpeg, an offline dictionary, webcam recorder, disc burner, flash and other popular multimedia plugins. With rpmfusion repo configured, the installation of these apps was breezy. That's a good thing about Linux software management. You've a great package manager, centrally managed repo structure, and a fairly large base of software. Installation and removal of software is almost always clean, unlike Windows that leaves so much residues at places you can't sniff or suspect.

All my devices were recognized and configured well. By default the system was using onboard Intel graphics. That was just perfect for everyday purpose. But later I installed nvidia non-free drivers.

Yum in Fedora 20 is a great improvement over Centos 6 and earlier Fedora releases. It does the best use of delta management, and package cleaning. I am falling for systemd, another definite improvement over the traditional sysv. I am surprised by its speed and parallelization powers. It takes much of the process onto itself and does a great job at it. I'm fan of its masking and unmasking safe manageability.

The Bad

So far, so good. But I was not comfortable with the setup. Something was missing. The system was not as responsive as CEntOS 6. That much touted "Mate Desktop", I'm afraid, needed an alien army of other mates, mostly gnome 3 stuff, to keep working. Taming and managing Mate Desktop was tough. There were Gconf and DConf, metacity and marco, nautilus as well as mate file manager, and some other such redundancies. Especially network manager, network applet, login manager, and some application software needed a weird combination of toolkit packages, windows manager, file manager and some bits and pieces from other desktop environments. Not that coherent, unified and prestine like gnome 2. Mate seemed still in early alpha phases. Perhaps the whole environment is caught between gtk2 and gtk3, and gnome2 - mate -gnome3 package resolutions. Mate roadmap says it's work in progress for full wayland and systemd integration. So, expect Mate to be in transition for rather long.

In the broader sense it shows how the UX is badly affected by the plural culture in things as crucial as toolkits such as qt, gtk, wxWidgets, FLTK, AWT/Swing and Tk. An application may look totally different in the presence or absense of one or more of these stuff, as per the case. Quality of the outer layer of GNU/Linux (DEs, Windows Managers, Toolkits, Login Managers, Icon Set, Themes, etc.) shows that it's developed by unpaid volunteers. Because everyone is busy with the "sexy" features galore; and none gives a flying fuck to the usability, uniformity and cohesiveness.



As a workaround I removed all those alien mates of Mate desktop. The side effect - loss of some necessary applications such as brasero, network manager, lightdm, cheese. The next step in the process was to find the replacements of those applications that don't have any such weird dependencies. I went for gtk-recordmydesktop, audio-recorder, mpv, guvcview, xcdroast, artha, cdm. And I'm happy with what I did. Now I'm using the good old Bluecurve theme with Redhat "start here" startup menu. I curated it by adding some more icons, creating a theme file and customizing metacity window manager. The curation was a must as the new notification system, application menus and toolkits have changed a lot from what they were in good old Redhat days. Finally it's worth it.

The Ugly

I started experiencing some intolerable annoyances. Every time I booted the system my mobile broadband would refuse to connect. I had to plugout and plugin on successive boots, then it would connect. Later I came to know the culprit was systemd 208. After I enabled rawhide repo and updated to systemd 211, that problem was gone.

Among other problems, slow boot, high memory consumption and overall slow performance required immediate fixing. After masking unnecessary systemd units and removing unnecessary mate-session startup applications, the system became very fast and responsive. Fresh booted system consumed some 251mb memory. The average boot time from grub selection (mine is a Windows 7 / Fedora 20 dualboot mode) to fully active mate desktop was ~9 sec. Both the results are amazing. Here's some data.

memory consumption:

free -m

                   total    used    free     shared   buffers  cached
        Mem:  7902   418     7483   27         25         142
-/+ buffers/cache:  251      7651

that means, just 251mb for a 64bit OS with 8gb physical memory, amazing!



boot speed:

systemd-analyze
Startup finished in 2.004s (kernel) + 1.088s (initrd) + 6.190s (userspace) = 9.284s

systemd-analyze blame
          1.682s lightdm.service
          1.608s NetworkManager.service
          1.515s accounts-daemon.service
          1.411s systemd-fsck-root.service
          1.086s polkit.service
           730ms systemd-vconsole-setup.service
           729ms systemd-tmpfiles-setup.service
           716ms systemd-remount-fs.service
           481ms systemd-tmpfiles-setup-dev.service
           408ms udisks2.service
           387ms ModemManager.service
           374ms rtkit-daemon.service
           321ms kmod-static-nodes.service
           254ms systemd-readahead-replay.service
           239ms tmp.mount
           202ms systemd-udev-trigger.service
           152ms systemd-sysctl.service
           118ms systemd-tmpfiles-clean.service
           113ms systemd-readahead-collect.service
            83ms systemd-random-seed.service
            82ms user@1000.service
            73ms systemd-logind.service
            35ms fedora-import-state.service
             4ms systemd-journal-flush.service
             3ms sys-fs-fuse-connections.mount
             3ms sys-kernel-config.mount
             3ms systemd-update-utmp-runlevel.service
             2ms systemd-update-utmp.service
             2ms systemd-udevd.service
             1ms systemd-readahead-done.service
           941us systemd-user-sessions.service

Pleasant Surprises

While updating systemd from rawhide, I had a chance to read the "check-update" data. I could see updates to glibc (2.19.90), mesa (10.1), xorg (1.15) and mate desktop (1.8). Crossed both the fingers and updated these packs. Overall it was a good decision on my part. Full HD movies, and games like Torcs ran very smooth. There was barely any frame drop, if at all.

The problem with open-source graphics on Linux is that the driver stack is not self-contained. The components are scattered in the Linux kernel, DRM library, Mesa, the X.Org DDX and VA-API et al. That means updating to bleeding edge versions can be risky. May be I'm lucky this time around. And it's all playing very nice. DPI scaling, fonts antialiasing and windows shadowing were not that much of a pain. The defaults were good enough.

Current Software Galore

To achieve a pristine just-Mate desktop I had to do much rpm transaction, sometimes nitpicking a few packages from rawhide (Please don't do that!). Right now my install base is touching only 3gb with the following software:

Accessories
  - Artha dictionary
  - Engrampa archive manager
  - Mate calculator
  - Pluma text editor
  - Mate search tool
  - Mate screenshot
  - Caja file manager
  - Mate terminal
  - Bleachbit disk cleaner

Games (All for my son, Piyush)
  - Gcompris
  - Childsplay
  - Trigger (packages from OpenSuse)
  - Torcs race

Graphics
  - Eye of Mate image viewer
  - GIMP
  - ImageMagick

Internet
  - Firefox
  - Pidgin
  - Uget

Office Suite
  - OpenOffice 4.0.1 (I found it more responsive
                                    than Libreoffice 4.2.2)
Multimedia
  - Audio recorder
  - gtk-Recordmydesktop
  - Guvcview webcam utility
  - Ffmpeg + Winff media manipulation pack
  - Xcdroast disc burner
  - Flash and other popular multimedia plugins
  - Mpv media player (It's more refined, fast and
                   hassle-free than VLC and Mplayer)

Conclusion


So, what's the gain after so much pain? Immense. If you value the theory of freedom as proclaimed by GNU/Linux. In real world scenario, you'll also get some benefits in terms of pure computing. For example, on the other OS you can only dream of the scripting capabilities of bash in combination of linux utilities. I was looking for a practical solution to digitize my favorite VCDs gathering dust. Running a nice ffmpeg batch script I could enhance and convert yesteryears classics into modern h264/aac formats that can be readily playable using any standalone device, smart phones or your desktop computer. In init 3, on a dumb terminal, ffmpeg took some 8 hours (in the night) to process more than 20 vcds.

Among others, I am really surprised at the modularity of Linux, here Fedora 20 Mate. A great kernel, full bundle of productivity suite, multimedia suite, internet suite and some nice system utilities were accommodated in a sub-3gb drive space. The system booted in ~9 sec, and the initial memory foot print was just 251mb. The boot time could still be reduced had I installed it on an SSD. And the entire package base (system software and application software), manuals for each bit and piece and a vocal user/developer community are there on your fingertips. On top of it all, you are enjoying a very secure computing. All that for free, if time is not a premium for you. That's a great feat in any stretch of imagination. That you can never achieve on Windows or OSX.

But the point is, how much these so called goodies concern a lay-user who is addicted to commercial gloss on Android, Windows, iOS and OSX, and who never cares about knowing the system internals, or who never buys your libertarian theories? IMO, none. But the bad UX, bad integration and loose pieces are enough to ward them off. Linux developers should know that an average Joe uses applications, not the OS. There's less benefit in showing bones of an Oh-So-Great OS.

Plea

Those who don't agree with me on the "bad integration" of Linux Desktop please have a look at the design of linux graphics and audio stack, see the mess of multiple layers. Then take a fresh look at the incohesive approach to put together the toolkits, desktop environments and notification systems. For proof you may visit various bugzillas (gnome, kernel, xorg, pulseaudio, mesa, kde, the list is endless) and confirm for yourselves about the bugs that should not have occurred at the first place.

Wednesday, April 3, 2013

32-bit Ghost Still Haunts on Linux Desktop

People hear something about computers and repeat it mindlessly without understanding the world around them. One such example is the support for 32-bit architecture. For them a home desktop performs better on any 32-bit OS + native 32-bit applications than their 64-bit counterparts, and the user should restrict to it. It's somewhat true if that mythical user never goes beyond web browsers, word processors and media players. That's very much it. If he/she jumps into some database work, media encoding and some other CPU-intensive task, the power of 64-bit shows. It almost revolves circles around 32-bit thingy.

So, what's holding 64-bit arch from replacing everything 32-bit? There are many reasons; the two most important ones are - 1) there are many 32-bit hardware still scattered around, and 2) very crucial of all, people have developed an adamant inertia for 32-bit. They'll keep sticking to it. That's why some popular software come in 32-bit only, such as Skype, Teamviewer (I know there's a 64-bit version, but inside it's still 32-bit, 64-bit is only the wrapper) and AnyConnect. Good news is - on Windows 64-bit one can easily enjoy the mix of 64-bit and 32-bit applications.

Because:
 #1 Windows is targeted squarely by all the ISVs at its vast userbase, and
 #2 Microsoft through its skilled developer base is able to feed and keep alive an old dinosaur of 32-bit libraries and compatibility layers inside 64-bit OS versions to support both the arches ensuring that point-n-click usability.

On Linux desktop, 64-bit architecture has it's own set of irritants. And when you try to run a mix of 64- and 32-bit apps it misbehaves. There are some endeavors like multi-arch in Debian, but it's still not there.

On my CentOS-Windows (both 64-bit) dual-boot home pc, it was an uphill task to install some 32-bit-only applications on CentOS, whereas on Windows it was like a breeze.

32-Bit (Un)Success story and some How-To's

Showstoppers: Cisco AnyConnect, Teamviewer, Skype

Unresolved: Cisco AnyConnect. It installs quite well, but doesn't work at all. Looking for a workaround using OpenConnect. You may suggest your fixes, if any.
Installed/Fully resolved: Teamviewer (yum localinstall Teamviewer.rpm or whatever the name of that 32-bit rpm, it will pull in a few 32-bit dependencies)
Partially resolved: An old version of Skype (thanks CentOS Wiki, resolved partially, because you never know when the next update will break it all.

Skype installation procedure:

The latest version doesn't work. Please download a bit older static build (mentioned below) that's still available.

     yum install glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libtiff.i686 glib2.i686 libSM.i686 libXrender.i686 fontconfig.i686 pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686 libv4l.i686

        cd /tmp
     wget http://download.skype.com/linux/skype_static-4.0.0.8.tar.bz2

        cd /opt
     tar xjvf /tmp/skype_static-4.0.0.8.tar.bz2
     rm /tmp/skype_static-4.0.0.8.tar.bz2
     ln -s skype_staticQT-4.0.0.8 skype
     ln -s /opt/skype /usr/share/skype
     ln -s /usr/lib/libtiff.so.3 /usr/lib/libtiff.so.4
     ln -s /opt/skype/skype /usr/bin/skype
     LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /opt/skype/skype


That's it!

Wednesday, February 27, 2013

Debian Wheezy - feather light and rock solid


Question: Why do I like Debian?

Short Answer: It gives me a "Debbie Does Dallas" experience. Addictive like pristine porn - no nonsense and predictive. The rest gazillion other lady-like distributions invigorate you with too much Viagra but don't show up at THAT moment.

Long Answer: Read this review and/or comb the web for so many other reviews.

From early days, sitting on version 4.0, that's right Etch, it flirted me. It was neither too easy, nor too beautiful, but always rock solid. Then followed Lenny and Squeeze only to reaffirm and sometimes spice up that experience.

With that prelude follow the run.

Wheezy from it's very alpha and beta phases put so many Debian lovers into suspicion. Whether it'll default to XFCE or Gnome; why it jumped into that gnome 3 mess; and if it'll stick to the proclaimed "2-years - one release" schedule. With the release of RC1 it certainly proved that it sticks to the schedule. Also confirmed that gnome3 is not that much of a holly mess the jerks make it out to be. Little obsolete as per Fedora and Ubuntu standards, but the latest Debian is very modern and polished.

Installation

After cd/dvd drive started behaving mad while still under warranty I didn't go for a replacement. Not wise to add to plastic waste. Better use USB drives - for sharing data and creating bootable media. Debian is infamous for creating USB bootable media. Unetbootin didn't work as expected. But now you don't need it anymore. Bytecopy procedure works like a charm with netinstall images. I picked up a 64bit all-nonfree-firmware loaded netinstall image and created a usb install media with dd. In my case, it was:

dd if=firmware-wheezy-DI-rc1-amd64-netinst.iso of=/dev/sdc bs=4M; sync

Change the device options as per your setup.

Butter smooth install routine, as expected from a Debian installer! I chose my first SSD, an OCZ Octane SIII as / partition and dedicated a donkey 2TB WD HDD for /home. No swap (who needs swap when you've 16GB of RAM). Went for some SSD options - noatime and discard. Then followed the sane default package selection and user account creation, MBR selection, et al. Boring, it may sound, if you're accustomed to ugly surprises during installation.

Install routine completed. Poweroff. Night set in. I went to bed.

Post Installation

Next morning I woke up to a nice Debian Wheezy on gnome-shell. Seductive as they say, but not slutty. Never experienced any crash, gnome-shell nuisance or kernel-panic stuff. There were some minor annoyances which I hope will be fixed with the Final Release. Mind it, it's still an RC1!

Everything worked. Network sharing with Windows 7 on my Asus EEE 1215b, data sharing with my ntfs partition on Windows 7, mac filesystems on a hackintos (never tell mac people), on that same machine. Then some more, bluetooth, WiFi and all.

For the first time, multimedia experience was very smooth. Just install libavcodecs-extra package and you're there. Throw anything at it, it plays. And for those abominable porno stuff with some esoteric format there's always the venerable VLC. In short, the days of bad multimedia experience is over. Basement dwellers and FOSS purists may complain though, for this non-free move.

Resource Usage

Very frugal. No sudden clock ups and downs. CPU stays at ~1-5% throughout till you don't burn it with intensive gaming, program compiling and media encoding.

Very low footprint of memory. Freshly booted system uses ~320MB, with all effects - bells and whistles on and mysql, apache services (and what not) still enabled (for my wife) on runtime.

Do that foreplay. Fix bugs and bad things!

Wheezy at RC1 has its share of bugs and problems. However, none is a showstopper. You can live with them without any fix, cos most of them will be fixed automatically in the Final Release. If you like you can fix them very soon with a few minutes of dirtying your hands in the command line. First fire up terminal and be a root user - use su or sudo, whatever you're used to.

#1 - "cannot set freq 16000 to ep 0x86"

During booting the screen fills with "cannot set freq 16000 to ep 0x86" error messages and stops for around 4 secs (it might vary in your case) and then the login windows appears. This bug is related to Logitech HD quickcam. The easiest fix is to update kernel from Unstable Repository. Enable unstable repo in /etc/apt/source.list. Upgrade kernel and disable, or better delete that entry from the sources.list. Never fiddle with testing and unstable. 

#2 - no sound

While Intel Azalia HD sound card worked nice on first boot, consequent boots were without any sound while the audio mixer button was still showing active.
Permanent fix for this annoyance is to put:

options snd-hda-intel model=generic

at the end of /etc/modprobe.d/alsa-base.conf

#3 - enable poweroff option:

Default gnome-shell 3.4 doesn't show poweroff option if you don't press Alt key with still point the mouse to the suspend option.

The easy fix is to edit /usr/share/gnome-shell/js/ui/userMenu.js

Look for "this._haveSuspend = this._upClient.get_can_suspend();" and replace the same with "this._haveSuspend = false;" (don't use those quotes, they're here to distinquish commands/config text from human English)

#4 - [warn] PulseAudio configured for per-user sessions ... (warning)

This pulse audio message is not fatal. But you can fix it too:

edit /etc/default/pulseaudio 

look for 

    PULSEAUDIO_SYSTEM_START=0

and change it to

    PULSEAUDIO_SYSTEM_START=1

That pretty much ends this review.

Tuesday, January 29, 2013

Improve KDE4 Performance: Disable Nepomuk and Akonadi


KDE 4.9 (and above) workspace comes as a great relief when the major distributions resort to some fu**ing desktop environments (such as gnome and unity) and/or spin some lame reiterations (such as cinnamon, mate and a ton others). The latest KDE workspace is way too much polished than unity and gnome3 - highly usable, customizable and not so resource-hungry. But you can still make it lighter and faster if you don't rely much on desktop search function and KDEPIM stuff like kaddressbook, kmail and the rest. Amaik, very few people use them anymore, and can be done without them. Just a working set of thunderbird, pidgin and firefox, and you can very well dump kdepim + akonadi + nepumok + strigi.

By "Dump" I mean "Disable", cos you can't remove those packages as they are deeply integrated into the workspace. Here's how you can disable:


#1 Add these lines (if they don't exist, else make necessary changes in them) to ~/.kde/share/config/nepomukserverrc

[Basic Settings]
Start Nepomuk=false

[Service-nepomukmigration1]
autostart=false

[Service-nepomukstrigiservice]
autostart=false


#2 Then add these lines (if they don't exist, else make necessary changes in them) to ~/.config/akonadi/akonadiserverrc

[QMYSQL]
Name=akonadi
Host=
User=
Password=
Options="UNIX_SOCKET=/home/manmath/.local/share/akonadi/db_misc/mysql.socket"
ServerPath=/usr/sbin/mysqld-akonadi
StartServer=false


#3 Open ~/.kde/share/config/kdedrc and set "autoload" to false for nepomuksearchmodule

[Module-nepomuksearchmodule]
autoload=false



#4 Finally, remove the file nepomukcontroller.desktop and akonaditray.desktop from /usr/share/autostart/, if they exist.

Log out or restart your system to experience the lightness and speed of your sexy KDE workspace.

Saturday, December 8, 2012

Linux is Free and it Shows


"Year of Linux Desktop" has always been a delusion of grandeur, or the so called pipe dream at best. It'll remain so for the future n-number of years, cos Linux is free and it shows, feels and works like everything free, with a connotation of "Cheap".

There's no problem in its being free and open source as long as it works for the majority of userbase, which it certainly doesn't. Why? Because it lacks the commercial gloss people are used to. Against popular belief, you won't have to practice closed/proprietary means to achieve that polish and gloss. All that's important is certain orderly and cohesive approach to how software work, in both users' and developers' point of view, and a clear direction. For example, Android is both opensource and free, yet it brims that much desired commercial gloss, courtesy the big G's focus on user experience. The Big G knows what to flaunt, what to hide, and so on.. and on..

On Android you don't bother which bootloader to load - grub or lilo, which DE to choose from - KDE, Gnome, LXDE, Blackbox (there're a dozen others), how to set system initiation - systemd, sysvinit, innserv... how the sound and audio subsystems talk to the rest of the system, bla..bla..bla... Here these ugly system software work under the hood, users are unaware of it for a lot of good reasons. This is how the big G establishes order in an otherwise chaotic open source model of software development.

The prevailing model of linux and the software built around it suffer from three perennial diseases due to its overtly free nature of "Fork everything and Break everything" development:

#1 Shoddy quality of software: Forking model of development that leads to bad testing, rapid release cycle and unnecessary overdo. Users are often forced to fix certain problems where they should not happen in the first place. For example, a certain sound card works out of the box on a certain distribution, needs to do some manual editing of certain config file on some other in order the sound to work, wherein still others the users are forced to remove a certain component and install/build something on their own. Whereas the kernel versions, alsa/pulse components, DEs and the usual software stack are the same across all these examples. Reason? Bad integration! Morever, these type of user annoyances are not restricted to sound only, they are there in network, graphics, power usage, and then some more, in other application software too. The situations/annoyances aggravate further when every distribution puts together certain types and versions of the system and application software different from every other and in a different way, where most of them seem similar on the surface.

#2 Overkill: Forking and freedom to do everything leads to unnecessary overkill of time and efforts and further contributes to shoddiness in software quality. For example, what KDE or Gnome should do? Develop DEs and a few DE-specific tools/appls, right? But that's not the case, they keep constant focus (and ignore the core activities) on things they should not do in the first place. First of all, application software should not be DE-specific, yet every DE, be it KDE or Gnome, has its own set of office suits, browsers, messengers, media players/managers and system utilities and tools. This, more often than not, results in poor duplicates of certain industry standard software. Intrigued? Just compare KOffice with LibreOffice, K3B with Brasero or XCDroast...? Everybody loves to skin a frontend, cos its' tough and boring to squash the bugs out of standard libraries such as gtk and qt, and backends such as cdrdao or growisofs.

#3 Always in transition: Lastly, this forking and chaotic nature of development creates an environment where the platform is always in a state of transition. Consider the period of transition such as hal >> udev, alsa >> pulse, xserver >> wayland, module-init-tool >> kmod. Sadly, it has been so from the very beginning, and it will remain so till eternity. It is a major contributor to user annoyance. How about consolidating various forks, putting enough manhours and creating something that will just work, in stead of forking every which way possible and breaking things on the way.

I'm sure only very few will agree with me. Cos most of the so called open source community members consider free software as a cult than a tool for general well being. For them choice (read it Chaos) is everything. And yet they expect a placebo effect to these perennial diseases of bad quality and performance. They'll poop, fork here and there, make badly integrated incohesive software tank to drive to the nearest supermall, whereas a lean street bike would have been a better choice.

Monday, August 27, 2012

Android is the future desktop

Linux on desktop was a fantasy; it could not gain significant mind-share in last two decades of its existence. And it won't attract any more user attention if the development continues the way it has been so far. Bad integration, fragmentation, in-cohesive development, and the so called freedom to fork (or fu**) warded off ISVs, OEMs and users. Linux as a kernel is great, but the OS build on top of it is a toy thing. X and everything on top of it suck like hell. That bad/breaking approach towards development, design and delivery is not going to change, cos the community doesn't treat it as a tool, or a means to an end; for them, it's a culture, a religion. As a user you need to learn a lot of rules  just to get your daily chore done. It's more so, if you are going to develop something for the linux desktop. General perception now is Linux serves best when it runs headless, i.e., when it's a server.

But I feel, sooner or later, Linux will start dominating the consumer desktops with google power, in a form similar to Android. For quite long I've been following android-x86.org, a community effort to port Android to x86 platform. So far it's been non-yielding. None of the release is feature-complete. However, the good thing is - this project is less fanatic about open-source. I'm sure google will bet on it and make it big by building a consistent development environment wherein the new desktop will consist of highly-integrated subsystems backed by a simple application distribution system. Google will strip as much ugly stuff as possible off the OS, hide the rest from the users, and put a bright layer on top of the customized linux kernel. Of course, the hard, the hobbyist, and the raw fragmented-linux desktop with full of choices will be there for the basement dwellers.

Friday, July 13, 2012

what's value of linux being modular

What's value of linux being modular if it needs so many duplicate and different versions of the same libraries.

I am running debian squeeze which has almost 50% packages from wheezy such as xorg stuff, kernel, drm, mesa and some application software. However, accidentally I found that I've bewildering number of duplicate libraries. It's insane, can't even remove those duplicates as they are  dependencies for a variety of packages. In the normal world a later package should override an older version, but it's different in linux, sadly. Even if I've deborphan and debfoster I see tons of different versions of libraries such as: libavcodec, libavdevice, libavfilter, libavformat, libavutils, libdb, libjpeg, liblzma, libmatroska, libnspr, libntfs, libssl, libswscale, libusb and libx264. Please have a look at the youtube video to know what I mean.



Wednesday, June 20, 2012

GIMP 2.8 on Linux: a Story of Pride and Pain

The latest stable GIMP 2.8 is great in many ways such as the sane integration of docks, speed and some nice addons. It installs like a charm on Windows 7 and the aging XP. Getting it to work on the latest *buntu and Fedora is also easy, although both these flavors suck as far as stability and usability is concerned. But if you expect it to play nicely on your reliable CentOS 6.2 or Debian 6.0.5, forget it. Cos you may fuck your entire system just to get it installed.

I was very much at home with my mighty Debian untill I was lured by GIMP 2.8.

I knew Debian Squeeze repo will never have it. So, looked for backports. Nothing there too. Then tried backporting it myself. It is not as easy as:

wget ftp://ftp.gimp.org/pub/gimp/v2.8/gimp-2.8.0.tar.bz2
mv gimp-2.8.0.tar.bz2 /tmp/
tar xf gimp-2.8.0.tar.bz2
cd gimp-2.8.0/
./configure
make all && make install

there's much more. Compiling it is really tough, you'll be flooded with errors related to missing packages, flags and lots more. Then I took the easy path of pulling it down from testing repository by adding:

deb http://ftp.de.debian.org/debian/ testing main

in /etc/apt/sources.lst


then configuring apt pin priorities to make testing version as additional to prevent distribution wide updrade by putting:

      Package: *
      Pin: release a=stable
      Pin-Priority: 700

      Package: *
      Pin: release a=testing
      Pin-Priority: 650

in /etc/apt/preferences

followed by:

apt-get -t testing install gimp

Result:

Holy shit! It almost installed truck loads of packages from testing. Finally I fucked my Debian Stable. It now feels slow, sound stopped working, it shows tons of boot error messages.

Dear linux distribution enthusiasts please bring out some api/abi that doesn't change every fortnight. 99% users love stability more than the shiny non-working stuff that doesn't bring any perceivable difference to their lives.

Tuesday, June 12, 2012

My Mighty Debian Squeeze 64-Bit

People always run after high performance and less resource-hogging computers and operating systems. In that run they stumble upon barely usable linux distro forks with lxde or xfce environments, or go for big muscle hardware such as core i7 extreme processors, latest intel chipset mobos, discrete graphics cards and the latest maximum memory modules. May be out of ignorance.

I'm also a speed freak. Here's my take for speed.

Hardware: Intel H61 board, Pentium G620 processor, 8GB Corsair DDR3 1333MHz RAM, Atheros LAN Card, Intel HD 2000 Graphics on the same die of the CPU, 32GB Kingston SATA II SSD as / partition + Western Digital Blue SATA II TB HDD as /home partition.

OS: Debian Squeeze 64Bit, backported 3.2 kernel, mesa, drm and xorg manually backported from Debian Wheezy repository.

Package Repos: Debian squeeze, backports, mozilla-debian, debian-multimedia, google and debian wheeze.

Desktop Environment: Gnome 2.30

Software: LibreOffice 3.5, Gimp 2.6, Mplayer and Totem with all codecs and browser plugins, Iceweasel (Firefox) 13, Icedove (Thunderbird) , Sun Java and Netbeans full suite, GCC + G++ along with Code:Blocks, Full Wine suite, and the fat repertoire of media players, audio/video editors, remote access/desktop sharing tools, mysql server, client and admin, a plethora of games and tons of system utilities and recovery tools.

Speed benchmarks: Booting 8 secs, libreoffice startup 1 sec, firefox 1 sec, gimp startup 2 secs, and surprisingly netbeans startup 3 secs. Initial memory footprint is just 130MB. You can't expect more.

Tweaks I did: Optimized SSD to use trim (noatime,discard option in the /etc/fstab of the ssd drive), disabled ipv6, changed /etc/hosts to look for localhost whenever possible instead of searching and reaching there, removed swap partition, removed initram disk, put all my driver modules directly into the kernel so as to avoid seeking initram. Finally cleaned all the unnecessary locale files, symlinks, orphan files and then a few tweaks on gconf-editor. Finally cleaned the gnome config residues (after installing all the software I needed) with gconf-cleaner.

Here's the testimony video, watch it in HD 720p format full screen:


Friday, May 11, 2012

Caitlyn and Linux Hardware Support

Only this morning I saw a post by Caitlyn Martin on tuxmachines.org. About "Linux Hardware Support Myths and Legends" . Funny as always - flaming, ranting and what not!

Come on Caitlyn, admit, Linux is still not ready for consumers. It's never going to be considering the control, complexity and its nature of development. We all love linux. We can tinker our way to use it at our homes and offices. We'll keep on using linux, and we are not sad or sorry if linux doesn't make it to the mass adoption. But your adamant post is laughable at the best. Numbers tell, if there was a pinch of truth in your statement linux desktop would have enjoyed comparable marketshare like the one from Redmond. But 1-2%!

You wrote, "Linux is compatible with more hardware than any other OS bar none. That certainly includes Windows. Try installing Windows 7 on some random laptop from scratch and see how much is missing or unsupported without third party drivers. My experience doing Linux installs for my customers is that a lot of off the shelf hardware "just works" and the rest needs proprietary drivers downloaded to make it work, just like Windows. There is, indeed, some hardware that doesn't work with Linux and years ago that was a real issue. The fact is that more and more manufacturers are supporting Linux well and other drivers have been adequately reverse engineered."

Partly right, linux does support maximum hardware out of the box. But that other OS supports all of the hardware, though not all out of the box. Besides, the maximum number of hardware that linux supports is not as good or simple as it is in that other OS. Compare the installation procedure and performance of modern ATI and NVidia graphics cards on linux with that other OS. Linux fails from a long margin. Moreover, the support is both complicated and buggy most of the time, and not feature-complete.

Caitlyn, please try any of the recent Northern or Southern Island ATi Radeon graphics card on your favorite linux box. Do the same on that other OS. Compare the performance and installation procedure. On that other OS, all you've to do is to pull in the software (just one executable file) from AMD and install it. Your favorite distribution with modern kernel and gallium drivers will readily support the Northern Island ATi chip out of the box. But the performance will be shoddy at best. Then you will search your distros repo or browse the manufacturer's website for proprietary drivers. Download and install the packages. Graphics still won't work the way it does on that other OS. Then you will look for vaapi wrappers, configure the media player settings, bla..bla..bla.. In linux it's not just a driver package, you've to fight with xorg, kernel, drivers, wrappers and decoders. After this big fight your distribution may play your 1080p hd stuff. But again, not as good as on that other OS.

Audio driver scenario is no different. The point is, Sound and Graphics support in linux is very complicated and is always in a catch-22 stage. Admit it!

Here's a copy of the discussion thread on her post. Just imagine how mis-informed and adamant Caitlyn is in comparision to the mature, practical and realistic Jack.

By Jack on May 10, 2012 11:21 AM

Having used Linux since the end of the 90'ies i certainly agree that hardware drivers are not really a big problem. But for some, it really is.

Therefore one should never claim "pick this or that distro - it works out of the box" unless one in fact has experience with the exact combination.

If you do recommend where you should not, you are likely to be the creator of a user very hostile towards Linux, thus a true credibility killer.

Another wrong thing to do is recommending Linux with the ambition to make a Linux enthusiast out of the victim. Recommend (and if possible assist in installing) Linux on basis of the potential users needs and capabilities.

Forget your own preferences - it's all about the potential user, as long as you are sure that you are able to assist.

Now, I've got some shocking news!!
There are no perfect Linux desktop environment, and there are no perfect Linux distribution. There are probably 20-30 distros and 4-5-6 desktop environments that are technically suitable and has the potential, but none of them are really there.

We, as enthusiasts, are able to tweak a distro or a desktop environment into submission. The regular users who just want a neat piece of equipment to work well are not.

Where are the distros for consumers? They don't exist.

By Caitlyn Martin in reply to comment from Jack on May 10, 2012 12:58 PM

Jack: I have some shocking news for you. Any of the major Linux distributions are consumer-ready. That's been true for at least a decade. Any of the major Linux desktop environments are consumer ready. That's been true for at least a decade as well. The current generation of desktops on Windows and even on MacOS are based on ideas that first appeared in Linux. See my recent article on the subject. If those Linux distributions aren't "really there" then certainly Windows and MacOS are even less ready for consumers. You are certainly right that there is no perfect Linux distribution or desktop. There is no perfect OS, period. Linux is in no way more flawed or less ready for consumers than the other options out there.

I see the second part of your comment the same way I see the articles proclaiming that Linux hardware support is terrible: as spreading more fear, uncertainty and doubt for no good reason.

Seems, evangelists like Caitlyn are more of problem than solution to the badly integrated and ever-forking open source OS.



How about this