My opinion on Mandriva vs. Microsoft

I have posted about an open letter François Bancilhon, CEO of Mandriva, wrote to Steve Ballmer, CEO of Microsoft.

Here I intend to give proper answer to some comments in the Mandriva blog page, mostly covering ethical and legal issues.

For a complete immersion on the subject, please read the whole letter. For a summary: the government of Nigeria decided to buy 17k computers. Mandriva and Microsoft made offers, and Mandriva won. After the computers being sent to Nigeria, the government of Nigeria contacted Mandriva and informed them that they’d pay the bill, but that they had changed their mind and would install Windows instead.

Now some comments in the Mandriva blog page, and my responses:

Charles said

November 1, 2007 at 3:03 pm

Would you entrust your country’s educational computer future to a company whose CEO writes whiny unprofessional conspiracy theories on his blog? I sure as hell wouldn’t.

Even if bribes were made (and I’m just saying hypothetically ‘if’), the reality is that for this to have happened somebody must have seen value in a Microsoft solution over your ware. It’s your fault for not being able to convince the customer otherwise, not Microsoft’s for behaving like a business.

Grow up.

1) The whole point is that with Mandriva the Nigerian government wouldn’t be “entrusting their country’s educational computer future” to anyone. It’s the other way around! No matter how stupid/lame/immoral/illegal Mandriva and its CEO are, once you make the Linux bet, you are free. You don’t depend on any single vendor for anything. I know it’s a complex concept for a slave-minded Windows user, but Linux is about Freedom. On the other hand, going for Windows implies entrusting yourself to a single company: Microsoft. Would you pledge obedience to an unethical, monopolistic, soulless, predatory and often illegal company? You are doing so by surrendering to MS. Besides, the CEO of Mandriva is not “whining”. He is caring. After all, they got the money, so, if money was his only concern, he’d be happy. But he is concerned about more things, which you seem to be impervious to: the fairness of the deal, the fulfillment of closed agreements, the access of Nigerian youth to Free Software, the respect of MS to anti-monopoly and fair market rules… The wise is pointing the sky, and you look at the finger instead.

2) It is not Mandriva’s “fault”, and MS did not “behave like a business”. If MS somehow bribed the Nigerian government, they’d be seriously breaking international law, violating the rules you rely on to believe you live in a democracy. Not “everything” is permitted in business. A monopolistic holding can not sell products below price (dumping) to eliminate the competitors. It is against law, and, if permitted, it totally damages the consumer in the long run. In the short run, the lower prices are a plus for the consumer, but once the competition is hampered, the company in the monopolistic position can continue abusing the market (raising the prices, lowering the quality, applying arbitrary limitations…).

sarek said,

November 5, 2007 at 3:46 pm

François,

What are you whining about. You have sold your PC you already have your money. If the Nigerians would say, we don’t want to pay for the software because we install Microsoft Windows i could understand your complaining. But you have deliverd your goods, and got payed. What is your problem, if the Nigerians want to convert the machines to a Sony Playstation, that is not you problem, it is their right because they have bought and payed for the goods. I can’t understand all those whining of Linux community against Microsoft, I use Linux myself and the company uses Windows. Linux is not heaven and Microsoft is not Hell. If you look at companies as Suse/Novell and Red Hat, it is no open source anymore (they are copieing the Microsoft marketing strategie).

François, stop whining and use a better sales team

3) Again, François is not complaining for money! He is speaking of fairness, justice, and even the good of the Nigerians themselves. Don’t you get it? Mandriva won the contract, because their offer was better. Any act whatsoever afterwards is a dirty trick (possibly illegal) to impose a worse product that had lost in fair competition. François is worried about Nigerians getting the worse product.

4) About Mandriva getting a better sales team… why should they? They freakin’ won the contract!! Their product is better, and their sales team did convince the Nigerian government. Where did Mandriva fail? They should have bribed the Nigerian government, I infer?

Steve said,

November 5, 2007 at 2:41 pm

Come on guys! Seriously, you wonder why the mass market isn’t taking on Linux in numbers? There’s a number of reasons, but comments like:

“I am proud to be a linux user and i’ll die as a linux user.”

“MS is like a drug dealer”

And then moaning about ethics. Come on – this is business.

5) No. François is not talking only about ethics. Bribing someone to dump the option that won in a public competition and choose the loser option is illegal and unfair. Besides, it is also unethic, and your lame ad hominem attack on Linux users doesn’t “prove” otherwise. What you accuse Linux users of is not unethic, and even if it were, it doesn’t disprove our arguments (read what an ad hominem is, please).

Maybe, just maybe Microsoft presented a really good business case, stating the TCO on a volume licence agreement compared to the Mandrivia option. The cost would be reduced due to the volume licence agreement anyway, and that also includes free technical support to MS.

6) This line of argumentation is irrelevant. Obviously MS might have a better offer than Mandriva. But the public competition was made just for that! Both Mandriva and MS made the offers they considered fit, and Mandriva won. How many times does this need to be said? Mandriva won the competition and MS lost it. If the Nigerian government changed their mind afterwards, it has nothing to do with MS’s merits, because such merits were judged in the public competition that Mandriva won.

Whilst Linux is a great platform, it’s still nowhere near Vista or XP level yet. Whilst Linux is free or very cheap this is OK – but if you compare Vista against Linux and remove the cost out of the equasion then the worlds most popular OS is probably going to win it.

7) You have obviously not used Linux much. The technical competition was lost for Windows long time ago. The only advantage of Windows is that it is more widely used and that more commercial software is made for it, and this generates a vendor lock-in effect. Both effects are external to Windows. Intrinsically, and leaving the price aside, Linux is miles ahead of MS Windows.

That’s just business, we’ve had the same thing happen to us (our company is a web development company. Got Phase 1 done, but support went as they got their system redone by a competitor before we even finished development) Get over it, stop whining like children and start working as a commerical entity rather than hobbyists.

8 ) This is not “business”, this is breaking the law (see point 2 above).

chineme said,

November 4, 2007 at 8:28 pm

I don’t understand what all this fuss is about,Someone buys a laptop or PC that comes pre-installed with windows (also paying for the software) then remove windows and install mandriva no one complains.

Then he do the opposite and everyone takes up arms.

9) You are wrong. If I buy a laptop privately, I can do with it whatever I see fit. But the Nigerian government bought 17k computers with public money. Whenever you do something like that, you have to make (if you live in a democracy) a public competition, to see which provider makes the best offer (to guarantee that public money is spent correctly). This competition was made, and Mandriva won. If, afterwards, and with no further public competition, the government decides otherwise, they are misusing the public funds.

Lets face it the Nigerian government wanted a good cheap hardware deal and they got it and they probably also got a good deal on OS from Microsft as well. So they went for it. What is this Francois complaining about? Wasnt he paid or did they violate a contract that he can sue them for? If they did he can go ahead ad sue and stop whinning.

10) See point 9 above.

Did he ever go to Nigeria to protect his investment? Or did he just read up all the drivel and nonsense about Nigeria being a corrupt country full of spammers like the rest of you and decide to stay away as far as possible.

11) No. What François did was to win the public competition with his better offer. Period. Mandriva’s offer was better, it won, and any other use of the Nigerian money is a misuse on the government’s side, and illegal actions from MS’s side depending on what they did to get the deal.

On spam: I recieve more spam on people trying to sell me viagra or sell me a home ownership loan or even winning a lottery than Nigerians trying to get me to move millions out of the country and I treat them all the same way: I trash them.

Lets concentrate on the real issue being poor marketing and follow up and leave Nigeria’s ethics or lack of it out of the issue

12) The “real issue” is not poor marketing. It is improper assignation of public funds. Read points 9 and 11 above.

Alex said,

November 3, 2007 at 5:46 pm

Dear François,
Your letter show ignorance on your part about black people in general and Nigerians in partucular. Nigerians may be poor now- but they are certainly not stupid!
Your assuption- even though you have dealt with nigerians is that they are ignorant about both business issue and they do not have they technical savvy to make their own decisions- it’s nothing but pure racism. Not racisim out of malice- you seem to demonstarte a sincere ignorance about the abilities of africans.

Incidentlly, only French young people spend more time in education than Nigerians in the whole world- you can check that out
Do you seriously Think Nigerians- some of the best educated people in in African , if not in the world are not clever enough to change from your OS to microsoft’s.

13) You are using a laughable straw man argument. François is not implying that Nigerians are stupid. He (if I understand correctly) is implying that a) MS behaved illegally, bribing the Nigerian government to make it choose an option that had lost in a fair and public competition, over the one that had won, and b) it might be a case of corruption in the Nigerian government side, by knowingly choosing the loser in the aforementioned competition, and hence misusing the public money assigned to buy computers. To “change their mind”, the Nigerian government would have had to repeat the public competition, so that MS could win in a second round.

As a person of Nigerian parentage, when i first read about your deal I was alamed about you supplying your OS to nigerian schools. From what I know about Nigerians everybody used microsoft anyway- Every Nigerian I know- including the teachers who would be using this machnines use microsoft.

The delivery of machine s that are rugged by your company is just the perfect thing for nigeria and her schools.
To me it sounds like the best business outcome- from the point of view of the customer.
They get rugged machines good for their situation, and an os they are used to

I think for once Nigerians have let common sence rather than money to prevail.
Maybe you should press our advantage that they loved your machines to keep your relationship with the Nigerian govermenmt going, so that you get more contracts from the country- Nigerian is a huge country with millions of young people eager to learn. A well considered stategy and long term view by your country in a frican may in the end popularise your OS there as well- believe me there are ways to beat microsoft in a country like nigeria- I mean software design wise

14) Getting computers with Windows is about the worst possible outcome for Nigeria. You say that Nigerians are eager to learn, but on the other hand you say that getting Windows is better, because they are used to it! Staying with the known “bad” thing, not to have to learn the new “good” thing is very bad politics for a developing country.

GvS said,

November 2, 2007 at 4:55 pm

Maybe because Mandriva is just one of 10.000 linux distro’s, and Windows is the defacto industry standard.

15) Windows being the de facto standard is really really bad for the computer users. What this means is that instead of software makers following the standards agreed upon by all agents (makers, users, governments…), it’s the other way around: users, governments and other companies have to follow the decisions of MS. Decisions that are taken to benefit only MS, regardless of how negative they might be for the users. Do you really think this situation is good for you?

If you are running a government, and you have to choose between:
a. A linux distro that my students have a 1% (a very very high estimate) of using in real life (that is working for a company)
b. A M$ solution, they will use in at least 50% (a very very low estimate) of the companies they will ever work for.
Now what do you choose to best prepare your students?

16) Your argument is that people shouldn’t use Linux because people don’t use Linux. Reread it, an realize what a nonsense it is! The correct reasoning is the following:

a) Windows binds you to a vendor (MS) / Linux doesn’t
b) Windows restricts your rights to use, modify and redistribute it / Linux doesn’t
c) Windows artificially restricts (DRM) what kind of media you can play on it / Linux doesn’t
d) Windows encourages you not to learn how the computer works / Linux does the opposite
e) Windows makes you dependent on proprietary formats / Linux doesn’t
f) Windows is bug ridden, unstable and subject to malware / The incidence of these is infinitely smaller in Linux
g) Windows encourages following the beaten path / Linux encourages finding your own way
h) Windows makes you fall in a dependency loop that is hard to get out of / Linux gives you freedom
i) Windows means more money to the already rich / Linux means more power to the user

Now, as a teacher in a developing country, eager to break the chains with the First World domination, to give the most freedom and power to your students, to educate them to learn, and not just repeat what others do without real knowledge… what would you choose to provide your students?

Anonymous said,

November 1, 2007 at 4:02 am

François,

Why are you assuming that Microsoft did something underhanded? It could very well be the case that a deal with Microsoft is more viable for the Nigerian goverment in the longer run –
– Their products are tried and trusted. Yours is still an unknown quantity.
– Their customer support is supposedly very good. How about yours?
– Maybe the TCO for Microsoft’s solution is lower than your solution.

I’m in no way taking sides. But you must be willing to accept the possibility that Microsoft could have presented a better long term deal for them.
-Anonymous

17) Did you actually read François’s post? MS lost the public competition. Mandriva won it. MS’s offer could have been better, but it actually wasn’t. Read point 6 above.

djbon2112 said,

November 2, 2007 at 11:37 am

Wow, more bitching from a Linux distro because Microsoft won a deal? Unheard-of!

18) Again the same nonsense! Microsoft LOST the deal. There was a public competition, and Mandriva won. Mandriva and MS had the opportunity to make their best offers, both did, and the government chose Madriva. MS didn’t win the deal: they bribed their way into it. Read points 2, 6 and 9 above, please.

Sorry, but Microsoft makes a better product. You know why? It doesn’t abuse my time.

I’ve tried to use Linux. I’ve tried Ubuntu, and Debian, and Fedora, and countless other distros (yours included) throughout the years. And every time, I’ve run into problems which are so simple to fix in Windows, but take HOURS of my time to attempt to fix in Linux. And I say “attempt”, because 90% of the time, the “solutions” don’t work, and I’ve wasted another hour of my life trying to make something simple (like, a Flash plug-in for Firefox in x64?, to name one of MANY!) work.

A friend of mine said, “Linux is only free if your time is worthless”. Microsoft products work easily, the first time, and don’t waste my life with trivial issues and setup. I can get a Windows Vista box up and surfing the internet, playing games, watching movies, doing ANYTHING you want, in under 2 hours. I’ll take a little “insecurity” (and Windows is only insecure if you’re an idiot) for that!

19) This rant is more tech-related than about the Mandriva vs. MS issue at hand. Anyway, I will comment something: your experience is anecdotal. Windows is easier than Linux if you are an expert in the former, and an ignorant in the latter. I have a long experience in both, and for me Linux is easier. When I an forced to use that pile of crap called Windows I keep finding that I don’t know how to do the simplest things. Maybe it’s because I am more used to Linux… so this proves my point. And there are a lot of things that are really simple in Linux, and are really annoying, or impossible to do in Windows.

You say that “Linux is only free if your time is worthless”. It’s a good point, but rather false. You are assuming that you already know how to use Windows, and that you have to learn how to use Linux. But if you know neither, learning Linux does not necessarily require more of your valuable time. Moreover, all the time I have spent figuring out how to do things in Linux was not wasted time for me. I learned a lot, not about Linux, but about how to do stuff, and how computers work, and how the Internet works, and about security, and about programming, and about an awful lot of things. Linux gave me the marvelous opportunity to learn a lot!

Update: Nigerian government moves back to Mandriva

Comments (11)

File compression: gzip vs. bzip2

I just found out that my regular backups at a couple of computers are filling up the corresponding disks (for the Spanish readers: ¡están petaos!), and I realized that it is because I was keeping a bunch of 200MB files uncompressed. Since the files are ASCII, full of numbers, most of which are actually zeros, they are perfect candidates for compressing them with tools like gzip or bzip2. Everybody knows that the latter is more efficient, but slower, so I made a small comparison:

Original file: 211MB
gzip: 4.5MB in 11 s (compress), 6.5 s (uncompress)
bzip2: 2.4MB in 1323 s (compress), 27 s (uncompress)

Yes, the compression with bzip2 is impressing: 88x compression, where gzip gets 47x (almost a 90% better compression). But the timing is poor: bzip2 is 120 times slower than gzip. For uncompression, bzip2 fares better: “only” 4 times slower than gzip. Where gzip can uncompress a file in about half the time it took to compress, bzip2 does the same almost 50 times faster (because compressing was soooo slow).

This case is anecdotal, but it nicely illustrates my experience in general.

Comments

Open letter from Mandriva to Steve Ballmer

The letter says it all.

Comments (1)

Basque ads with Ubuntu on them

The Diputación Foral de Gipuzkoa (local government of the province of Gipuzkoa in Spain) has a series of advertisings on TV for their i-gipuzkoa.net web site, within a campaign to promote the use of the Internet among the citizens.

The ads depict a family learning to use the net for different tasks, such as finding information or purchasing plane tickets. The remarkable thing is that the computer that the family is seen using boasts a GNOME desktop, apparently running under Ubuntu.

Below I show some screenshots of the videos, that are available for download in the “Videos” section of the i-gipuzkoa.net site. Underneath each picture there is a legend with the video it appears in, and the time (in minutes:seconds format) the image appears in the video.

Image 1 clearly shows that the desktop is GNOME, with its default top and bottom taskbars (only the top one can be seen in that pic), and the Ubuntu logo showing in the top-left corner. The windowing theme seems to be the default Ubuntu “Human” look. It is also apparent that the browser they use is Firefox.



1 – Video 2 (00:52)

Images 2 and 3 show that the browser window has been resized horizontally, so that the Ubuntu logo of the default background can be seen. It is hard to believe that the resizing of that window is casual. The resizing of the browser window (to show the Ubuntu logo) can even be seen in more than one video: e.g. video 8 (image 8).



2 – Video 1 (01:01)



3 – Video 1 (01:11)

The second video of the series shows the father and the son creating a web page for the father’s shop. To do so, they use Quanta+, as can be seen in image 4.



4 – Video 2 (00:42.36)

In some clips MS Windows is used (see image 5), but even there they use Firefox (see image 6).



5 – Video 3 (00:39.88)



6 – Video 3 (01:08.64)

Finally image 7 shows that in one clip OpenOffice.org is used to fill in some online document.



7 – Video 4 (00:50.64)



8 – Video 8 (01:05.44)

I find it highly significant that some official ads display such a prominent use of free software, to the extent of the window resizing for showing the Ubuntu logo, as I mention above. The simple fact that someone in the (ignorant) politic class has ever heard about Linux is a great step forward, I believe.

Comments

X forwarding through SSH

Already out of ideas for blog posts, I will shamelessly copy some material from my web site.

When connecting to a remote machine (called, e.g., Orpheus), we used to do the following to open a remote X client application:


localmachine> xhost +orpheus
localmachine> ssh orpheus
orpheus> setenv DISPLAY localmachine:0.0
orpheus> xeyes

Doing so is insecure, because 1) all the info sent from/to Orpheus through the xeyes process is transported unencripted (maybe not a big concern with xeyes, but what if the remote application is a dialog where we insert some password?) and 2) xhost only checks for the IP we atribute to Orpheus to accept X input. Any user connected to Orpheus, or even any cracker who knows how to fake a different IP address (that of Orpheus) can send us X input that our computer will accept (e.g., move our mouse, close windows, simulate keystrokes, and display unwanted images in our screen).

The solution would be to forward X traffic over SSH. What we do is basically connect to a machine through SSH, and then accept locally only the X input coming from the remote machine that originates from the SSH process we started.

To do so we must insert the following line into the ~/.ssh/config file in our “localmachine” computer (create the file if it doesn’t exist):


ForwardX11 yes

The next step is more complex, since only the administrator of the remote machine can acomplish it. As root, we have to open the /etc/ssh/sshd_config file (notice the “d”) in the remote machine (e.g. Orpheus), and search for the lines:


#X11Forwarding no
#X11DisplayOffset 10

And set them to:


X11Forwarding yes
X11DisplayOffset 10

After that, we have to restart the SSH daemon. On Debian:


% /etc/init.d/ssh restart

On Slackware:


% /etc/rc.d/rc.sshd restart

A couple of final notes:

The environment variable DISPLAY should NOT be set by ~/.login or some other login script, because this would override the above procedure, and make the X client run over regular TCP. To use the SSH tunneling:


localmachine> ssh -X orpheus
orpheus> xeyes

et voilà!

To take advantage of this system, and make our computer more secure, no machine should be allowed to send X input through xhost, that is, issueing the xhost command should output the following:


localmachine> xhost
access control enabled, only authorized clients can connect

with no "INET:Orpheus.sq.ehu.es"-like lines.

Comments

LaTeX programming: how to implement conditionals

I have recently come across a problem while creating a LaTeX style (for making A0-size posters). Maybe it could be avoided or solved more elegantly, but I wanted to solve it with conditionals.

Basically, what I wanted to do was define a command (actually, an environment) that accepted one argument, and make it return different output, depending on the argument:

if (argument equals something) then
  do something
else
  do somethingelse
end if

It gave me some headaches to get it, but I also learned some interesting things on the way. There are at least two ways of playing with conditionals: defining boolean variables or directly using logical comparisons.

Defining logical valiables

We can define a logical variable logvar as follows:

\newif\iflogvar

By default, it is set to false. We can set it to true by:

\logvartrue

and back to false by:

\logvarfalse

The variable can be used in a conditional as follows:

\iflogvar
  aaaa
\else
  bbbb
\fi

You can think of the above code as a single object, the output value of which will be “aaaa” if logvar is true, and “bbbb” if false. Basically, the following code will, thus, output “Today is great“:

Today

\newif\ifismonday

\ismondayfalse

\ifismonday
  sucks!
\else
  is \textbf{great}
\fi

Direct logic comparison

The example I provide works for numbers, but check this page for more info. Recall that LaTeX works with integers (counters) and text strings. As far as I know, floating point operations are impossible in LaTeX (nothing is actually impossible in LaTeX, just veeery difficult).

For example, defining the following command in the preamble:

\newcommand{\isitthree}[1]
{
  \ifnum#1=3
    number #1 is 3
  \else
    number #1 is not 3
  \fi
}

allows us to call it in the document, so the following outputs “We know that number 33 is not 3”:

We know that \isitthree{33}

Nesting

Obviously the conditionals can be nested (put one inside another), when more than one condition needs to be tested. For example:

Today

\newif\ifismonday
\newif\ifistuesday

\ismondayfalse
\istuesdaytrue

\ifismonday
  sucks!
\else
  \ifistuesday
    almost sucks.
  \else
    is \textbf{great}
  \fi
\fi

Comments (7)

Compiz Fusion under Debian Lenny on my home desktop

I recently wrote (actually, my last post, 12 days ago), a howto of sorts with my experience installing Compiz Fusion on my laptop. Yesterday I came back from my vacations, and repeated the feat with my destop computer at home.

The setup is quite different:

CPU: AMD Athlon 2800+
Graphics: nVidia FX 5700 (256MB)

And the effort is also quite different: it took me much less! Partially, this was because of my previous exprerience, but mainly the reason is that the graphics card here is nVidia. Yes, let the world know that ATI cards suck on Linux.

The problem is that ATI cards need XGL to have Compiz running, but nVidia cards make use of AIGLX natively, so the installation has only two steps: (1) installing the nVidia driver, and (2) installing the Compiz Fusion packages.

Installing the latest nVidia driver

As with the ATI card in my laptop, I decided to use the proprietary drivers from the nVidia site. The choice-making interface is so similar, actually, to that of ATI. I had to go Graphics Driver->GeForce FX series->Linux x86->Go!, and download this installer.

BIG WARNING: before actually installing anything, remove a previous installation of the nVidia drivers, if you installed them “the Debian way”. For that, do:

% aptitude purge nvidia-glx

I have a friend who did not do so and… Ok, ok, it happened to me. If you do not do the above, everything seems to work fine, but everytime you reboot the X server will crash, and you might get incredibly annoyed by that.

To perform the installation, simply run, as root:

% sh path-to-file/NVIDIA-Linux-x86-100.14.11-pkg1.run

Then, just modify your xorg.conf file to contain the following:

Section "ServerLayout"
  Identifier     "Default Layout"
  Screen       "Default Screen" 0 0
  InputDevice    "Generic Keyboard"
  InputDevice    "Configured Mouse"
  Option         "AIGLX" "true"
EndSection

...

Section "Extensions"
  Option         "RENDER" "true"
  Option         "Composite" "Enable"
  Option         "DAMAGE" "true"
EndSection

Installing Compiz Fusion packages

The procedure is exactly the same covered in my previous post. In short:

1) Add the Shame repository to your /etc/apt/sources.list:

deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./

2) Get the signature for the repo:

% gpg --keyserver pgpkeys.mit.edu --recv-key 11F6E468
% gpg -a --export 11F6E468

3) Update and install:

% aptitude update
% aptitude install compiz-fusion-all --a

Any time you want to run Compiz, just execute:

% compiz --replace -c emerald

Shorter than the ATI thing, uh?

Comments

Compiz Fusion under Debian Lenny on my laptop

I have a previous post with what I’ve done to my laptop, and in that post it’s not mentioned, but I managed (quite a while ago) to make Beryl work under Ubuntu Dapper Drake. Dapper is getting older, but I am not having good experiences installing Edgy and Feisty on the laptop. I have managed to install Debian Etch with no problem, but the wireless driver was not working properly (for me, a showstopper) until Lenny.

So now I have a Debian Lenny partition, plus three other: the original WinXP, the Ubuntu Dapper I am still using as “main” OS, and a Fedora 7 I installed just because it came in a DVD with a magazine I bought for a train trip I had not brought any reading material with me :^)

Since I am on vacation, and I have plenty of time (although I don’t want to spend all of it on my comp), I decided to give Compiz Fusion a try, mostly after seeing what it its capable of.

First things first, the specs of my laptop are:

Fujitsu-Siemes Amilo PI1536
CPU: Intel Core 2 Duo T7200 2×2.0GHz
RAM: 2x1Gb
HD: 120Gb SATA
Display: 15.4 WXGA
Graphics: ATI Mobility Radeon X1400 (128Mb dedicated/512Mb shared)

The only relevant parts above are that it has an ATI graphics card (which, under Linux, sucks), and that it has Core 2 CPUs, which are amd64-capable (which is both great, for performance, and sucks, for drivers and software compatibilities). So, my second step was:

Installation of ATI drivers

If you want to take the best out of your ATI card, you have to tell your X.org graphics server to use the fglrx driver, and not the default vesa one. You can install this driver from the official Debian repositories, but for me those packages (fglrx-driver and related ones) didn’t do it.

So, I googled a bit, and followed the most widespread recommendation: to install the latest non-free (sigh) driver from the ATI site. For that, I chose the options: Linux x86_64 -> Mobility Radeon -> Mobility Radeon X1400 -> Go, reaching this page, and downloading this 38MB binary (for the record, the 32bit version of the drivers is exactly the same .run file).

Next, I followed the remaining information in this excelent thread in linuxquestions.org. Namely, I downloaded the needed packages (the code is copy-paste-able):

% aptitude install module-assistant build-essential dh-make debhelper debconf libstdc++5 linux-headers-$(uname -r) ia32-libs

Beware that the ia32-libs packages is not mentioned in the linuxquestions.org thread (assuming that you already have it installed), but it is required.

Next, run the ATI binary inside a dedicated directory (I did it as root, but it is not compulsory):

% mkdir /root/fglrx
% cd /root/fglrx
% mv wherever-I-downloaded-it/ati-driver-installer-8.32.5-x86.x86_64.run .
% chmod +x ati-driver-installer-8.32.5-x86.x86_64.run
% ./ati-driver-installer-8.32.5-x86.x86_64.run --buildpkg Debian/lenny
% rm or mv the .run file wherever you want

This generates a bunch of .debs in the /root/fglrx dir. Next, install them, and compile the driver (for this, you do need to be root):

% dpkg -i fglrx-*.deb
% cd /usr/src
% m-a prepare
% m-a a-i fglrx

The linuxquestion.org thread mentions modifying the /etc/X11/xorg.conf file in two ways. First, disable compositing, adding:

Section "Extensions"
Option "Composite" "Disable"
EndSection

to it, and then running:

% aticonfig --initial
% aticonfig --overlay-type=Xv

For me, both were superfluous, because I made a copy of my Ubuntu xorg.conf, and them made minimal changes (if at all). However, the first change (disabling compositing) was straightforward wrong. If I want to use Compiz Fusion, I need to have it. Relevant excerpts from my xorg.conf:

Section "Module"
  Load  "i2c"
  Load  "bitmap"
  Load  "ddc"
  Load  "dri"
  Load  "extmod"
  Load  "freetype"
  Load  "glx"
  Load  "int10"
  Load  "type1"
  Load  "vbe"
EndSection

...

Section "Device"
  Identifier  "aticonfig-Device[0]"
  Driver      "fglrx"
  Option      "VideoOverlay" "on"
  Option      "OpenGLOverlay" "off"
EndSection

...

Section "Screen"
  Identifier "aticonfig-Screen[0]"
  Device     "aticonfig-Device[0]"
  Monitor    "aticonfig-Monitor[0]"
  DefaultDepth     24
  SubSection "Display"
    Viewport   0 0
    Depth     24
    Modes    "1280x800" "800x600" "640x480"
  EndSubSection
EndSection

...

Section "DRI"
  Mode         0666
EndSection

Section "Extensions"
  Option "Composite" "1"
EndSection

After all this fuss, and to ensure you have it all running OK, try to insert the module as root:

% modprobe fglrx

Then, make sure it loads everytime you reboot (include it in /etc/modules if necessary, but it shouldn’t be).

Next, reload the X server, and check that now it is running the fglrx driver, by doing the following (as user is fine):

% fglrxinfo

It should display something like the following:

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 2.0.6650 (8.39.4)

If, instead, it says something about mesa3d, it didn’t work.

Now, the second step is…

Installing Xgl

With the standard X.org server we have a problem. We can load the fglrx driver, but we can not activate compositing (see last three lines of my xorg.conf file above). If we activate compositing in the xorg.conf file, the ATI driver will not be loaded (don’t ask me why, it just seems to happen). If we deactivate compositing, the ATI driver gets loaded, but without compositing, we can not use Compiz.

The solution is to install Xgl which is an X server (or, I think, a kind of layer that runs on top of the X.org server) that allows for the above trick. There seem to be two “ways” of getting proper compositing: Xgl and AIGLX. The general agreement on the net seems to be that the latter is “better”, but only the former seems to work with ATI cards (read the “AIGLX with AMD (ex-ATI) Proprietary Drivers” section in the AIGLX Wikipedia article, because it hits the problem dead-on). With Xgl I can make use of the fglrx driver and have compositing at the same time.

We are lucky here, because there are Debian repositories for Xgl. I found out about them in this howto in tuxmachines.org. Most of the info there is mostly… ehem… useless (for me), but reading it I found a repo for Xgl. I just have to add the following line to my /etc/apt/sources.list (beware that the original mention in the tuxmachines.org page says “binary-i386”, and I had to change it to “binary-amd64”):

deb http://www5.autistici.org/debian-xgl/debian/ binary-amd64/

I then had to do aptitude update, and I (of course) got an error telling me that some signatures couldn’t be verified (read my own article about secure APT and/or the wonderful Debian wiki to know more). I think the key is 11F6E468, and it corresponds to Francesco Cecconi (mantainer of the repo). It is downloadable from pgpkeys.mit.edu (follow instructions on my previous post, or the ones in the Debian wiki). If you want, do not skip reading the parent page of the repository.

After the keys are OK, it’s just a matter of doing (as root):

% aptitude update
% aptitude install xgl

Now you are done installing, but will have to actually use Xgl. This gave me some headaches, not because I didn’t know where to put things, but because I didn’t know exactly what to put. I read, and followed, the instructions in freedesktop.org, and (after all, the blog seems to be useful for someone: myself) a previous post of my own.

I am using GDM, so my final setup was the following: first generate a suitable entry in the GDM menu, by creating a file named /usr/share/xsessions/xfce4-xgl.desktop (or whatever, but in the same dir, and ending in “.desktop”), and putting the following inside:

[Desktop Entry]
Encoding=UTF-8
Name=Xfce-Xgl
Exec=/usr/local/bin/startxgl_xfce
Icon=Type=Application

The string after “Name=” is the one that will appear in the GDM menu, and the one after “Exec=” what will be executed when selecting that entry.

Next, we have to create the string we promise above (/usr/local/bin/startxgl_xfce), and put the following inside:

# Start the Xgl server:
Xgl -fullscreen :0 -ac -accel glx:pbuffer -accel xv:pbuffer -fp /usr/share/X11/fonts/misc & sleep 5 && DISPLAY=:0
# Start Xfce:
exec xfce4-session

As you can see, I am telling Xgl to load a font (with -fp) that was giving me headaches, because the server would die saying that the font was missing when I didn’t include that option. Your mileage may vary.

Now, everytime we select the entry labeled “Xfce-Xgl” in the GDM menu, we will have the Xgl server running.

Installing Compiz Fusion packages

I think the aforementioned autistici.org repo has compiz packages, as well as the default Debian Lenny repos. But net consensus seems to be that they are not the way to go. Everyone praises two repositories: Treviño’s and Shame’s. I chose the latter, adding the following line to my /etc/apt/sources.list:

deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./

I think I went through the same chores as above for key verification, Shame’s key being A42A6CF5.

After that, I installed the following package (it installs all of the needed packages):

% aptitude install compiz-fusion-all

After that, and inside my “Xfce-Xgl” session, I just did the following, as some googling revealed:

% compiz --replace

But… it didn’t work :^( It complained in the following manner:

Fatal: Failed test: texture_from_pixmap support
Checks indicate that it's impossible to start compiz on your system.

I found a lot of pages, threads and howtos in the net stumbling upon this same problem (for example, this one at ubuntuforums.org), but none with the answer. Really. None. The most enlightening tips where the use of the -v, -h and --help switches for compiz. The first one requests verbose output, the second one help about “short” options, and the third one help about the “long” options. With the latter I discovered the --force-fglrx switch, which saved the day! Yes, I now use the following command to start Compiz:

% compiz --replace -c emerald --force-fglrx

I have two things to say at that point. First: this Compiz Fusion is visually astonishing! It is full of great ideas, and has a lot of settings to play with. The second thing is not so nice: some glitches are present. For example, my Konsole windows get transparent background for no reason, and the refresh is horrible (when text reaches the bottom on the terminal, it starts to overwrite itself. One must hide and un-hide the window for proper refreshing, which is unacceptable). The latter also affects other windows, which, all in all, makes it unsuitable for much comfort.

However, Compiz Fusion is new, hot and experimental. I love playing with it, but right now it can not be relied upon. On the bright side, in the three days from my installation, the packages have been updated three times! I suppose some aptitude upgrade cycles will fix the issues eventually.

And that’s it, dear reader.

Comments (6)

PowerDot screen size error in Debian Lenny

I use the PowerDot class to make presentations (such as the one in a previous post), and I have come across a nasty problem in the current testing branch of Debian (Lenny). Obviously it is bound to affect any other distro relying on Debian, such as Ubuntu.

The problem is discussed in this thread in freelists.org, and a solution is given by Hendri Adriaens in the tug.org bug page.

In short, when selecting paper=screen paper size in a PowerDot .tex file, the current dvips (version 5.96.1, provided by the package texlive-bin version 2007-12) generates a PostScript file with a wrong paper size. To fix it, you can get the following file:

% wget http://tug.org/svn/texlive/trunk/Master/texmf/dvips/config/config.ps

and put it where the following command tells you:

% kpsewhich --format='dvips config' config.ps

after backing up the old (buggy) one, just in case. For example:

% mv /etc/texmf/dvips/config/config.ps /etc/texmf/dvips/config/config.ps.backup
% mv config.ps /etc/texmf/dvips/config/

This fixes the problem for me.

Comments

App of the week: PDF Cube

I just found this little app browsing for PDF software in my Debian aptitude repository contents.

In short, PDF Cube displays PDFs in full screen, adding Compiz-like cube transitions from slide to slide if we want. The following YouTube video shows how it works:

[youtube=http://youtube.com/watch?v=AscU72HOwgM]

You can notice the mixed regular/cube transitions, as well as the five zooming options used in slide 4.

By the way, I have started the Wikipedia article for PDF Cube. I think this little program deserves to be in the Wikipedia.

Incidentally, the above is the first video I upload to YouTube! :^)

Comments (2)

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »