Ubuntu 9.04 & CPyrit-Stream now working!

Yay!

I’ve finally gotten the Pyrit program running and utilizing ATI Stream! I followed these instructions to the letter, though i built RPM from source with the patch for LZMA compressed RPM’s, which did the trick (although, i’ve also read the 1.4.0 beta 2 package of the Ati Stream SDK doens’t have this problem, but anyhow). I think i also had to apt-get some libraries that were missing, but they were listed pretty well in the instructions.

As for building pyrit, i used the instructions in the wiki, that can be found here. I ran in to an error while building the pyrit source, but that was fixed by doing an edit in a file according to these instructions. Fixes for other common errors are in the installation wiki.

So for the order: Install Atistream and Atical according to the instructions in the KB. Apt-get any packages you are missing. Build and install Pyrit, then CPyrit-Stream.

Run the command pyrit list_cores, which should show something like the screenshot below, and then run pyrit benchmark to see what kind of numbers you’re getting on your hardware. I am amazed. Compare the over 8000 PMKs/s (pairwise master keys), with the ~700 of one Phenom II X4 940 cores. Look at those results (yes yes, synthetic benchmark..):

List cores and Benchmark on my Radeon 4850 (and Phenom 2 940)
List cores and Benchmark on my Radeon 4850 (and Phenom 2 940)

You’ll note that it only shows three of the four cores on my Phenom, this is a feature. For every GPU core that it handles, it saves one CPU core for scheduling tasks.

A man can always dream… That there is about 3000 euros worth of hardware  (four Nvidia GTX295’s, a motherboard to support 4 Pci-e cards, processor, memory.. i guestimated). 80 000 PMKs / s (or half of that, depending on how you read the benchmarks). It seems to see the cards as two cores each.

Edit for 15.8.09 – I’m working on a proper howto for this thing since the internets seem not to have a coherent guide for a current ubuntu version. The 8.04 guide is great, don’t get me wrong, but i think it could be more complete. I’ve also e-mailed AMD to ask about providing .deb packages on my / their site, and or publishing the new howto.

64-bit Ubuntu & Citrix XenApps

Hey!

This was a thing i was debating with a colleague for a long time. There is no official x64 client from Citrix for their XenApps dealio. But! There is a way to install it successfully!

I used Madox.net for a part of this, but the rest was googled by myself. I thought i’d compile the instructions here to avoid problems. So, follow the instructions of Madox.net. As for the certificate issue mentioned, you can search my blog for Thawte, or download any necessary certs and place them in your citrix installation folder /keystore/cacerts.

There are a few remaining problems, namely some 32-bit libs that can’t be found when starting wfcmgr or wfica. To solve these, i found an awesome tool called getlibs. Getlibs gets 32 bit libs as they are needed. You can point it to the wfcmgr program (if you used the default, that’s /usr/lib/ICAClient/wfcmgr), and it’ll sniff out the needed libs, download, install and symlink as needed! It fucking worked! Thanks to cappy, if that’s who made the tool. There are tons of other nifty options for that tool, you could look here for some of those.

Ubuntu 9.04 x64 & Pyrit with ATI Stream

Okay, so since i just got the new graphics card (an ASUS EAH4850), i wanted to try out some of the GPU computing possibilities of the card. The Pyrit project exists to take advantage of multiple GPU computing platforms, such as Nvidia CUDA, and ATI Stream, so i decided to give that a whirl.

I downloaded the Pyrit and the Ati Stream packages from the Pyrit site. I found out i also need the ATI Stream SDK, which can be obtained from the AMD site. The thing to be noted here is that there is currently only support for RPM based systems, such as Fedora, CentOS etc. So of course, i thought, “Alien!”, the package converter. I apt-get’ed Alien and RPM, and got working on the thing.

You download the package, which is a .tar.gzip file. Unpack the file to get to the .run file. The run file can be exectured simply with ./filename.run. This should result in the script from the .run file being executed. It’ll fail shortly after the EULA, or it did on my x64 system.

I opened up the run file, and commented out the part where it deletes the temporary folder where it extracts the actual RPM file (and before that, tries to run rpm on the file, which fails).

#!/bin/bash
echo “ATI Brook+ SDK Installer”

TMP=”atibrook”

HERE=`pwd`
DST=/usr/local
FOPEN=”more”
RPM=”alien”

#Extract archive into /tmp/atibrook
echo -n “Extracting archive…”
dd if=$0 of=/tmp/${TMP}.tar.gz bs=1 skip=16384 >& /dev/null
echo “DONE”
mkdir /tmp/atibrook
cd /tmp/atibrook
echo -n “Uncompressing package…”
tar -xzf ../${TMP}.tar.gz
echo “DONE”

#Accept EULA
${FOPEN} EndUserLicense.txt
echo -n “Do you accept this license agreement? [y/n]: ”
read agree
if test A”$agree” = Ay -o A”$agree” = AY; then
echo “You accepted the license, continuing installation.”
else
echo “You declined the license, aborting…”
rm -rf /tmp/atibrook
rm /tmp/${TMP}.tar.gz
exit
fi

#Install via rpm
echo “”
echo -n “Select a path for installation [default]: ”
read USERPATH

if test “$USERPATH” != “”; then
echo “Using ‘$USERPATH’ for directory prefix.”
echo “”
echo “Installing package via RPM…”
$RPM –prefix=$USERPATH /tmp/atibrook/*.rpm
else
echo “Using default directory /usr/local/atibrook”
echo “”
echo “Installing package via RPM…”
$RPM /tmp/atibrook/*.rpm
fi

#### THIS PART I COMMENTED OUT SO IT LEAVES THE RPM INTACT ####

#Cleanup
#echo “”
#echo “Removing Temporary Files…”
#rm -rf /tmp/atibrook
#rm /tmp/${TMP}.tar.gz
echo “Exiting installation…”
exit

So the result is that in /tmp/atibrook you now have the rpm file.

Running Alien against it results in an error about rpm.pm on line 155. Something relating to perl, the complete error is:

Installing package via RPM…
Unpacking of ‘/tmp/atibrook/atistream-brook-1.4.0_beta-1.x86_64.rpm’ failed at /usr/share/perl5/Alien/Package/Rpm.pm line 155.
Exiting installation…

Now, i have no fucking idea how to fix it. Looking at line 155, it relates to the cpio command not working properly, but how and why and what the fuck? I’m not a developer. I’ll need to show this to someone, like B, maybe he can figure it out.

I also tried instructions i found on the AMD Developer Forum (requires registration). These detail the use of rpm2cpio, instead of alien, but that doesn’t work either. The RPM seems malformed somehow. Perhaps as a result of it being made with a specific tool (the name of which escapes me), which creates files that are unreadable by rpm2cpio.

Blargh. I’m gonna run a Fedora 11 live CD soon, and see that it actually works. Get some numbers off this thing. It’s supposed to do 7800 PKM’s, which is a lot faster than for instance an Intel I7 920. Sweetness.

Intel 915 chipset and Windows 7

Lo! The latest incarnation of Windows Vista, also called Windows 7 has/had problems with certain integrated graphics chipsets, particularly lower end Intel chipsets, such as the 915 that i have in my Thinkpad X41. This was a shame, because it would only run 1280×1024, and had no chance of running anything fancy, since it was being detected as “Standard VGA Adapter”.

There were no drivers either from Intel or Microsoft for the longest time. But Microsoft released a driver that claims to work with the Intel chipset i had. It just popped up on Microsoft Update, so i thought i’d give it a whirl. Usually the drivers microsoft releases are not perhaps the most optimized, but they mostly work.

This one did not.

The driver installed, and the hardware showed correctly in Device Manager. It wanted to reboot, so i did. And after that it was back to the status quo. No driver installed, and then it started “looping”, just trying to install the driver, failing in it. I was miffed, and went back to the standard VGA driver.

But then i came to work, and i had to hook up my Dell E228WFP 22″ monitor, and since i couldn’t get the native resolution on the standard vga adapter, i was starting to get really pissed off. So i googled for a while, and came up with this thread, which apparently talks about the new driver that does not work..

So a guy offers some advice. Simple advice at that. Download the latest XP driver, and install it using Windows Vista compatibility mode. Driver and Intel Graphics Media Accelerator ..configuration software…whatever works fine! Resolution and all. Apparently this works for all kinds of 8xx and 9xx chipsets, so try it out.

For reference, i’m using the public Release Candidate, latest updates, build 7100.

Sweeeet.

intelworking

Civilization 4 under Ubuntu 9.04 (with Wine)

After seeing the release of Alien Arena 2009 for Linux (and all other platforms), i started thinking about running my favorite game, Civilization 4 on Ubuntu 9.04. And so i did! But it took some tweaking to get it to work with wine, as do most games (Except Unreal Tournament, which works i think natively). I’ll describe the steps taken here, for future reference, and if you don’t wanna spend your time browsing different locations for instructions:

Setup is a 32-bit Ubuntu 9.04, with all latest updates. I run a Gigabyte GA-MA790X motherboard, with integrated sound, and an Nvidia 8800 GTS with the 180 propietary drivers installed, using Ubuntu’s Restricted Drivers manager.

– Install wine with sudo apt-get install wine
– Take the game cd, put it in, and run wine /media/cdrom/setup.exe
– Cancel the Direct X prompt, as we can’t install that through wine. Proceed with the installation, as you would with windows.
– Get the latest patch from for instance Softpedia.
– Install the patch using wine
– Open up the wine configuration tool from Applications -> Wine, and in the libraries tab, enter “msxml3” and press add. This adds compatibility for a certain dll that we need to make this work.
– From any windows xp installation, copy the following three files (they reside under $windowsfolder$\system32), msxml.dll, msxml3r.dll and d3d_d35.dll and copy them to your wine “windows installation”. For me, this was ~/.wine/drive_c/windows/system32. If that doesn’t work, copy them to your civilization 4 folder (For me, the default was ~/.wine/drive_c/Program Files/Firaxis Games/Sid Meier’s Civilization 4/
– Get a nocd crack, since the copy protection just shits itself under wine. Crack the civilization4.exe file, and run it with wine path_to_the_exe_file. Or from Applications -> Wine -> Programs -> Firaxis Games.

If it complains about sound, open up Civilization4.ini, which resides under the wine my documents/my games/ folder. Edit the place that says EnableVoice and set it to = 0, add the line if necessary, but it’ll be there if you’ve tried to start the game at least once.

I recommend running the game in windowed mode, so from the game options, uncheck the “fullscreen” box. If the game window if odd after that, go to the wine configuration tool again, and under Graphics, check the “Virtual Desktop” thingamajig, and set the resolution to something that suits you and your screen.

Happy camping.

Ubuntu & Citrix XenApp 11.0

Problems installing Citrix ICA Client 11.0 (nowadays XenApps) on ubuntu?

Check out this page. Nuff said.

Basically, Download the client from the citrix site,

apt-get install libmotif3

unpack the client, run ./setupwfc, use defaults or customize. Make a symlink, sudo ln -s /usr/lib/libXm.so.3.0.2 /usr/lib/libXm.so.4. Also make links for the tools:

sudo ln -s /usr/lib/ICAClient/wfica /usr/local/bin/wfica
sudo ln -s /usr/lib/ICAClient/wfcmgr /usr/local/bin/wfcmgr

Run wfcmgr to configure options (such as local drive mapping).

In case you get an error 61 when you try to connect to a server, or start an application, download the Thawte Premium Server certificate, and put it in your installation /keystore/cacerts folder.

Firefox plugins plug

We’re gonna look at some of the plugins i like for Firefox today. This is not a long list, i’m not plugin addicted like certain people i know, but there are certain plugins that make living easier.

Ad-Block Plus with Easylist & Viltteri + Element Hiding Helper
This here is a classic. It’s been around for ages. It basically operates on a filterlist (easylist and viltteri are such lists), that filter your web content so you don’t have to see all those pesky ads for shit you would never buy anyway. Easylist is one of the lists that are offered when you’ve installed ad-block, and it seems to work fairly well. For Finland, there is a list called viltteri (a mutation of the word filter), which can be found here. You can submit sites to be indexed by viltteri, or send in a false positive, which is always a good thing, and can’t be said for all lists. (*cough* the sensorship list…)

With Element Hiding Helper, henceforth EHH, you can block *any* item on a webpage. Sometimes these ad-toting motherfuckers become crafty, and put out ads that you can’t easily block using ad-block. With EHH, you can click Ctrl-K, and then select the element, be it a paragraph, a div, whatever, and block that. Some people have found ways around that, using completely dynamic element names, which are kind of hard to block, since they can’t even be wildcarded without fucking up the entire site layout.

Xmarks

This is good for people who have multiple computers that they use on a regular basis. I operate my desktop, my laptop and my work desktop. I want to have my bookmarks, for without them, life is moot. With Xmarks, you can synchronize your bookmarks, either using their server, or even your own server. They offer encryption for the entire transaction, so it should be fairly safe. You can also sync saved passwords, but since i really don’t practice such stuff, i have left that untouched. Synchronization options are: keep local, discard server, keep server discard local and some third option. You can set it to sync manually, or every time you close the browser. Works magic for my needs. Even keeps the layout.

MultiRowBookmarks

Allows you to create a multirow bookmark toolbar, to accomodate a large amount of links. If you’re like me, you don’t like the bookmarks menu, and you want your regulars in the toolbar, which isn’t big enough by default. Before this came out, you had to do a manual edit of some configuration files to achieve it.

Reliby

Reliby allows you to place a button in the toolbar, that when clicked, reloads all your RSS feeds. You don’t have to click each one, and select reload anymore! Great if you keep the browser open for long periods of time, like i do, and follow a lot of feeds.

NoScript

A savior. You can block javascript and other scripting languages so they don’t execute funny stuff on your machine. Hinders a lot of web based exploits.

Stylish

Allows you to add custom CSS styles for specific webpages, and provides a cool framework for managing these. There are tons of cool styles out there, and for sites like.. Say muropaketti that i follow, it’s a real saver. The default forum layout looks like ass, so with a stylish style, i can just transform it in to something much more usable. This is the style i use for muropaketti, thanks to Lifeless.

Any other good suggestions are welcome!

Plantronics 925 Bluetooth handsfree

At work today, i was tasked connecting a US bought (AT&T i was told) Plantronics 925 bluetooth headset, with a Finnish bought Nokia E71. This is an easy howto, to start with, so don’t expect magic. To connect the two in a bluetooth pair, you need to power on the Plantronics headset. This happens by pressing the multifunction button, that has the plantronic logo on it. You need to press it, and hold it for a good 5+ seconds. First, it turns on, displaying a blue light. Keep holding the button, until the device starts blinking in an alternating red and blue. This is the bluetooth-pairing mode, and the only state where you can even find the device.

This is only necessary for the initial pairing of device and headset. After this, it’s enough to just turn it on, by pressing and holding until the first blue light.

Your phone will ask for a pin-code, which in plantronic devices appears to be 0000 by default. Not sure you can change it, as the headset lacks any sophisticated controls, or screen. Once you have entered the four-zero pin-code, the devices will be paired, and you will be asked to confirm whether it’s okay to automatically establish the connection in the future.