Nvidia backlash

It seems that lately, there has been a backlash against Nvidia cards in the Linux community, due to the proprietary driver required to get 3D acceleration.

This has probably been sparked by the news that ATI's open-source driver is actually pretty good, and that AMD/ATI is working with the open-source community.

I was very disappointed with the Nvidia driver. It caused kernel panics (oopses) once or twice a week when I installed Gutsy. Then I updated to the next version of the driver, which fixed the problem but introduced another bug - this time, all my videos had too much green in them. (or not enough of another colour).

I sent a detailed bug report to Nvidia. They asked me how they could reproduce the problem. I recieved no further answer after that; not even anything like "We've got a new driver out, try it now" or "Try xyz".

In the end, I found a workaround - changing the video output settings in all my video programs and in gconf-editor from their default "xv" to just "X".

The Nvidia driver is not developed in tandum with X, so a new X version can be released without an Nvidia driver that works with it. This hurt Fedora recently. Nvidia's driver causes kernel panics, is a bit floppy as regards mode changes, can cause problems with Aleph One, and is simply not something I want to deal with on an everyday basis anymore. Due to its license, you cannot have it working 100% out-of-the-box on Linux, which does feel strange for new users who are used to having their graphics card drivers out-of-the-box on a preinstalled Windows system.

By comparison, my colleague's integrated ATI chipset works alright; Google Earth flickers when you're running Compiz, but at least it doesn't turn green. And there's a more recent driver without that problem, apparantly... I just need to SSH back into her computer to apply the update :-)

My next graphics card will either be an OGC2 (yeah, dream on) or a passively-cooled ATI card. Something by Sapphire with a lot of copper piping... yeah!

                            

Kernel Panics or Green Video?

When I recently uploaded videos to Youtube, I thought that there was something wrong with the actual videos because they looked green on my computer. Today I discovered that all videos play like that.

My first thought was that it was something wrong with ffmpeg. My second thought was compiz. My third thought was the switch between libsdl-debian-all and libsdl-debian-alsa that I had done to get Kdenlive working.

I tried it all. I still got green video.

Then I remembered: The videos looked green on-screen, but even after editing and re-encoding, once they got to Youtube they were fine. Could it be the graphics card drivers (which would explain the recent appearance of the problem, since I upgraded the drivers recently)?

I used the Screens And Graphics control panel to change the driver back to the open-source NV, and restarted X. Then I remembered that Screens And Graphics actually doesn't do A DAMNED THING, and so I edited Xorg.conf manually. Restarted X. My videos looked fine again.

Playing with the settings in the Nvidia control panel hasn't helped so far.

I have three choices: Suffer kernel panics with the old driver, suffer green video with the new driver, or suffer no 3D acceleration at all with the open-source driver.

Why the fuck do people say that the Nvidia drivers are better than the ATI ones? They really aren't! Sure, I had to run XGL on my old computer, and for a while there the drivers used to crash whenever you logged-out or changed VT. But at least I never got random kernel panics or green video.

As a result, I am seriously considering that in future computers I build, I will use ATI cards or motherboards with integrated Intel graphics. If I don't find a solution to this mess soon, I might yank the 8600 out of my computer and replace it with an ATI.

Return to Return To Castle Wolfenstein

I've bitten the bullet and started heavily playing Return To Castle Wolfenstein again.

Only thing is, I'm currently using cheat codes. I like to think that I'd be able to get through most of it unassisted, but there were one or two bits which became quite difficult with the lack of ammo :-( And I couldn't figure out how to get into one particular part of a level without raising the alarm, so I skipped the level.

One problem: I occasionally get game engine errors. Not sure if that's to do with the cheating or not. But they return me to the title screen, which sucks arse. Luckily I save often.

Another thing about that game that sucks arse is the crypt levels and the whole "paranormal division" storyline. I can describe for you what you do in the crypt levels:

1. Find a switch. It's on the other end of a corridor.
2. Walk through the corridor and flick the switch.
3. Monsters start breaking out of the walls of the corridor you just walked through. You now have no space to maneuver.
4. You start shooting, but the monsters have a damn shield that they raise that manages to perfectly deflect your bullets back to you. You're now taking damage from your own bullets.
5. You decide to switch away from the rifle to your MP-40, which you recently picked up some ammo for after being completely out. Unfortunately, the move of the mousewheel takes you through the silenced Sten gun, so the precious ammo is all loaded into the Sten. The Sten overheats after about 4 shots.
6. You finally manage to kill the baddies, and you have 36% health left and only ammo for your rifle and pistol. You walk around for a minute before spying a switch at the end of a corridor...

I also hated the booby traps at the end of the last crypt level. It just makes the game feel unprofessional.

But I'm now past the crypt, and I'm enjoying the game again.

HOWTO install Return To Castle Wolfenstein on Linux

I have Return To Castle Wolfenstein: Game Of The Year edition. This doesn't come with a Linux installer on the disc, and it's impossible to find an actual installer for it for Linux. But I've found a way to install it from your disc using just a patch for the Linux version of the game! This works because the patch doesn't just patch existing files, it replaces them, and one of the files it replaces is the Linux binary. It doesn't even check that you already have the files; if you don't already have a RTCW installation it will just create everything you need.

First, download a patch from one of many sources on the internet. These are in the form of an x86 installer (.run file). Switch to root:

Ubuntu: sudo su
Others: su

cd into the directory containing the patch program, if necessary, then run it:

./wolf-linux-1.41-3.x86.run

Follow the prompts (you may need to install extra packages to get the patch to run) until it has installed.

Now, on your CD, find the directory "Data". Open a root file browser:

Gnome: gksu nautilus
KDE: kdesu konqueror

And navigate it to /usr/local/games/wolfenstein.

Drag the contents of the "Data" directory (except for the "main" directory) straight into the root file browser. Now move both file browsers into their respective "main" directory, and drag the contents from the CD to the hard disk, taking care not to overwrite the files already in there.

Two final steps: Turn off compiz by pressing alt-f2 and typing:

Gnome: metacity --replace
KDE: kwin --replace

Otherwise the game will hang.

Open your package manager and install the "alsa-oss" package.

To run the game, press alt-F2 and type:

aoss wolfsp

Presto! You are now running Return To Castle Wolfenstein on your Linux box!

The Tricky Task of supporting Photo CD on Linux

Did you know that Kodak PhotoCD is now a dead format? Did you know that software needs to be written to specifically support it? I always just believed it was a standard CD with photos on it at different sizes - probably because all Macs shipped with an extension that made a Photo CD look just like that.

But now that Photo CD is dead, it's becoming increasingly hard to find application software that can properly interpret its format. Some software obviously did support it, but since few people have been testing that software with Photo CD images lately, bugs have crept in that make the images look totally wrong. Some older software no longer works on newer systems like Windows Vista, Mac OS X and the latest versions of Linux distributions.

This goes to show: DO NOT TRUST YOUR DATA TO A SINGLE-VENDOR FORMAT. Use popular formats, and if you discover that a format you have used for your data is going out of fashion, for god's sake transfer it into a different format.

Ideally, you'll use an open format to begin with, as there will always be open-source code available for parsing and working with the format, even if it becomes superseded. And if it becomes superseded, you'll be able to convert pretty much losslessly to a different open format.

This is an excellent article about Photo CD support on Linux, and really about dead formats in general.

Skype now works for video!

Josh Skyped me to ask if we could check whether the webcam in his laptop works with Skype. I agreed, and plugged my own camera in. His camera works fine, and now so does mine! I downloaded the latest Skype beta a few days ago, and that has made all the difference.

Google should be your FRIEND!

(or "Why Internet Explorer 6 sucks cock")

My father is developing a website for a client. Okay, so actually my father is actually getting me to do most of the work. Not quite the Client From Hell, but getting close. Internet Explorer 6 keeps blocking our Flash animations and Javascript menus, telling us that it's not safe to run active content.

The client kicked up a stink about it, so my father came to me and asked why it was happening. A quick search on Google would have told him why, but instead I had to go and look for the information for him.

Microsoft added this "security feature" for local web pages. Which got me thinking: How on earth did Microsoft think that locally-stored web pages are more of a security threat than remote, Internet-hosted pages? Which is easier: To get someone to go to a website, or to download multiple files and open a particular one in a web browser?

Both those things pissed me off: That my father didn't do the customary Google search before asking me, and that Microsoft have put barriers in our way. And the way my father was saying "There must be a piece of Java code you can put in the website to stop the warning coming up" while I was trying to concentrate on finding the real answer, showed up his depth of understanding on security matters.

Then, my father hit me with the worst news: The fucking client wants a fucking ANIMATED SLIDESHOW on the website. Like a Powerpoint presentation, but embedded in a web page. And, get this: They want all the transitions to be different for each slide, they haven't given us the pictures they want for the slideshow, and my demo copy of Flash is quickly running out. I told my father to tell the client to bite his bum. He said "We're living in the real world", so I suggested my father tell the client that the slideshow alone would cost $200, "because that's a realistic costing".

I certainly hope that OOo's Flash output feature is good enough.  Of course, the client will continue to make stupid changes; they'll see the slideshow and realise how dumb it looks, and then want it changed back to something simpler. My father didn't write out a proposal, he didn't do design specifications, he didn't write out a DAMN CONTRACT which shows deliverables, deadlines and costs; so Nudrill will keep making more changes and we'll never see our money.

As you can tell, I'm VERY angry. I was roped into this project by being told that he'd only need a bit of help from me. I was originally under the impression that it was going to be a static website with one PHP script on it. Now it's the mining world's equivilant of fucking Newgrounds. Blood may be thicker than water, but I'm very close to telling my father that it's his job and his problem ALONE.

Driverless Devices

The term 'driverless' is partially inaccurate, but this is at least what ZyXEL brand it as.
Some ZD1211 devices come with the driver included on some kind of flash memory. When you plug these devices into a system for the first time, the device appears as a CDROM drive.
There is a virtual CD inside this virtual CDROM drive, which contains the windows driver. Upon insertion to a windows PC, this CDROM autoplays, and the windows driver is automatically installed. Soon after, the CDROM drive mysteriously disappears, and a networking device pops up in its place. On all future plugins, the WLAN device appears right away.

Quoted from http://zd1211.ath.cx/wiki/DriverlessDevice
--------------

Years and years and YEARS ago, I had this idea; that drivers should be stored on flash memory INSIDE the device. Admittedly, I didn't think of the "virtual CD-ROM autoplay" bit - I just thought that the operating system itself would have to have some way of detecting the driver in the Flash memory, and transparently install it.

I should have patented this idea. As it is, let's hope that more hardware manufacturers build in this kind of feature, and make sure it's compatible with Linux without the cludgy solution detailed on that page.

Flash Player 9 Linux Beta

I just realised how long its unambiguous title is.

For instance:

You can't just say "Player 9 Linux Beta", because nobody would know what you meant.
You can't just say "Flash 9 Linux Beta", because Flash 9 is the authoring environment, which HASN'T been released.
You can't just say "Flash Player 9 Beta", because the other operating systems have already had release versions.
You can't just say "Flash Player 9 Linux", because that would suggest that it had been officially released.

Anyhow, I downloaded it from Adobe's website and checked it out. Finally, audio and video are in sync, and I didn't experience the sound problems that Linux users often get with Flash Player 7 (because Flash Player 7 uses an ancient sound system which must be kludgily emulated on modern distributions).

Bugs I noticed:

1. The menus on the Adobe site popped up *below* the Flash movie, so you can't read the later items on the menu.
2. Right-clicking a movie and going to "About Flash Player 9..." doesn't do anything unless popup-blocking is turned off in Firefox.
3. On Youtube, if the video is playing when you close its tab, Firefox hangs.
4. In some Flash movies, if Flash Player 7 is still installed, that is used instead of the 9 Beta. You must uninstall Flash Player 7.

I had installed Flash Player 7 using the script from the Adobe website, rather than from the repositories, so it wasn't as easy as "sudo apt-get remove flashplugin-nonfree". The script also installs the plugin into a different directory than the one recommended in its README file, which made it difficult for me to find exactly where the plugin files were.

Finally, I found and removed them (thanks to kFind). /usr/lib/mozilla/plugins is where the "flashplayer.xpt" and "libflashplayer.so" files are; not /usr/lib/firefox/plugins. Remove those files, and put the new Flash Player 9 Beta file into the /usr/lib/firefox/plugins directory. Restart Firefox, and then you'll be ready to find some bugs!

Crash Internet Explorer

If you have IE installed in WINE, or if you have Windows on your computer, try putting the following script into an HTML page and running it in IE and Firefox:

<script>

for(x in document.write){document.write(x);}

location.href = "http://www.google.com";

</script>

Internet Explorer will crash immediately if Javascript is turned on. Firefox will go to Google.com. Konquerer will go to Google.com. I don't know what Opera does, but I'll test it out.

This is a great way to stop Microsoft fans from viewing a particular page on your website :-)

Must try QDvdAuthor

I've had it up to here (points to neck) with Nero.

I've been digitising video on Windows for the past few days, and I'm not having a fun time. My video capture device only works on Windows, so I figured that I'd edit, transcode and burn the material in Windows too; but I'm having trouble wrapping my head around Nero.

Crazy, isn't it? I never had this trouble doing those tasks manually on my old Macs, but in Nero (which does everything for you) I can't figure out what I'm telling Nero to do. Its interface attempts to make the tasks as simple as possible, but in the end it causes the user to not know what the program is trying to do, or how to stop it from doing what it's doing.

I had a number of clips encoded at 8000kbps. I put them into Nero, it told me that they were all 5073kbps and wouldn't fit onto one DVD. Okay, so I used the Export function to downsample some of them to 3300kbps, then put them back into the project. Nero told me that they were still 5073kbps!

I couldn't figure out what was happening, so I ended off burning the disc sans the last clip which didn't fit on there.

But although they were a mixture of 8000kbps, 3300kbps, and 5073kbps (because I had tried various export settings in an attempt to figure out the problem), Nero was transcoding ALL of them to 5073kbps. That's right: ALL of them. Even the ones which were already the target bitrate.

Hours later, after the disc finished burning, I looked back through the preferences and found a checkbox for "Enable Smart encoding of video". According to the tooltip, when it is checked, it gives Nero the meanial intelligence necessary to realise that a video that is the target bitrate does not need to be transcoded. The reason why all the video clips showed up as being 5073kbps was because Nero wasn't telling me what bitrate they were; it was telling me what bitrate it wanted them coded at.

Not that you can mix different bitrates - there's only a "global" setting for target bitrate, not individual settings as far as I can tell. But guess what? If "Enable smart encoding of video" is turned on, it ignores whatever bitrate settings you've chosen.

Are you confused? Good, 'cos so am I!

I'm thinking I might capture the video and, if necessary, edit it in Windows. Then actually do the DVD authoring in Linux through QDvdAuthor and the Transcode package. Even if it's something where I've got to use the command line, I'd still prefer that because I'd know exactly what the programs are doing, and exactly what I'm telling the programs to do.

Right now I'm burning a DVD in a program that came with my digitiser. My only quibble with it (apart from it not being very flexible when creating menus and the like) is that the progress bar when it's transcoding only shows the progress of the current clip, not the entire movie. And it doesn't tell you how many clips there are, or give an ETA. It's slow and it doesn't show the current frame it's processing. I guess that's more than one quibble, but I'll be generous and say that for gratis software it's actually not too bad.