Mount&Blade in linux

Tinan

Veteran
Best answers
0
I have just emailed Happypenguin.org's staff to see if a petition can't be made to make it worthwhile for M&B's brilliant developers to get a Linux port done. That would make all of these issues finally moot. My idea is that if we can get sufficient interest (i.e., pre-orders) in Mount & Blade it will be financially viable for them to make a native Linux port of this fantastic game.

I'm not a coder, really, so I don't know how difficult such a thing could be. But I hope if I can get enough interest in the Linux community for a port of Mount & Blade it will not only benefit us Linux players, but eventually will help taleworlds.com as it will increase their visibility as an independent and initiative-taking part of the games development community, much like Introversion managed in the United Kingdom with Uplink and Darwinia.

Sorry I'm not much direct help with your problems in running the game as it is, but for the time being I've given up running M&B in wine (which it was never developed to do).
 

F50

Sergeant
Best answers
0
I see how making things work natively on linux would be a pain (esp. themeda). It doesn't need to run natively. But making a command-line option -- or a start screen option since there is no trouble getting that to run with out-of-the-box wine -- to use OpenGL calls instead of Direct X shouldn't be *too* hard and should allow linux users to run M&B. Especially since its been proven that wine works fine with everything except directx.
 

Cymro

Grandmaster Knight
Best answers
0
.950 works! Well, as far as I can see. I'm using wine 9.59 in Ubuntu 8.04 (Hardy Heron). Thank you ikisoft and/or the wine team :grin:

Any one else had success?
 

Tinan

Veteran
Best answers
0
Bah, Cymro, you beat me to the post (was too busy playing all last night to return here!)

Credit for the game working under Wine mainly lies with Ikisoft who tweaked that which was preventing Wine from being able to run the game, allowing us Linux users to share the fun once again. Kudos to them. Thanks also go to the Wine team for letting us run Windows software in the first place, of course, but the fact is that the Wine dev team would never have been able to fix this particular problem themselves. It required Ikisoft to make the necessary change. As one Wine dev admitted, "In short: it's beyond the scope of wine." If you're interested about the hows and whys, the problem was a return of this one: http://bugs.winehq.org/show_bug.cgi?id=7923. Through email correspondence I notified Ikisoft of the problem. They fixed it. Goes to show how much they listen, and care! Thanks once again to everyone at Ikisoft!  :grin:

I'm just about to update the Wine App DB.

One thing I've noted is that it might be wise (with an nVidia card anyway, can't test ATI) to go gentle with the shadows. I get crashes if they're set too high (not sure of the exact parameters though). The game itself works like a charm, though - with Direct X 9, too! Excellent stuff  :grin: :grin: :grin:

Back to bashing heads, then  :grin:
 

Tinan

Veteran
Best answers
0
Okey doke, I was pm'd for guidance on installing M&B in Linux (probably due to the post I made on the new release thread indicating that it worked), and figured that the reply I made might be helpful to anyone installing wine/M&B under Linux for the first time. Here 'tis.

Installation of M&B in Linux should be no big deal, basically the steps are:

1) Install Wine - see http://www.winehq.org/site/howto and http://www.winehq.org/site/download. Ideally, you should download and install the Wine package built for your distro. Even more ideally, you should be doing this through your distro's package installer. For example, if you use Fedora 8, like me, then you open either Add/Remove Packages or Yum Extender through your applications/start/whatever menu, search for available Wine packages, and install them. This is by far the best method because all of the software dependencies will be worked out for you automatically. If all of this has done nothing but confuse, I suggest contacting your distro's community for help with installing Wine.
2) Download the M&B installer - see http://forums.taleworlds.com/index.php/topic,35650.0.html for download links.
3) Run the M&B installer. Now, if you're using a distro which uses Gnome or KDE as it's environment, then this might be as easy as either double-clicking on the installer icon in your file manager, or right-clicking on it and selecting "Open with Wine" or similar. If this doesn't work for you, then open a terminal at the location you saved the installer to and enter "wine mountandblade_0950_setup.exe" (or whatever the installer file is called).
4) If all is going well, the installer will run normally. Just answer all its questions as if you were a Windows user. Default options should work fine.
5) Again, this step depends on your distro. If you're running something like Fedora 8 (like me) or Ubuntu or a similarly well-developed distro, then chances are good that not only has the game installed, but there'll be a nice shortcut on your desktop and/or in your applications/start/whatever menu. If this is the case you may use these just as you would to start any Linux program. If this is not the case, then you can probably still run the game by entering the following command:

env WINEPREFIX="/home/[your_user_name]/.wine" wine "C:\Program Files\Mount&Blade\mount&blade.exe"

Remember to replace [your_user_name] with, well, your user name.  :wink:

6) This should, if all has gone well, launch the game. At this stage, I'd just go ahead and give it a try. For me, the opening video for the publisher works but it's ropey - just escape out of it.
7) If you get errors in-game, or even before starting the game, regarding "stencils" or "shadows" or anything that sounds like it has to do with graphics, then best solution I've found is to switch off, or at least lower, shadow quality in the opening menu (i.e. the one on the splash screen under "Configuration" before you start the game properly).

I hope this works out for you. If there are any problems then let us know either on the forum thread here: http://forums.taleworlds.com/index.php/topic,27679.0.html, or pm me. Finally, it always helps to know what distro you are trying to play the game on, what graphics card you have and which drivers you have installed for it, processor etc. Just the basic system specs. Amount of RAM is also a useful fact to have.

Cheers, and good luck!

Scott.

OK - to the basic steps I realise I should add one important thing - run wineconfig first! You should run wineconfig at least once after installation to set up, as a minimum, audio and graphics parameters. You'll probably want to turn hardware pixel shaders on, and definitely want to configure which audio driver to use (most users will probably be picking ESD or alsa). Any worries, post here or pm me. Cheers again.

:grin:
 

jellywerker

Recruit
Best answers
0
Works mostly ok, there are a few graphical glitches (at least for me, since I have to use directx7 rendering) the only large issue is that the mouselook camera hits invisible walls, and it's very annoying in combat, frequently making it so you cannot even see your opponents.
 

Tinan

Veteran
Best answers
0
jellywerker said:
Works mostly ok, there are a few graphical glitches (at least for me, since I have to use directx7 rendering) the only large issue is that the mouselook camera hits invisible walls, and it's very annoying in combat, frequently making it so you cannot even see your opponents.
The only workaround I've come up with is to set the mouselook sensitivity high enough so that you get a few decent swings in before having to rotate about in the opposite direction a time or two to center up again. It's more like steering a car than a human being  :???:
 

Kdar

Veteran
Best answers
0
Can it be done in VirtualBox or VMware? I still have to install it on my Ubuntu.. I never used it before.. So don't know if it is possible to play games with this.
 

Tinan

Veteran
Best answers
0
I don't know too much about Virtual Machines, but since you would need a copy of Windows to run anyway, you'd almost certainly do better by dual-booting. Virtualization does not have as one of its goals getting games made for Windows to run on Linux. See the actual goals here: http://www.vmware.com/overview/why.html. Running a virtual machine to play M&B on is going to be a big drain on your computer's resources, since you'd effectively be running not one but two os's and the game all at once: see system reqs here: http://www.virtualbox.org/wiki/End-user_documentation. Iit seems like common sense to me that you'd be better off dual-booting and running the game on Windows natively, from its own partition on your hard drive (or better yet, a separate hard drive dedicated to that purpose and any other made-for-Windows games you might want to install and play. Preferably a somewhat small capacity/high-speed one to optimize performance).

Ubuntu community support undoubtedly provide more information about dual-booting and/or VMware, so I'd suggest going to them. If you have a copy of Windows lying about, I'd install it to its own partition on your hard drive and boot into Windows to play M&B, and boot into Ubuntu for everything else. Personally I wouldn't acquire a copy of Windows for a single (albeit excellent) game, so if you don't have a copy I'd install and play under Wine instead.

Cheers, S.
 

Darian

Sergeant Knight at Arms
M&BWB
Best answers
0
If you do decide to buy Windows be sure to get an "OEM" version (Newegg.com and the like sell them). They cost significantly less than the retail versions and the only difference is that you don't get the fancy box and manual--the OS itself is identical.
 

Lomendil

Regular
Best answers
0
Hello !

I'm trying to make M&B running on my Ubuntu Hardy 8.04 but I can't even launch the setup program. A first window tells the installer is verifying itself and then, "Error ! Can't initialize plug-ins directory. Please try again later.".

I'm not very familiar with Wine, so I don't really understand where does this error comes from or what it means. So, if there's a more skilled user around here ... :smile: Any help is welcome.



Ubuntu Hardy Heron 8.04
Wine 0.9.59
M&B 0.951
 

Tinan

Veteran
Best answers
0
Lomendil said:
Hello !

I'm trying to make M&B running on my Ubuntu Hardy 8.04 but I can't even launch the setup program. A first window tells the installer is verifying itself and then, "Error ! Can't initialize plug-ins directory. Please try again later.".

I'm not very familiar with Wine, so I don't really understand where does this error comes from or what it means. So, if there's a more skilled user around here ... :smile: Any help is welcome.



Ubuntu Hardy Heron 8.04
Wine 0.9.59
M&B 0.951
Tricky without some more diagnostic information. Sounds like either Wine or the installer are getting lost about where the pretend "C:" drive is.

Could you open up wineconfig (probably "Wine Configuration" in your applications menu), go to the drives tab and report what it says here about where drive letter C: is on your Ubuntu file system? It might be worthwhile hitting the Autodetect button on the same tab. If that changes any of the entries then it may have solved the problem.
 

Lomendil

Regular
Best answers
0
Thanks for the reply, the error was it this tab.

For some reason, the autodetect tool found the C: drive in /media/Windows (which is where is mounted the real windows partition) and it should have been the fake one : /home/username/.wine/drive_c

Now it works pretty well, even if I have the "mouse box" bug and some graphic glitches, but still playable. :grin:

 

JoaquimP

Recruit
Best answers
0
Hey people! Thanks to the attentio for linux users! Maybe you can even help me ban WinXP from my HD...

It happens that when I followed the previous instructions (basically: install and configure wine + install m&b0.952 + configure shadows quality - low) the game started to load but crashed soon... the only screen I get is one with a loading bar and the first step (processing INI file...). Then all is shut down and I get back to desktop...

I'm using ubuntu 8.04 (hardy heron). The basic of my hardware...: pentium4; 1.7GHz; 256mb + graphic card (nvidia mx400; 128mb).
 

Tinan

Veteran
Best answers
0
JoaquimP said:
Hey people! Thanks to the attentio for linux users! Maybe you can even help me ban WinXP from my HD...

It happens that when I followed the previous instructions (basically: install and configure wine + install m&b0.952 + configure shadows quality - low) the game started to load but crashed soon... the only screen I get is one with a loading bar and the first step (processing INI file...). Then all is shut down and I get back to desktop...

I'm using ubuntu 8.04 (hardy heron). The basic of my hardware...: pentium4; 1.7GHz; 256mb + graphic card (nvidia mx400; 128mb).
Well that ain't good  :???:

Best I can think of is to report this to the latest version update at the Wine App DB (sorry, about to go to bed so not up for finding the uri myself). FWIW, things working smoothly using Fedora 8 with latest Wine (Fedora package) here. Running "wine [mount&blade]" (replace [mount&blade] with relevant "env= " options and anything else appropriate) from a terminal, and then recording the output on the terminal after the crash to desktop, will help wine developers and anyone else trying to figure out the problem. Chances are good that not only M&B is affected, so this sort of thing can really help with wine development.

Heck, post the output here, I for one would be interested to see it. PS - please confirm latest linux nvidia drivers are installed - I mean the proprietary ones from nvidia and not linux nv.

Cheers, S.
 

JoaquimP

Recruit
Best answers
0
As a matter of fact... i DID installed the graphic card's driver by linux nv (or linux glx nv, or something like that... I never pay attention when a gui can do the hard work...)... I'll try uninstalling it and installing the proprietary drivers (i've done it in past ubuntus, i can manage it again...)...

about wine... I followed the instructions from the official site, nevertheless i'll try checking it this weekend... (kinda without time for this righ now).

So i'll post again here... while this I, once or twice a day, will keep trying to storm some rhodok castle with my 40strong warband (in windows, unhapilly...)

...
The terminal output... (using this command the first screen doesn't appear... I mean that with "continue playing the trial version" and the other with "play m&b" and "configure).... I added a *||* between some repetitive lines, to try and reduce this post size...

[email protected]:~$ env WINEPREFIX="/home/joaquim/.wine" wine "C:\Arquivos de programas\Mount&Blade\mount&blade.exe"
fixme:reg:GetNativeSystemInfo (0x936d67e) using GetSystemInfo()
fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
fixme:thread:NtSetInformationThread info class 17 not supported yet
fixme:imagehlp:CheckSumMappedFile (0xa610000, 4427772, 0x93d145c, 0x93d1460): stub
fixme:debugstr:CheckRemoteDebuggerPresent (0xffffffff)->(0x93d7c0f): Stub!
wine: Unhandled page fault on read access to 0x00000034 at address 0x7bc33d2d (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000034 in 32-bit code (0x7bc33d2d).
Register dump:
CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
EIP:7bc33d2d ESP:09adda2c EBP:09adda44 EFLAGS:00010206(  - 00      - RIP1)
EAX:00000024 EBX:7bc88444 ECX:006e3018 EDX:0a78107c
ESI:00000000 EDI:00000020
Stack dump:
0x09adda2c:  09adfee4 09adda3c 00000024 09ade04c *||* 0x09adda3c:  00000000 09ade04c 09adda8c 0053fbd8 *||* 0x09adda4c:  00000020 00540bf8 00000000 00000000 *||* 0x09adda5c:  00000000 09adfee4 006e3078 09adda54 *||* 0x09adda6c:  00000000 09ade04c 09adda58 09add590 *||* 0x09adda7c:  09adfecc 00544e94 006a6cc0 ffffffff
Backtrace:
=>1 0x7bc33d2d RtlEnterCriticalSection+0x1d() in ntdll (0x09adda44)
  2 0x0053fbd8 in mount&blade (+0x13fbd:cool: (0x09adda8c)
  3 0x004bb1f3 in mount&blade (+0xbb1f3) (0x00b158b:cool:
0x7bc33d2d RtlEnterCriticalSection+0x1d in ntdll: movl 0x14(%edi),%eax
Modules:
Module Address Debug info Name (99 modules)
PE   400000- 96e1000 Export          mount&blade
PE 9fb0000- a046000 Deferred        fmod
PE a050000- a2b7000 Deferred        d3dx9_31
PE a320000- a3ab000 Deferred        skinmagic
PE 10000000-10071000 Deferred        newton
ELF 7b800000-7b92d000 Deferred        kernel32<elf>
  \-PE 7b820000-7b92d000 \              kernel32
ELF 7b9bb000-7ba05000 Deferred        dsound<elf>
  \-PE 7b9c0000-7ba05000 \              dsound
ELF 7bb05000-7bba7000 Deferred        oleaut32<elf>
  \-PE 7bb20000-7bba7000 \              oleaut32
ELF 7bba7000-7bc00000 Deferred        shlwapi<elf>
  \-PE 7bbb0000-7bc00000 \              shlwapi
ELF 7bc00000-7bca4000 Export          ntdll<elf>
  \-PE 7bc10000-7bca4000 \              ntdll
ELF 7bcef000-7bdfe000 Deferred        shell32<elf>
  \-PE 7bd00000-7bdfe000 \              shell32
ELF 7bdfe000-7bf00000 Deferred        wined3d<elf>
  \-PE 7be10000-7bf00000 \              wined3d
ELF 7bf00000-7bf03000 Deferred        <wine-loader>
ELF 7bf10000-7bf27000 Deferred        imagehlp<elf>
  \-PE 7bf20000-7bf27000 \              imagehlp
ELF 7bf4b000-7bf71000 Deferred        netapi32<elf>
  \-PE 7bf50000-7bf71000 \              netapi32
ELF 7bf71000-7bfa8000 Deferred        dinput<elf>
  \-PE 7bf80000-7bfa8000 \              dinput
ELF 7bfa8000-7bfc0000 Deferred        dinput8<elf>
  \-PE 7bfb0000-7bfc0000 \              dinput8
ELF 7bfd0000-7c000000 Deferred        d3d9<elf>
  \-PE 7bfe0000-7c000000 \              d3d9
ELF 7c09d000-7c0c9000 Deferred        ws2_32<elf>
  \-PE 7c0a0000-7c0c9000 \              ws2_32
ELF 7c0c9000-7c0e3000 Deferred        wsock32<elf>
  \-PE 7c0d0000-7c0e3000 \              wsock32
ELF 7c0e3000-7c0f6000 Deferred        libresolv.so.2
ELF 7c0f6000-7c114000 Deferred        iphlpapi<elf>
  \-PE 7c100000-7c114000 \              iphlpapi
ELF 7c114000-7c175000 Deferred        rpcrt4<elf>
  \-PE 7c120000-7c175000 \              rpcrt4
ELF 7c175000-7c219000 Deferred        ole32<elf>
  \-PE 7c180000-7c219000 \              ole32
ELF 7c219000-7c282000 Deferred        msvcrt<elf>
  \-PE 7c230000-7c282000 \              msvcrt
ELF 7c282000-7c295000 Deferred        shfolder<elf>
  \-PE 7c290000-7c295000 \              shfolder
ELF 7e628000-7e63c000 Deferred        midimap<elf>
  \-PE 7e630000-7e63c000 \              midimap
ELF 7e63c000-7e662000 Deferred        msacm32<elf>
  \-PE 7e640000-7e662000 \              msacm32
ELF 7e662000-7e679000 Deferred        msacm32<elf>
  \-PE 7e670000-7e679000 \              msacm32
ELF 7e679000-7e73c000 Deferred        libasound.so.2
ELF 7e74b000-7e781000 Deferred        winealsa<elf>
  \-PE 7e750000-7e781000 \              winealsa
ELF 7e781000-7e813000 Deferred        winmm<elf>
  \-PE 7e790000-7e813000 \              winmm
ELF 7e813000-7e846000 Deferred        uxtheme<elf>
  \-PE 7e820000-7e846000 \              uxtheme
ELF 7e846000-7e84f000 Deferred        libxcursor.so.1
ELF 7e84f000-7e854000 Deferred        libxfixes.so.3
ELF 7e854000-7e857000 Deferred        libxcomposite.so.1
ELF 7e857000-7e85d000 Deferred        libxrandr.so.2
ELF 7e85d000-7e865000 Deferred        libxrender.so.1
ELF 7e865000-7e868000 Deferred        libxinerama.so.1
ELF 7e868000-7e888000 Deferred        imm32<elf>
  \-PE 7e870000-7e888000 \              imm32
ELF 7e888000-7e88d000 Deferred        libxdmcp.so.6
ELF 7e88d000-7e8a5000 Deferred        libxcb.so.1
ELF 7e8a5000-7e98c000 Deferred        libx11.so.6
ELF 7e98c000-7e99a000 Deferred        libxext.so.6
ELF 7e99a000-7e9b2000 Deferred        libice.so.6
ELF 7e9b2000-7e9ba000 Deferred        libsm.so.6
ELF 7e9c9000-7ea60000 Deferred        winex11<elf>
  \-PE 7e9e0000-7ea60000 \              winex11
ELF 7ea9e000-7eabf000 Deferred        libexpat.so.1
ELF 7eabf000-7eae9000 Deferred        libfontconfig.so.1
ELF 7eae9000-7eaeb000 Deferred        libxcb-xlib.so.0
ELF 7eaeb000-7eaf0000 Deferred        libxxf86vm.so.1
ELF 7eaf8000-7eb0d000 Deferred        libz.so.1
ELF 7eb0d000-7eb7d000 Deferred        libfreetype.so.6
ELF 7eb7e000-7eb81000 Deferred        libxau.so.6
ELF 7eb8c000-7ebde000 Deferred        advapi32<elf>
  \-PE 7eba0000-7ebde000 \              advapi32
ELF 7ebde000-7ec79000 Deferred        gdi32<elf>
  \-PE 7ebf0000-7ec79000 \              gdi32
ELF 7ec79000-7edc0000 Deferred        user32<elf>
  \-PE 7ec90000-7edc0000 \              user32
ELF 7edc0000-7ee7f000 Deferred        comctl32<elf>
  \-PE 7edd0000-7ee7f000 \              comctl32
ELF 7ef9f000-7efaa000 Deferred        libnss_files.so.2
ELF 7efaa000-7efb4000 Deferred        libnss_nis.so.2
ELF 7efb4000-7efcc000 Deferred        libnsl.so.1
ELF 7efcc000-7eff1000 Deferred        libm.so.6
ELF 7eff7000-7f000000 Deferred        libnss_compat.so.2
ELF b7c85000-b7c89000 Deferred        libdl.so.2
ELF b7c89000-b7dd8000 Deferred        libc.so.6
ELF b7dd9000-b7df1000 Deferred        libpthread.so.0
ELF b7e00000-b7f36000 Deferred        libwine.so.1
ELF b7f38000-b7f54000 Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Arquivos de programas\Mount&Blade\mount&blade.exe
00000033    2 *||* 00000032  15 *||* 00000031    0 *||* 00000030  15  *||* 0000002d    2
0000002c    2 *||* 0000002b    2 *||* 0000002a    2 *||* 00000029    2 *||* 00000028    2
00000027    2 *||* 00000026    2 *||* 00000025    2 *||* 00000024    2 *||* 00000023    2
00000022    2 *||* 00000021    2 *||* 00000020    2 *||* 0000001f    2 *||* 0000001e    2
0000001d    0 *||* 0000001c    0 *||* 0000001b    0 *||* 0000001a    0 *||* 00000019    0
00000018    0 *||* 00000017    0 *||* 00000016    0 *||* 00000009    0 <==
0000000c
00000012    0 *||* 0000000e    0 *||* 0000000d    0 *||* 0000000f  *||* 00000015    0
00000014    0 *||* 00000011    0 *||* 00000010    0 *||*
0000002e
0000002f    0 *||*
Backtrace:
=>1 0x7bc33d2d RtlEnterCriticalSection+0x1d() in ntdll (0x09adda44)
  2 0x0053fbd8 in mount&blade (+0x13fbd:cool: (0x09adda8c)
  3 0x004bb1f3 in mount&blade (+0xbb1f3) (0x00b158b:cool:
fixme:winmm:MMDRV_Exit Closing while ll-driver open
 

Priapus

Regular
Best answers
0
Hey JoaquimP, I had the same problem too.  You can fix it by rather than running
Code:
$ env WINEPREFIX="/home/joaquimp/.wine" wine "C:\Program Files\Mount&Blade\mount&blade.exe"
running
Code:
$ cd "/home/joaquimp/.wine/drive_c/Program Files/Mount&Blade"
$ nice -18 wine "mount&blade.exe"
I also recommend setting the scheduler to 18 because I had problems with the game hanging.
 

Rongar

Master Knight
M&BWB
Best answers
0
I do not understand how setting priory can help to solve problem. But I tried to set nice and it did work for me either. I got almost the same error log as JoaquimP.
 

Priapus

Regular
Best answers
0
Setting the priority was to fix another problem I had.  The problem of M&B not starting (for me at least) could be fixed by directly running the mount&blade.exe rather than using the command that wine provided with the wineprefix stuff.  The error has to do with the program not finding the proper dll file.