[Gentoo] Doing my taxes on Linux

As the usual forms began showing up in the mail over the past week or two, I’ve been thinking about how to do taxes this year. A lot has changed with the move to Oregon a bit over a year ago. So this will be the first time figuring out how to deal with taxes on my own.

I initially thought to just hire a tax preparer, but TurboTax is pretty popular. I’d really prefer to find a Linux-based program. I discovered that there’s a Web version of TurboTax, but I also discovered there’s been some information leakage.

After some searching, I found TaxGeek. Out of everything on Freshmeat and SourceForge, it looked the most current and maintained. Still waiting for a release for this year’s tax forms, though. We’ll see what comes.

[Gentoo] r300 driver and gaming

Update: See my newer post — UT2003 runs again, and Quake4 also runs. Overall, lots of textures are screwed up, however, so you get strange colors.

Just updated my Mesa to CVS HEAD from 6.4.1. I’m very pleased to see that UT2004 is fast enough to be playable now.

Doom3 does a lot better, although still can’t play it. It starts up now and gets through most of the intro, but it dies when it’s about to start the actual level.

Update: Apparently Doom3 works in multiplayer mode, which I can’t test because I have the demo version.

Ends with:
File r300_state.c function r300_setup_rs_unit line 1269
fragprog wants col0, vp doesn't provide it
File r300_state.c function r300_setup_rs_unit line 1315
Don't know how to satisfy InputsRead=0x00000002
signal caught: Segmentation fault

Quake4 doesn’t screw up my resolution anymore when attempting to start, although it still doesn’t start at all. Lots of missing extensions at startup time:

X..GL_ARB_texture_non_power_of_two not found
X..GL_EXT_shared_texture_palette not found
X..GL_NV_float_buffer not found
X..GL_NV_register_combiners not found
X..NV_fragment_program not found
X..GL_EXT_stencil_two_side not found
X..GL_ATI_separate_stencil not found
X..GL_ATI_fragment_shader not found
X..GL_ATI_text_fragment_shader not found
X..GL_ARB_shader_objects not found
X..EXT_depth_bounds_test not found

Ends with:
reloading gfx/guis/scrollbar_down.
File r300_ioctl.c function r300Clear line 555
CB_DPATH has been enabled.
Please let me know if this introduces new instabilities.
signal caught: Segmentation fault

One major and unfortunate regression: UT2003 no longer runs.

Xlib: extension "XiG-SUNDRY-NONSTANDARD" missing on display ":0.0".
File r300_ioctl.c function r300Clear line 555
CB_DPATH has been enabled.
Please let me know if this introduces new instabilities.

[ 1] ./Core.so [0xb751778a]
[ 2] [0xffffe420]
[ 3] [0xb68ea00a]
Signal: SIGSEGV [segmentation fault]

Other games:
America’s Army is faster, but the colors are totally screwed up on many of the menu screens.

In another regression, Cube is now unplayably slow. Cube console output:

File r300_ioctl.c function r300Clear line 555
CB_DPATH has been enabled.
Please let me know if this introduces new instabilities.
File r300_render.c function r300Fallback line 793

Legends plays great with both 6.4.1 and CVS HEAD, as does Enemy Territory.


6.4.1 HEAD
UT2004 Too slow Works
Doom3 Doesn’t start at all, screws up resolution Can’t begin first mission
UT2003 Works Works
Quake4 Doesn’t start at all, screws up resolution Works
Quake3 Works Works
America’s Army Too slow Faster, colors weird
Enemy Territory Works Works
Cube Works Too slow
Legends Works Works

Kudos to everyone working on the r300 driver. Keep up the good work!

Stereo OpenGL

I need to get stereo 3D going for work, because it’s very important to what we do. For us to move more workstations from old SGI IRIX boxes to new Linux once, it’s critical that stereo 3D work on them. As far as stereo 3D goes on Linux, a few options exist:

  • Use nvidia binary drivers
  • Use ati binary drivers
  • Go find patches against Radeon or Matrox drivers on some unspecified date, and either find that date of X release or forward port them

I started out with the third approach and a FireGL 8800, but I’ve gradually moved to the second approach because the third was too much work. Found a nice link to an SGI page on setting up fglrx (ATi’s binary drivers) for stereo 3D, FSAA, multiple monitors, and more. Got the 120hz mode working on the monitor, which is what we require for stereo (60hz for each eye, alternating). Next step is getting the drivers to recognize that stereo should be available, and making it available to Coot through GtkGLExt.


So, like a lot of open-source developers, I’m a bit overweight. (The rest are all insanely skinny — there seems to be nobody in the middle.) A couple weeks ago, I got a treadmill from Costco for $1000 (on sale, regularly $1500). Then, two days ago, I bought the latest DDR game for Playstation 2 for $60, and another $25 for a second dance pad. Guess which one I spend more time on?

The reason we got DDR is some news story talked about how a video game fanatic and couch potato lost 70 pounds playing it. And it’s definitely addictive — I’m about a third of the way up the difficulty levels now, and it’s already insanely hard.

[Gentoo] Managing a datacenter

Just spotted a new story on my Google Gentoo feed: “Qlusters unveils open-source systems management.” They open-sourced a formerly proprietary tool for managing hundreds of Linux servers (it also supports Windows to some extent) and called it OpenQRM. Sounds intriguing, with possible repercussions in the clustering world outside datacenters as well. They say they’re looking into support for Debian and Gentoo, so let them hear your voices. Check it out.

[Gentoo] Configurability of X.Org 7.0 and Portage

Take a look at these screenshots for how you’ll be able to configure X.Org 7.0. Normally you would set VIDEO_CARDS and INPUT_DEVICES in /etc/make.conf. I’m just showing them on the command line to illustrate the configurability and power you’ll get.

Use case 1: You’ve got a keyboard, a mouse, and either one or a couple of video cards, and you hate bloat. You’re a developer, so you want to compile all your X stuff with debugging support.

Use case 2: You use the binary ATi drivers, because you really want to play the latest games (Quake 4 and Doom 3) and no released r300 driver can handle them. You want to try the new evdev driver, a replacement for keyboard and mouse drivers that uses the Linux event interface. You still hate bloat, of course. You want your system to be lightning-fast and optimized.

Use case 3: You want things to just work, and you don’t want to know what sort of video card your computer has. What’s a video card, anyway? You just use X.Org’s autodetection. You do know that you have a keyboard and a mouse though, so you set those up.

Now, I’ll explain the output a little bit. Just before the package name, there’s something like this:
[ebuild N ]

The “N” means it’s a package we haven’t installed before. If it were a “U,” we’d be upgrading. “R” means reinstallation of the same version. The “ebuild” part means we’re compiling from source, not using a binary package.

Take a look at all the USE, INPUT_DEVICES and VIDEO_CARDS flags after the package names. The yellow flags and % symbols mean they’re something new that wasn’t around last time you installed that package. So synaptics, fglrx and nvidia are new options. The green flags with a * after them indicated something you’ve changed yourself since last time you installed the package. The red indicates an active flag — support will be built for it. The blue flag with a minus sign indicates an inactive flag — support won’t be built for that option.

OSU technology funding

Polvi kindly posted the results of where our $100 quarterly technology fee goes.

Things I’m excited about:

1) Wireless in ALS, where I spend all day working. Seems like wireless coverage in academic buildings was a major focus this year; I saw a number of buildings funded.

2) High-performance graphics lab in Batcheller 214. According to the summary, it’s designed to draw students from Science and Liberal Arts, not just the College of Engineering, which proposed it. It might be fun to see whether we can use this for any of our molecular graphics visualization. With any luck, there will be some way to run Linux in there, since some other COE labs run Linux (or at least Unix).

3) Physics department got $50,000 to buy Linux-based PCs to replace old Sun Blades and recycled HP workstations

Things I’m depressed about:

1) Geoscience department spending almost $50,000 for a Windows-based server farm for remote access to GIS etc for online courses.

2) Absolutely nothing on the list for the Biochemistry department; closest thing was a student server for Cosine, which provides IT for the whole College of Science

[Gentoo] xorg-redhat-die-ugly-pattern-die-die-die.patch

A couple of people brought up this patch recently, which changes the default X white-and-black crosshatch startup to a flat black. Gentoo picked up this patch from Red Hat’s Mike Harris before I was a developer, back in early 2003. It appears that SuSE, Mandriva, Arch Linux and Specifix have also picked it, or some variant of it, up. SuSE has one more similar to ours, according to its spec file — appending the ‘-br’ argument to Xservers. Debian and Ubuntu appear to lack the patch. Mandriva’s solution is interesting — they patch it to “Mandrakelinux blue”. This discriminates between working and broken servers, but keeps some of the other downsides.

Some reasons it’s bad:
1) Some people actually like that crosshatch pattern and use it as their desktop.
2) It can indicate problems in the drivers or monitor used; many are incapable of displaying it, whether CRT or LCD.
3) Some LCDs fail to center the screen correctly if using the black background.
4) It’s difficult to tell the difference between some long delay on the flat black screen and an actual lock-up of X.
5) It’s yet another divergence from upstream, which means more work to maintain.

Some reasons it’s good:
1) It maintains the consistency of bootup by not inserting that random “image” for some small period of time, allowing people to have the same image for GRUB, framebuffer bootup and *dm login.
2) Some people think it’s ugly.

Jim Gettys mentions the original reason why it’s the default, but monitors with bit depth greater than 1 superceded that reason.

I’ve been reconsidering whether it’s a good thing to be black by default, so I’d enjoy a discussion on the best way to proceed.

[Gentoo] Quickie book review: Optimizing Linux Performance

I just bought this book. The author, Phillip Ezolt, gives a really great introduction to all the ways your programs could be limited (CPU, I/O, memory, network), then discusses a number of tools for diagnosing and solving these problems for both individual applications and system-wide changes. He actually describes which parts of these tools are useful, doesn’t just copy and paste the man pages as so many books do.

After that, he walks readers through three examples of identifying and solving different problems with GIMP, Nautilus and prelink. This, for me, was one of the most useful parts. The tools Ezolt uses include oprofile, valgrind, vmstat, gdb, iptraf, sar and many more. If you want to improve the performance of any program, I highly recommend this book.

Before I bought it, I already had read it once while sitting in Borders. It was so good, I bought it despite having already read it.