MoI under Linux! Yes! It works!

Next
 From:  zsouthboy
1047.1 
I've been trying to get some MoI love in Linux ever since it's been in beta.

As we all know, wine won't run it, Cedega won't run it, Crossover won't run it.

Creating an XP virtual machine won't run it (because a VM doesn't emulate a 3d card, which MoI needs for the main display)

So I've been hacking away, trying to get it to work.

A thought occurred yesterday: refrast! Refrast is part of the DirectX SDK - it is a software implementation of D3D, for use in software development (how do you develop for video cards that don't exist yet? this is how.) It's slow as hell.

After doing some more research, I happened upon SwiftShader - owned by none other than Transgaming(makers of Cedega)!

http://transgaming.com/products/swiftshader/

Another stumbling block - they don't intend individual end users to use SwiftShader - it's for Devs only. Drat!

But - what if another program already used it? Would copying over the DLL file to the MoI directory work? (I renamed the file d3d9.dll - thank god for my little d3d dev knowledge :D)

YES!

Screenshot is attached!

MoI runs FULL SPEED in my qemu VM - Inspiron 1501 - Turion X2 1.8 ghz

Now: what needs to happen to make this work for everyone that wants to use MoI under Linux (or any platform that can run a VM of Windows)?

Michael could license SwiftShader from Transgaming.

To Michael: can you look into doing this for us, your Linux users? I am willing to pay extra. (I don't know Transgamings licensing situation - it could be per copy license, it could be flat fee)
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  zsouthboy
1047.2 
Whoops!

Forgot to add:

This won't simply help Linux users, it'll broaden your market to users stuck with integrated graphics cards, laptops, etc. that don't support D3D9 - so regular windows users too!

I'm so damn excited, I hope my posts have been coherent. :)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
1047.3 In reply to 1047.1 
Hi zsouthboy, I'm glad that you have it working!

But I'm not really sure that this is going to work as a fully general solution though. The problem is that the SwiftShader DLL is a software only renderer. It just isn't able to handle a larger number of polygons, particularly with a lot of alpha blending which MoI tends to use for several things.

I gave it a test over here and the speed results were not encouraging - using just a medium complex model I got 606 milliseconds per frame using SwiftShader, compared to 49ms per frame using regular hardware rendering. This is on a system with a P4 2.4Ghz, Radeon 9600 pro.

Things are significantly sluggish with the software-only rendering, even just drawing the grid with no objects in the scene at all is pretty slow.

SwiftShader is just more oriented towards being used in games that have a low polygon count.

MoI is just not designed with a low polygon count in mind, the overall design assumes that you have a graphics card that can rasterize quite a lot of alpha-blended polygons quickly...

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All