I wanted to play Wrath of the Lich King, and couldn't afford a Windows XP license. I figured out how to play it in Linux, and never looked back. My distro reviews always discuss framerates.

Wednesday, July 4, 2012

Madbox 12.04 i386

When I saw that the Wine PPA for Ubuntu had advanced to 1.5.7, I said I'd try a new Ubuntu-based distro to use with it. Lubuntu is my perennial favorite, but I decided I'd go for something even leaner: Madbox 12.04.

A bit of history: After Philip Newborough, the creator of CrunchBang Linux, rebased from Ubuntu to Debian, a number of folks stepped up to try to provide a lightweight distro using OpenBox based on current Ubuntu releases, cos first, that was what they liked, and second, CrunchBang 10 "Statler" was slow in coming. These included UberBang (only one version, based on Lucid Lynx 10.04), Masonux (last version based on Karmic Koala 9.10), and perhaps a couple of others. One of the folks in the #! community that goes by ADcomp also stepped up, and created Madbox. Philip says it is the implementation most like what he originally had in mind, and most true to his original vision. The ISO file is right here, and the md5sum is 34382c7847f51195a12d5884e178af7f. I couldn't find a torrent seed.

The live CD starts with a graphical GRUB2 bootloader, that allows you to choose between Belgian, French, and US (qwerty) keyboards, with Belgian as the default. It goes by VERY fast, in a mere five seconds or so. Don't blink or you'll miss it. The ISO is very lean at 375MB. As you would expect, applications are sparse: lxpanel, lxterminal, chromium-browser, PCManFM, geany for editing, Mirage for graphics, ePDFViewer for office, GNOME MPlayer, PulseAudio Volume Control, HTop, UXTerm, XTerm, GParted, networkmanager, OBConf, and lxde-appearance. If you select "Run" from the panel menu, you get lxpanelctl-run, but if you hit alt-F2, you get gmrun. This is because of an issue I'd seen elsewhere in LXDE; for whatever reason, if you modify the Openbox config file at all (found at ~/.config/openbox/something-rc.xml -- something may be nothing, lxde, or lubuntu), and set a keybinding to launch lxpanelctl-run it launches beneath whatever app has focus, and you have to alt-tab to it. It's the same with PCManFM. Incidentally, I am not currently having that issue with lxpanelctl-run in Madbox. I'm not sure if I set up the keybinding before or after adding lxde-core, but lxpanelctl-run behaves itself in Madbox's OpenBox environment. PCManFM still launches behind whatever app has focus. I will probably install Thunar to fix this.

Which reminds me of something else: when you resize lxterminal, you get some graphical corruption. I've seen this since lubuntu 11.10. Here's a pretty bad example:Shot at 2012-07-02
This is something else I've been seeing for some time. The environment recovers if you move another window over the corrupted area. My solution is really simple: ROXterm.

Installation was with Ubiquity. Downloading and installation took 21 minutes. After you finish selecting your timezone and configuring your account, there is no slideshow, only a progress bar. Post-install, I had to update 313 packages (about 12 minutes of downloads at 200k/s) and add a lot of stuff. The repos were decidedly sluggish, which is odd: I'm in the South of the US, and the downloads from us.archives.ubuntu.com never quite reached 200kb/s, and I know I can get as much as 360kb/s. Maybe it's because I told Ubiquity I was in New York. Further investigation revealed that I'm getting transfer rates no higher than about 200KB/s, regardless of anything. I shall have to contact my ISP.

I started with synaptic, mousepad, jockey-gtk, abiword (v2.9.2, which is a buggy piece of crap that blacks out its rulers and will occasionally kick me out of my desktop session to the display manager when I click on a menu), and ubuntu-restricted-extras, then set out to fix fstab. Problem: blkid didn't work quickly, the way I'm used to it doing. It started and nothing happened, for many minutes. I don't know why. On to other things, like xchat, irssi, w3m, pidgin, and firefox.

Then I discovered that there is another way to list UUIDs: ls -l /dev/disk/by-uuid > uuids.txt which worked like a charm (except for not showing labels). With that, I had no problem editing fstab to meet my needs.

I cannot invoke graphical programs with gksu using gmrun. In every case, I found myself creating a root terminal (use sudo su and provide your password) and invoking graphical programs from those, including synaptic, gparted, jockey-gtk and amdcccle, until I opened the menu item's Properties in the lxpanel-menu and changing the command to gksu [foo]. This worked for synaptic, but not amdcccle or gparted.

Jockey-gtk did its usual excellent job of installing proprietary graphical drivers. Catalyst STILL can't get my Hitachi CM751 CRT monitor to run at 1280x1024, which is one of its native resolutions. Instead, it runs it at 1600x1200, but only uses 1280x1024 pixels, centered. All 4:3 native resolutions work fine. To keep framerate comparisons honest, I run WoW in a 1280x900 window like I did at 1280x1024, but on my 1600x1200 desktop.

Framerates were generally ok, but whenever anything loaded -- a death animation, a set of particle effects, my mount -- the screen froze up for a second or so. Given how often particle effects and death animations go off in combat, this was not acceptable. I investigated. It turns out that my Config.wtf file (location: ~/.wine/drive_c/Program Files/World of Warcraft/WTF/Config.wtf) had lost a setting I'd set along the way:SET gxAPI "openGL"
No idea why. But that was the issue.

Starting RAM usage in Madbox 12.04 is about 150MB, only about 60MB leaner than with openSUSE 12.1 lxde. But either Ubuntu (compared to openSUSE) or Wine 1.5.7 (vs. Wine 1.5.6) seems to run leaner. openSUSE 12.1 swiftly ramped up to about 65-70% of my 2.95GiB of available RAM while running the game, while Madbox 12.04 took hours of play to reach that level of usage.

Eventually, I added the lxde-core desktop environment, which has overcome pretty much all of the annoyances I had with Madbox's default behavior, while only using perhaps 50-60MB more RAM. The end result? I went to my test spot (Grizzly Hills, 29.7, 50.2, facing north, with the bottom of the waterfall lined up with my shoulderpads) and got a framerate of 30fps. That is the best I've ever had. And when I tried it in the default madbox/OB desktop, I got 32fps. I used to be tickled to get 25FPS there during WotLK. Of course, back then I was playing with a 128MB nVidia GeForce 7100. But now I have to find a suitable benchmarking spot somewhere in the new zones or suitably close to Orgrimmar, with sufficiently demanding water, cos humping out to Grizzly Hills to test framerates is a pain. Some place like 58.6, 32.3 in the Vir'naal oasis, facing north on the small bare rock, zoomed all the way out, with my head lined up with the left edge of the lower falls of the rapids. I'm getting 26-27fps there with the openbox desktop session. And there's also lots of good fishing, for blackbelly mudfish -- excellent tank food if ever there was.