/etc/rant - The 64-Bit Question

Linux is blowing its opportunity to be the best AMD64 platform for all needs.

I haven't upgraded my main workstation in years, so it is about time for a change. I've heard nothing but great things about the AMD64 processor, so that's the route I take.

I decide to shop for a lower-speed dual-core AMD64 processor instead of a high-speed single-core processor. I want dual-core, because I'm not looking for the ultimate gaming machine. I want a good “lets me compile, burn a DVD, and maybe do two or three other things at the same time and still have a very responsive desktop” machine. I find that I can put together a decent dual-core AMD64 box with a PCI Express x16 NVIDIA display card, two huge SATA drives and 4GB of RAM for a surprisingly reasonable price. I get most of my stuff on-line from www.newegg.com, which has some pretty good deals.

A few days later, most of my stuff arrives. It takes about a day to tinker together the new computer between editing sessions on the old one. With the exception of a couple of dumb mistakes, everything comes together, and the new computer is running fine.

My SATA DVD drive hasn't arrived yet. I use my old IDE DVD drive to install the AMD64 version of Kubuntu. This turns out to be an accidental lucky break, as you'll see in a moment.

I upgrade Kubuntu AMD64 to use the K8-SMP version of the kernel in order to take advantage of my dual-core processor. Big mistake. The SMP kernel crashes. A lot. I check the forums, and it crashes a lot for many Kubuntu/Ubuntu users. Kubuntu released an updated version of the kernel, but it still crashes, just not as often.

So I compile my own 2.6.15.4 version of the kernel. It doesn't support the graphical boot screen, and it reports some meaningless errors. I don't care. My version of the kernel is stable and it supports all my hardware.

My SATA DVD drive arrives. I remove my IDE drive and install the SATA drive. My Linux kernel can't recognize the drive. Why? Because there is a kernel driver parameter called atapi_enabled that needs to be set to 1 in order for the kernel to recognize the DVD/CD drive. I modify the source code to change the default and recompile. That works. (You don't have to modify the source, but it's beyond the scope of this rant to explain why I chose that method over the alternatives.)

Then I attempt to install the AMD64 version of Debian. Thanks to the default atapi_enabled=0 in the Debian kernel on the DVD, the installation program can't find the DVD/CD drive in order to install the software. I can't find any way to change the parameter to 1. I read that the kernel boot option libata.atapi_enabled=1 should work, but it doesn't. So I can't install Debian AMD64 (or probably any other distribution) unless I put an additional IDE DVD/CD drive in the machine. That's nuts.

Then I run Firefox under Kubuntu. The latest official Kubuntu version is 1.07. I want to use 1.5 or later, and there is no AMD64 version available. So I compile one myself. That's fine, but no AMD64 version of Firefox can run Flash because there is no 64-bit version of Flash. There is an AMD64 version of Java, but it doesn't include a plugin library, so I can't run AMD64 Java from this browser, either. The Ubuntu forums explain how to get 32-bit Firefox working with Flash and Java without having to chroot to a 32-bit environment, but those instructions don't work for me. I eventually track the problem down to another kernel configuration option.

I suppose I can avoid all these problems by running i386 versions of Linux on this machine. I suppose I could also have avoided all these problems if I had researched existing support for AMD64 and chose not to go with an AMD64 chip. But I didn't think I had to research AMD64 support. The AMD64 is practically an old chip now by modern standards. There are lots of notebook computers that use a version of the AMD64, so don't tell me it's a server-only chip.

Granted some of the problems are external to Linux, such as the lack of an AMD64 Java plugin library and lack of AMD64 Flash plugin. But there's no excuse for Linux being unable to recognize a SATA DVD/CD drive, no matter what chip you're using. And since Ubuntu shows that it is possible with customization, there's no excuse for any AMD64 distribution failing to let you run 32-bit Firefox with plugins right out of the box.

The 64-bit version of Windows is still struggling. So there is still a window of opportunity for Linux to be the first, best AMD64 desktop platform. It's high time distro developers (and third parties) got off their arses to help make this possible.

Nicholas Petreley is Editor in Chief of Linux Journal and a former programmer, teacher, analyst and consultant who has been working with and writing about Linux for more than ten years.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

do you want your money back?

Luke Crawford's picture

So wait, you expect people to work for free to create you an operating system, and not only to make it work for them, but to make it work for you on the latest consumer-grade hardware; and to make it work in a way whereby you don't have to put in any extra work?

Please. If you need hand-holding, buy support from someone like RedHat, one of the other support vendors, or the 15 year old kid down the block. It is silly to expect people to hold your hand for free.

(I have experienced an unexpected level of hand-holding from the open-source community; A number of people that are way better than I am have answered my technical questions for free. if you ask for help on the right lists, you quite often get it. My point is just that this additude of "you owe me free support!" is ungrateful, and will eventually result in the free support going away.)

confusion on 64bit kernel ABI

Rich Altmaier's picture

Dear Mr. Petreley, I feel there is some confusion around the 64bit
kernel's support of user applications, being either 32 bit or
64bit. The Linux environment with this kernel is "dual ABI",
similar to what SGI shipped for the last decade for MIPS.
This means several things:
1. generally users do not have to worry about or think about their
application being built 32bit or 64bit, just run it.
2. the OS and developers do have to release with all libraries
built for both 32 and 64bit (to accomodate which ever type of
application is fired up). I believe this happens for AMD64
supporting distributions.
3. one steers an application to change from being a 32bit build to
a 64bit build only when running out of address space for the
dataset the ap is trying to handle. Today, 10 years after
release 64bit support in IRIX for MIPS, we are totally happy
to run and see 32bit utilities and applications. There is nothing
evil or wrong with them. If their dataset size fits in 2Gbyte,
they have no need to move.
4. the only really bad outcome is developers deciding NOT to
release both 32 and 64bit library builds. This means any
code using that library is now trapped into the format choosen,
and not permitted a choice. This can be very bad (e.g. can't
find 2 libraries needed in the same format!).

I hope you will come to see that there is no need to seek
a 64bit Firefox build, unless your dataset (plugins) are
exceeding 2Gbyte in size.
Thank you,
Rich Altmaier, SGI

All of Linux is judged by one distro?

limpha's picture

I am very suprised by this 'rant'.
I am a developer of a distribution. We have 32 bit, 32/64 bit, and 64 bit releases.
As I read through the article, at each point it brought back memories of how we fixed each of these problems. (Except the SATA cd-rom, hasn't been fixed to my satisfaction.) For our 32/64 bit release, each of these problems our users came to us and we worked it out.
We now have a kernel that works on dual core opterons. We have sortof a kludgy hack for the SATA cd-rom. We have 32 bit firefox, with the 32 bit java plugin. (we also have 64 bit firefox for those that want it.) And we have 32 bit libr
We do NOT have firefox 1.5, because our distribution is designed to be stable, not bleeding edge, but I have had users tell me that they were able to install it themselves with only minor problems.

But then the last paragraph of the article just completely suprised me. Nick tried out ONE distribution on his dual opteron, and then from his experience he says that ALL 32/64 bit distributions are a piece of junk.

Speaking as a developer, I cannot get the latest hardware like Nick is able to. I believe the majority of developers are the same way. We rely on feedback from our users to help us iron out the kinks.
Instead of ranting away in a worldwide published magazine, how about if Nick works with the developers on getting his problem's fixed. That way not only will Nick get helped, but the distribution as a whole get's helped.

typo

limpha's picture

That one line was suposed to say
And we have 32 bit libraries, for those programs that just need them.

64-bit

Jason Philbrook's picture

I've been using SuSe 9.2 with a 64bit AMD processor for my workstation
since it came out, which is quite ancient in this business since SuSe
10.1 is almost out. It comes with 64 bit mozilla firefox, working flash, java, etc... It works out of the box. I can also run 32 bit software (compiled on old 32bit machines years ago), without any special tricks, wine without any special tricks, it just runs perfectly backwards compatible, which is important to a limited extent. It has a fancy Nvidia quadro dual headed DVI video card and 2 LCD displays. Perhaps there should be a quarterly column decribing how the different distributions advance or get polished in certain areas like this. Sounds like you got a distribution that's not as ready as some for the 64 bit desktop.

A long long time ago, I had a dec alphastation running 64 bit linux on
redhat 5.something. X worked fine. To get mozilla working easily, I
didn't bother to run it locally, but started it on another machine to
display on the alpha using the network features of X.

I agree, and have never disagreed, bleeding edge hardware needs linux
drivers first, and not last, but it's labeled bleeding edge for a
reason, and it's often because of the drivers, not the OS. I tend to shy away from brand new hardware varieties like sata DVD (IDE DVD works fine) till someone else tries it. Most of my computer use is at work, I have an ISP to run, not a computer testing lab.

For servers, AMD64 is absolutely perfect and has been since it came out, and I don't mind using non-opteron AMD chips in a server. The X2 dual cores rock just as well as dual opterons for running spamassassin and other cpu intensive work. I don't expect to be buying anything less than AMD64 for servers as each becomes due for an upgrade. I'm pleased with AMD64 on the desktop too, using SuSe.

/etc/rant - The 64-Bit Question

Ralph Wojtowicz's picture

How is it that Linux has an opportunity to be “the first, best AMD64 desktop platform

I wish LJ would dump Mr. P.

Anonymous's picture

I wish LJ would dump Mr. P. He's been a really huge pain since he took over as Editor. I for one will not re-subscribe to LJ until he and his 'hate' columns are cleaned out of LJ.

Understand the feeling...

evilchia's picture

I have to say I understand the rant. This particular expression is about the acceptance of Linux on the desktop for the every day user. It is important to not just make good software work right, but to also create a good impression if *nix is to truly give the average user a choice.
It doesn't mean that the average user shouldn't spend some time learning about the available tools, but it does mean that the same doesn't have to be schooled in the ways of the "Linux Force" to be productive.
If the goal of the *nix environments is to offer viable choices to the masses, then those choices needs to be available at a level the customer can understand. The fact that the geek customer, such as myself, can get at the nitty-gritty is just icing on the cake. For this reason, I'll run Mac OS X side-by-side with my Ubuntu/Gentoo/Debian distros until Linux can show that it konws how to respond in a performance environment without sacrificing the ammenities that make using a computer fun and productive for all sorts of tasks; i.e. raw, unadulterated power with eyecandy.

Burk Price

Have you tried Gentoo?

Travis's picture

I too have been on this very road for the past year and a half. I've tried several distros including Suse 9.1, Mandrake 10.0, Fedora Core, CentOS, and Unbuntu. I've found that Gentoo is by far the best for 64bit. I would suggest giving it a try and forming your own opinion. Who knows, maybe a future "rant" could be about diving into the Gentoo pool. Good luck with your new machine. I love my dual Opteron system. 8)

Rant, or flame?

podfish's picture

I'd expect someone that has been working with Linux for more than ten years to have a bit more patience. Your stock Ubuntu kernel didn't work for whatever reason--did that kernel recognize your SATA drives? Did you submit a bug to the Ubuntu devs? Did you submit a bug to the kernel.org devs to change the default, since the behavior is so annoying? How are the devs supposed to "get off their arses" if someone isn't supporting them? Devs I know would tell you, at this point, stop whining and write some code. Submit a bug. Sign one of the petitions to get amd64 flash support. Try gnuflash. Do something, anything, except flame the folks that are giving you a free OS. It's not productive. I'd figure you'd know that by now.

Normal user, not nerd (due to lack of education?)

Anonymous's picture

What I notice on every discussion board when someone like me makes complaints out of frustration, is that die-hard Linux experts have no understanding of seemingly trivial problems becoming huge for novices.
Running 64 bit Linux for almost a year now after chucking my MS disk out the windows from frustration, I am a happy fish, but boy have I reinstalled my distro(s) a few times.

What the Linux community needs is a coherent frame of reference for system level functionality. Most users are not programmers. Most users does not have a detailed knowledge of compilation technique. Most users don't have the time nor inclination to become experts at typing cryptic codes to get the box up. Even if distrobutions have become much better, I have yet to meet one that works to my content.

First I installed Scientific Linux. Back then the kernel didn't recognise my two-year old built-in NIC. I was grateful for having a ten year old NT machine next to my bleeding edge box. New kernel works like dandy, even if every distro I have tried have a tendency to close down my net when going into lockdown screensaver. But, instead of having three NICs (I bought an old one just to get my box up without having to modify the kernel on every update), I sacrificy that scant security of having to type a password to remove the screen saver.

Soon to be a year later, showing flash newer than three years old does NOT work. Every single distro for 64 bit claims to install a 32 bit Firefox, but due to my stubborn ignorance, youtube have worked for a scant 10 minutes during a lucky update.

Tried to install a good music library system, akin to Amarok, not wanting to have the horrible ARTS sound driver mocking up, or running on anything other than KDE? Tips on doing this WITHOUT resorting to compiling from source would be welcome. Gentoo is not a solution, as I want to use those two days it takes to install it on other things.

Saying that it is not a boon to have 64 bit I don't understand, especially when I see my two cores sharing the load excellently. My 64 bit Firefox runs faster compiled as 64 bit than 32. Gnuflash? Yeah, if I want to have my PC crashing every single time I hit a page with flash. Gnash? SWF? Macromedia 32 bit - nope.

I could go on, if I was even more provocative than I feel. However, I love Linux. Thank all of those hardy souls pouring from their imagination and competence to make a sturdy, fast and transparent system where the user has the choice.

However, please concentrate your forces. OK, there might be different components for different needs, but there are too many obsoletes or only part functioning modules making too many branches. I am sure I could do without half of those system libraries installed on my PC, if they just cooperated a bit. I don't need five sound systems, even if I do have to have them to install the programs I want.

Usability does not come out of the box, but still it is too many blind alleys for users like me before having a compact and stable system up and running. This is not complaining, it is a fact. Asking people like me to provide snippets of code speaks of ignorance. It is close to the ignorance shown by those we oppose for being monopolitic.

Providing bug reports, bet your hiny I do. I should say, we must concentrate our forces, but I don't know how to provide, as I have no knowledge of API or programming, which seems to be the running currency.

I want Debian, but can't even boot the installation CD. What grub, modprobe or whatever - forget it. If it doesn't boot it doesn't fly. I will not chuck out my Raptor. Get ata_piix or whatever to recognise SATA, please.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState