Stephen Cofer

April 6, 2009

It’s all over.

Filed under: Linux — doktorseven @ 3:51 pm

Today I say with a heavy heart these words:

Linux has ceased to be a viable desktop solution.

I will continue to push for and support Linux for servers, since I still wholly believe that it is the absolute best solution for servers over Windows and even over other Unixlike systems such as *BSD. Linux’s structure for configuration of server systems is unparalleled and its performance is superb.

However, that is no longer the case for desktops. The reason is that Linux is no longer a simple desktop OS.

Over the past several years, Linux has grown bigger and has tried to become more of a player in the desktop market. To do so, it has had to add simple configuration options for those who wish to migrate from Windows. At first, Linux did well in this — it simply created easy to use terminal and GUI configuration programs that would do what the rest of us knew how to do in the background — edit configuration files. But as it continued, some Linux developers thought it would be best to change this simple method — simplicity being the backbone of Linux’s power — to something approaching Windows in its mind-numbing complexity. dbus, hald, pulseaudio, and other things were added, not to assist the system that was already there and working, but to replace it. And many times, they simply didn’t work.

I write this after weeks of trying to get Linux up and running on my system. After years of easily and quickly getting Linux systems up and running on many different types of systems, and only running into small, easy to fix issues, I have been blocked by issue after issue after issue, each absolutely insurmountable even after days of investigations and searching. Xorg has become a slave to automatic configurations and a mountain of things behind the scenes deciding that what I put in xorg.conf just isn’t good enough for it — it decides on its own that I don’t know what I’m talking about when I say I want certain resolutions, or when I specify sync ranges for my monitor. It just goes off and decides that I have to have a gigantic screen at 60Hz. And even though I’m certain that the fglrx (ATi binary) drivers are partially to blame for some of this (plus bizarre crashing and other issues), it seems that the Linux system itself interferes with it from what I have seen in Xorg.0.log.

There are also sound issues — pulseaudio, esd, alsa, oss, all competing and fighting each other for the use of the sound device. Some things work fine, some not at all, and it’s seemingly random what does work and what does not.

What Linux needs is to return to a much simpler system. Is it that blasphemous to ask that sound mixing might be handled in the kernel, so that different sound systems don’t have to worry about whether or not the sound it’s making will be heard? Is it too much to ask to simplify Xorg and the surrounding systems where it actually uses xorg.conf as it should?

I’m really sad that it had to come to this. I have been a long time supporter of Linux, but it’s just gone too far now. The configuration of even the most “easy to use” distro and the most “power user friendly” distro (Ubuntu and Gentoo, respectively) is now down to luck and what you have on your system. Configuration of something that should be a simple editing of a configuration now involves investigating tons of settings, many involving these new “automated”, “easy-to-use” daemons that are supposed to make things “easy.”

Easy, my foot. Desktop Linux is now so far from what it used to be that it’s no longer usable. *BSD is just as bad or worse, and Apple has us paying premium prices for underpowered hardware just for the privilege of running its (admittedly nice) OS. So basically I’m stuck back in Windows, where even if things are overly complex, its monoculture design at least doesn’t make its complexity a limitation. I know that may sound like I’m praising Windows too much, but trust me, it is damning with faint praise. I do not like its design, but right now, there is nothing better. I am forced to run a poorly designed OS on a system that should be flying along with a well-designed, simple, good OS. Thanks to Linux’s poor design choices over the last several years, I can’t have that.

So long, Linux. I hope to come back one day when your developers have figured out that Linux is supposed to be simple rather than complex. Until then, I guess I get to wait for Windows 7 while stuck in the very poor Windows Vista.

March 19, 2009

Browser Previews

Filed under: Linux — doktorseven @ 5:56 pm

Firefox 3.1 (which will likely become 3.5 in Firefox’s grand chaotic numbering scheme) beta 3 and Seamonkey 2.0 alpha 3 were both released recently. I like the progress of Seamonkey, particularly the way you can actually customize the behavior of the URL bar so that it doesn’t necessarily act like Firefox’s “Awesomebar” in the way it searches for things. Both are really nice, though, and even though I still prefer Seamonkey, Firefox is a very good choice and works great.

Though, in Linux, an odd thing is happening in both.

Except for a few very rare cases, I despise “event sounds”, sounds that occur whenever something is happening. Stock Windows is the worst at this, giving events to popups, IE and Explorer navigation, and pretty much anything that happens, ever, gets some annoying little sound. Fortunately, you can turn them off.

KDE and Gnome in Linux, too, behave this way, but not quite so annoying, even by default. Still, turning the beeps and dings off is one of the first things I customize on either when I decide to use them, and since I’m on a quite advanced system with tons of RAM and a lot of ways to plug in devices, I decided to brave KDE to take advantage of some of its automation. Normally I despise any sort of automation, but I figured I’d give it a chance.

In both Firefox 3.1 beta 3 and Seamonkey 2.0alpha3, though, any time a popup “alert” (from Javascript or otherwise, e.g. the box that comes up in Seamonkey telling me what I pasted in wasn’t a valid URL), a sound effect happens. I’ve noticed there are, in fact, two — a single drum beat sound and a fast series of drum beats, which is in fact the one that Gnome (GDM) sounds when the login screen shows up in Ubuntu. And nothing — NOTHING — I do or try will turn it off. There are no preferences in the browsers themselves, all of KDE’s sounds are off, launching the Gnome sound manager from KDE shows that all the sounds are off there, and so on.

And worse, these events do not generate noises in other browsers, even Firefox 3.0.x (the latest stable Firefox).

Something is telling me that there is something within these new browsers that are hooking up to something, somewhere, and generating noises that it should not be doing. I haven’t gotten to the bottom of it, but until I do, it’s really, really annoying me.

Update: I tracked down the cause of this; apparently the new browser releases use GTK’s setting to determine whether or not to play a sound. Specifically, it looks for gtk-enable-event-sounds, and if it’s false (set to 0), it won’t play the sounds. So if you have this problem, create or open ~/.gtkrc-2.0 (or ~/.gtkrc-2.0-kde-kde4 or a similar filename if you’re using KDE and it manages GTK apps) and add the following line:
gtk-enable-event-sounds=0

Restart the browser and those stupid sounds will stop.

March 10, 2009

Return of the Me

Filed under: Linux — doktorseven @ 4:08 pm

Oh man, what a fun time.

So after dealing with a terribly slow PC after my just somewhat slow PC died a few months back, I finally found a semi-cheap PC to replace it. It’s certainly not a monster of a PC, but it runs pretty much everything I want it to just fine. Sadly, getting Linux to run on it has been an absolute chore.

First, this thing came preinstalled with Windows Vista, which isn’t the best OS in the world, I can tell you. Still, on this computer with 4GB of RAM and a quad core Phenom, it at least runs okay. The issue is that being a modern off-the-shelf PC, it did not come with an actual installer CD for the OS. It instead comes with a sort of “restore from scratch” boot function, using a custom partition with images of everything from scratch. This unfortunately means that I have to throw everything onto one massive C drive instead of reinstalling plain Vista on a smaller partition… unless, of course, I could use gparted to shrink that partition.

Trying that turned out to be a horrible idea.

Running gparted was successful; however, rebooting put me on a “repairing Vista” screen that just sat there for hours with no disk activity save for about 5 minutes at the beginning of the process. Trying to fix it from a Linux boot CD was unsuccessful as well, and every boot after that threw me back to the unfortunate uncancellable “repairing Vista” screen.

So I activated the repair mode at boot, and hoped against hope that the repair would use the existing resized partition, at least (and would somehow fix that partition as well). No luck, though — the repair truly took the system back to its initial state, with Vista installed on a partition that filled the entire drive. So at that point, I was somewhat stuck. My only real option was to try Ubuntu’s Wubi installer to give me a Linux partition inside Windows. Its max size being only 30GB was kind of a downer, but undeterred, I pressed on.

It worked, and Ubuntu seemed to have everything working just fine, including sound and 3d. Disliking Gnome, however, meant that I had to do some serious tweaking. This is when new trouble began.

I changed the oddly minimalist xorg.conf file to use a smaller screen than the nearly unreadable default of 1600×1200 (on my monitor, and especially with my aging eyes) and the proper refresh rates for my monitor. When I started X, however, the screen didn’t fill the monitor size, it was stuck at 60Hz, and I had no 3d. Trying to fix it, I eventually screwed things up bad enough where X wouldn’t even start. It was time to remove Ubuntu and start anew.

After reinstalling, I was more careful to not change anything that was not necessary, but unfortunately the same result happened. A search of Google, as before, was mostly unenlightening as to the exact cause, though I had seen some hints to some configurations not working with Ubuntu’s provided drivers. I had thought nothing of that, since, when Gnome and gdm was running by default, things were working just fine.

So for the heck of it, I removed xorg-driver-fglrx, installed the kernel headers, and — and as I removed xorg-driver-fglrx I noticed apt recommended I remove some other “unneeded” things as well, including an unknown package called dkms. Looking at the specifics, it was apparently something to help automate driver detection for Ubuntu. Knowing that would probably be a thorn in my side for where I was heading, that got removed as well.

Running off to ATI’s site for drivers, I got the latest ones for my Radeon and ran them. Without even having to change my xorg.conf configuration that I had tweaked to a much more traditional format during my trials with Ubuntu’s fglrx driver, startx now brought up a working, 3d-enabled screen. Finally.

No sound, however, but that was easily fixed by adding my user to the audio group. One has to wonder what kind of voodoo magic Ubuntu does behind the scenes to set all of this up. It boggles my mind at how much modern Linux distros automate just to save people from a few simple configuration edits.

So now that I’m back in business, I seriously hope to get back to this blogging thing here. There’s not much to talk about when you’re using Debian on an ancient, crippled, nearly useless computer.

January 24, 2009

Updates and such

Filed under: Linux — doktorseven @ 1:25 pm

Since I have apparently been too lazy to write anything here in over a month, here are quick updates:

  • Dead main computer. I’m sitting at an old Pentium II making the best of it until I can get out to get a decent new computer. It’s running Debian Testing — not sure if I want to change that since it’s up and running pretty well, but…
  • When I was messing around with my dead computer trying to see if it was just a software issue, I threw Debian on there to see if it was just my Gentoo install that had problems. Shockingly, I found that it had no kernel module for my Turtle Beach Santa Cruz card, which has always been well-supported with the kernel ALSA modules using snd-cs46xx, even having hardware mixing. Well, apparently Debian, being strictly pro-free software to a fault, wasn’t quite sure that all of the source for that module was strictly free, so they took it out. Made me a bit angry, but what can you do?
  • cmus is just an awesome commandline-based music player, with playlists and directory-based music playing. It’s light and quite powerful, and while when I’m lazy I still like amarok, cmus is awesome for light systems.

December 9, 2008

More Insane Dependencies

Filed under: Linux, Rants — doktorseven @ 9:02 pm

And it’s not dbus this time, I promise!

As a developer, I do like to use GTK+ as my graphical toolkit of choice. As much as I dislike Gnome, I have no real issues with the toolkit it uses — it’s lightweight, simple to use, and can be done in a huge variety of languages, including plain C (so many these days require C++, for some odd reason). One of the nice utilities for coding in GTK+ is a program called Glade, a user interface designer that you can simply load in a text-based file to your application and reference the named parts of your GUI in your program to automatically create a GUI quickly and simply. Good for rapid development, and even good for prototyping even if you’re doing everything manually in C (which I end up doing most of the time).

Emerging Glade in Gentoo brought up a strange dependency, however — Scrollkeeper, a method to catalog documentation, and something I neither wanted nor needed. Why the strange dependency, I wondered? Looking at the source tree, I found out why: it “depended” on Scrollkeeper for the sole purpose of updating Scrollkeeper itself! This strange bit of logic gave me an instant headache, and made me wonder why the build process for Glade didn’t simply check to see if Scrollkeeper existed on the system and only updated it if it did. Apparently the very notion of someone having a system with no Scrollkeeper on it was foreign to the developers of Glade — what kind of fevered madman would have a Linux system without Scrollkeeper! — and they plowed ahead secure in their delusion, checking for Scrollkeeper in the configure process and giving the user an error if it wasn’t found, since obviously it needed Scrollkeeper to update Scrollkeeper!

So a bit of hacking on some of the files in the source tree to keep the configure process from dying and the make process from erroring out when it didn’t find Scrollkeeper (the hard way — I just removed all references to it), and the program built, installed, and ran just fine.

Developers, we don’t all want all of this unnecessary fluff on our systems. Please keep this in mind when you create your packages.

Further dbus pollution

Filed under: Linux — doktorseven @ 8:13 pm

Hate to continually harp on dbus here, but this is really beginning to irritate me. I generally have gone with Seamonkey 2.0 alpha as my main browser due to my increasing disgust with the bloat and behind-the-scenes activity (not to mention the hideous Awesomebar — if I wanted to search my History, I’d open up my History and search it), but apparently the builds all come with dbus as a dependency. It was tolerated on Ubuntu and systems that forced the hideous poison onto me, but now that I’m running a dbus-less system, it has become an issue.

Generally, thanks to a lack of interest in taking the time to compile the hideously bloated Firefox and Seamonkey, I’ll just download the binaries, and even so in Gentoo. I currently have the -bin version of Firefox 3.0.4 installed, which does not have that hideous dbus dependency. The ebuilds do not have Seamonkey alphas available, so getting them means a manual install (as I have before in Ubuntu) from a download. But now that the Seamonkey binary has a need for dbus, I had to try compiling the thing from scratch — and failed due to some sort of problem with the build (not sure if it was their end or mine). My fear is that Firefox 3.1 will suffer the same fate on its release, but at least Gentoo will likely provide a tested ebuild to allow a pain-free compile without dbus.

It’s really become a pain now. My anti-dbus campaign has reached new levels of frustration and fist-shaking at those responsible for this abomination.

As an aside, I’d like to praise WordPress for its revamp of the Dashboard (administration section for each blog). It looks very clean, and I like it. Thank you for continuing to improve the best blogging software out there and providing us with free space to write.

December 1, 2008

Wow, I need to write more.

Filed under: Rants — doktorseven @ 8:31 pm

I’ll try harder to do so. I have a lot floating around in my mind about the state of the Linux world, but I just forget that I have this outlet to do so (or just too lazy…).

Linux is becoming Windows

Filed under: Linux — doktorseven @ 8:21 pm

I like to have control over my computer. Generally, when my computer thinks it knows better than I do, 99% of the time or more, it’s wrong. I like to tell it what to do and how to do it, and I expect it to do only that and nothing more.

This is one of the reasons I left Windows so long ago. Windows enjoys automating stuff and taking the administration of the system out of my hands. When I tell it that I do not want to automate certain things, I expect it to obey and not change back, and with Windows, sometimes getting it to do exactly that is an adventure. Many times, it’s simply impossible.

With Linux, I discovered an OS that did exactly as I said, exactly how I said, and nothing more. Configurations were basically straightforward scripts or configuration files that told the OS exactly what I wanted, and at no time did it ever think that it should do any more. It was very liberating and very exciting to use such an OS that I had ultimate control over.

But modern Linux is attempting to get away from all that. For the sake of user-friendliness and to get new users, Linux has begun to collect an arsenal of daemons (programs that run in the background to accomplish certain tasks, like services in Windows) that do nothing but automate pretty much everything. Configuring the X server with xorg.conf? Becoming obsolete. Why should users waste time when X and the collection of daemons can figure out your hardware for you and configure it by itself?

Of course the answer is that often, the “automatic” configuration is dead wrong, and worse, fixing it requires disabling the entire suite of daemons and such to keep X from automating everything. I have yet to see an automatic configuration of X that sufficiently detects the requirements of my (admittedly old, yet still perfectly useful) CRT monitor. I either get 640×480 with no ability to modify it or 1600×1200@60Hz with no 3D acceleration, neither of which is acceptable. (Also, for some horrible reason, the latest nvidia drivers apparently use the refresh rate settings as a sort of internal catalog for the resolutions, causing them to incorrectly report odd values like 57Hz as the refresh rate, which causes problems for some applications — I have to disable “DynamicTwinView” in the nvidia video card section of xorg.conf to get rid of this madness.)

But it’s not just X, it’s the entire battery of daemons that have no real purpose other than to make things slightly more convenient for new users and things horribly inconvenient for experienced users who are often trying to set things up properly for the new users. Take dbus (please, take it, and don’t come back!), an invention created by some twisted mind that decided that passing information from one application to another needed more than simple scripting and created a horribly complicated Windows-like application messaging system that does nothing but take up resources. Take pulseaudio, which hasn’t learned the lessons of aRts and ESD that a daemon-based sound manager for mixing audio causes more problems that it solves (we need to get people to purchase audio cards with functioning hardware mixers via ALSA, or rewrite ALSA to take care of mixing there instead of using a half-baked method of mixing that isn’t consistent over all applications). Take Avahi/mDNSresponder, giving zeroconf configuration to a resource-hogging daemon instead of a simple script. Take hald, which does the above-mentioned “automatic hardware detection and configuration” for X and other programs that can be done much more reliably by hand.

I could go on; Ubuntu alone has a ton of these unnecessarily complex things running at startup, and it seems like every new version adds several more. What we need to do is create scripts and user-friendly configuration dialogs to enable effective configuration of a system for a new user, not throw a lot of unnecessary garbage onto their system just to configure things that eventually spreads out to infect other distributions as it is doing now. Then Ubuntu users can ease into the true Linux way of doing things by having a system that JustWorks(tm) after install but not be crippled by a lot of Windows-like automatic configuration so they can learn that the true strength and power of Linux comes from learning how to manually configure your system, and not just leaning on a bunch of automated stuff that makes it nearly impossible to strip a system down far enough to effectively manage it.

Sadly, as I said, this garbage is infecting other distributions now as well, and it is making it very difficult even on source-based distros such as Gentoo to run a system not dirtied by this garbage. I fear that as time goes on it will get even worse, and sadly there aren’t many places to go from here.

(And why should I care if these things are taking up the large amount of resources available in computers today? Because resources are resources, and any amount is that much less available to what really matters, which is the programs I run. Plus, they simply aren’t necessary when you know how to configure things yourself — which is how it should be when using Linux — and it’s just foolish to have things running that are not necessary.)

October 27, 2008

Ubuntu 8.10

Filed under: Linux — doktorseven @ 3:47 pm

Officially, Ubuntu 8.10 drops in a few days, but from my experience, a few days outside of its release is usually close enough to be considered final, as they have to package up the actual release and everything is pretty much stable and done. So from my newly-installed Ubuntu 8.04 install from a minimal install CD to help get rid of all the bloat Ubuntu typically throws in there, I did a simple update using sudo do-release-upgrade –devel-release, which nicely automated the process. Soon enough, I had a new 8.10 system waiting a reboot away.

Unfortunately an interesting thing happened — 8.10 did not (from what I saw) have normally packaged nvidia kernel drivers as usual, and it took a moment to realize that I had to use envyng-core to install, made worse by the fact that it wouldn’t install the 9xxx drivers (the most optimal for my older nvidia card). The 173 series drivers worked well enough, though, and everything seems to be running fine now. Still need to do a manual compile of my kernel because the libata drivers still do not work well with my drive controller, slowing the entire system down more than it should on heavy disk access and occasionally causing problems with CD reads and writes.

I definitely encourage everyone to update when it hits, though. Ubuntu just gets better with every release and even though I have had issues with it over the years, it’s still the single best Linux distro out there right now for desktop use in my view. I still like Arch, Slackware, Debian, and others, but for a system that I need the best performance and reliability out of (my desktop), I have found that relying on Ubuntu is my best bet.

September 19, 2008

Case Insensitivity in Windows Strikes Again!

Filed under: Linux — doktorseven @ 8:26 pm

So now that I’m playing World of Warcraft again, I had to go grab the expansion that’s out now (Burning Crusade) to prepare for Wrath of the Lich King that hits in November. I figured the easiest thing to do would be to head over to Windows to install and patch up again since I figured there might be something odd with the installer/patcher and Linux, so I didn’t take any chances.

Grabbed everything, installed, and ran completely successfully in Windows, though its performance made me quickly want to head back over to Linux. Which I did.

Unfortunately, trying to run it in Linux gave me a curious error:

This application has encountered a critical error:

File not found

Program: C:\Program Files\WoW\Wow.exe
File: .\Client.cpp
Line: 2840

file: signaturefile

Apparently a file called signaturefile was nowhere to be found, which was odd, since everything worked fine in Windows. I tried a few combinations (running from a pristine .wine directory, for one) but nothing seemed to work. So I tried running the repair.exe to no real effect, which made me start searching. First thing I found: someone suggested deleting some of the patch pack files in WoW and running repair to allow it to repatch. That sounded quite time-consuming, but was looking like my only hope…

until someone said the answer was actually much simpler. Even though Wine tries its best to be case-insensitive when looking for programs and files, at times it just can’t be as mind-numbingly case-insensitive as Windows because, after all, we are still in a Linux environment which (correctly) requires precise case for a filename. The culprit: the patch.mpq file which holds the data for the patches. WoW was looking for “patch.MPQ”, but the Windows patcher had named it “patch.mpq”. Being on a FAT32 partition, simply renaming the file didn’t work (since, for FAT32, Linux thinks it’s the same file to, again, appease Windows), but moving it elsewhere as patch.MPQ then moving it back worked perfectly.

World of Warcraft ran without a hitch after that, and everything is great again.

Windows, I curse you and your immature file system that lazily does not enforce case sensitivity. Yet another example of why Windows needs to start over a la OSX.

Next Page »

Blog at WordPress.com.