SRB2DB through WINE, but native SRB2 testplay [Linux]

Status
Not open for further replies.

BlueZero4

(not a palindrome)
I run Linux now, and I want to dip my toes back into SRB2 mapping. I've gotten SRB2DB to work in WINE, but I'd like to tesplay in a native linux SRB2 game session. I'm assuming that DB would try to keep its testplay inside of WINE; how would I tell it otherwise?

Maybe I could tell DB to build a testfile in my SRB2 folder, but launch the testplay session using a bash script? I don't think DB has a feature to export for something like that, does it?
 
Last edited:
It's highly unlikely that Doom Builder could ever run/emulate any non native (elf) binary without first heavily modifying its source code. In its current state, Doom Builder would be excruciating difficult to port to non Windows platforms. The only (realistic) method of accomplishing the task of testing your map through SRB2 would be to set up Doom Builder to use the SRB2 Windows executable. If you require a working (WINE/Doom Builder) configuration, I may be able to help with this as, over the next few days (during my spare time), I'll be in the process of upgrading my operating system and will attempting this again as I did in the past. I was successful with this in the past (and still have the working configuration), I just need to update and test it with current Wine versions. Although I haven't test it yet, I'm almost certain that SRB2 will not be able to add wads if used with the current latest unstable version 1.5 of WINE as its suffering from a few major regressions. For the time being, I'd recommend staying with the stable (version 1.4), but just keep in mind that even this is quite unstable and prone to errors.
 
Last edited:
I'm on the unstable WINE 1.5 at the moment. I haven't tried a WINE SRB2 yet; I was assuming the performance hit would be pretty bad. My WINE DB seems to work, though I haven't tested it very much. Text is a bit ugly, but that's not too bad.

When you were mapping in Linux, what was your setup? Did you WINE both DB and SRB2? How well did it work?
 
I recommend trying SRB2 alone with your version of WINE first, if I'm correct, than anything beyond map01 shall fail (assuming SRB2 doesn't fail its checksum test upon execution). When I get a chance (hopefully sometime tomorrow), I'll link a copy of my WINE/Doom Builder setup here as WINE can be quite fussy about running both it and SRB2 simultaneously. The last time I used it, WINE was only at version 1.2.x as I didn't update it for a while. On a Kubuntu desktop (nearly worse case scenario for me) using an i3 laptop with 32MB of integrated graphics RAM and 2 GB of DDR3 system RAM, I was able to achieve nearly the same performance as Windows for both software and OpenGL modes. Taking screenshots were buggy, only a certain color depth (24 bit I think) worked in OpenGL mode and the community build often failed with palette issues, but every time I ruined a configuration, I just deleted and let SRB2 create another default one. Rarely did my framerate ever drop more than 1 below par when using the stable version.

Also, if your experiencing any issues with Doom Builder, I recommend that you take a gander at this site: "http://www.doomworld.com/vb/doom-editing/58485-howto-doom-builder-1-and-2-on-linux/".
 
So I'd keep two copies of SRB2 on me, one native and one WINE? And I'd keep all my custom content in the native .srb2 directory, and just use the WINE directory for testplays?

Sounds interesting.
 
Since Doom Builder isn't accustomed to hidden directories in Linux, than that would work as a workaround provided you have the extra storage space. Another possibility might be to use "/usr/games/SRB2/" as your game directory since if I recall correctly, in the source code, it mentions looking here as well as in "~/.srb2". Just remember to change the permission of the folder to that of the user (chown) if you do decide to use it.

By the way, I'm just wondering, which are you using a 32 or 64 bit operating system?
 
(I'm on 64 bit.)

So Doom Builder expects to place the generated test file in the same directory as the game's exectuable. This is not how Linux is built, or at least not how I want it to run. I made a symlink to "/usr/games/srb2" inside "~/.srb2/", and then I edited Builder.cfg with "/home/bz4/.srb2/srb2" to become my testplay directory. With the symlink inside a writable directory, it now seems happy and will build nodes for me.

But afterward, Doom Builder minimizes and pops back up again, evidently having decided the testplay was over. I'm guessing that happened because SRB2 failed to launch. Should I be doing something more complicated than shoving the full unix path into it?
 
Last edited:
Due to overlooking the licenses of WINE and Doom Builder aforetime, apparently I'll be unable to share the contents of my ".wine" folder. I'll however nevertheless mention how I do this beforehand, as well as try to provide a short walkthorugh of how I typically did it in the past. It'll be limited as my laptop recently self combusted and all I have left now for a computer is my Nintendo Wii. The method I use nowadays involves using Vitualbox to emulate Windows within Linux as its more stable. There is a huge performance hit using an emulator instead of emulation layer, but with the right configuration, its still playable on most levels even on lowend machines. This way may be slower and harder to setup, but it works better for serious mappers that don't want to or can't dual boot between multiple operating systems. The catch here is that you may be required to have a second license of Windows (depending on your setup).

Provided that WINE is installed correctly and is not suffering from any major regressions, the following should work. Due to reoccurring issues yet to be address, I suggest to those using a 64 bit platform (therefore a 64bit version of WINE), to run the command "WINEARCH=win32 WINEPREFIX=~/.wine winecfg" to prevent issues with 64 bit code as its not well supported yet. This command will force 32 bit systemwide within WINE and allow for tempermental installers such as Network Framework 2.0 to install.

Steps to getting Doombuilder 1.x to work with WINE
1) Install winetricks (sudo apt-get install winetricks)
2) Run "winetricks vb5run" in a console (can also install via "winetricks --gui")
3) Run "winetricks wsh57" in a console too (can also install via "winetricks --gui" too)
4) Run "winecfg" (opens the "wine configuration manager"), select the Libraries tab, and then set oleaut32 and olepro32 to Native then Builtin by adding them to the list

5) Install DoomBuilder using the Windows setup executable.

6) Edit the menu shortcut as needed (typically located in "/.local/share/applications/wine/Programs/Doom Builder/Doom Builder.desktop"
and change the Exec line to following this format: "Exec=env WINEPREFIX="/home/yourUserNameHere/.wine" wine "C:\Program Files\Doom Builder\Builder.exe"

7) Get a copy of the SRB2 (version 2.x) Doom Builder configuration and place it in the Doom Builder folder

8) Setup the configuration in a similar way as the screenshots below with key points being of how the Engine, parameters, and IWAD are set. In my example, I used "/usr/games/SRB2/" with user permissions since the Linux executable looks here as well as in the ~./srb2 folder, but this only needs to point to the Windows executable in a non hidden directory containing the other SRB2 Windows files too. Do not use "/usr/games/SRB2/" if this is not where your copy of SRB2 is installed. Due to bugs in image rendering with Wine, its better to leave caching of images off as also shown below.
show.php

37685winedbconf.png
22226winedbconf.png
wine_db_config.png

show.php
show.php
show.php


---------- Post added at 09:42 PM ---------- Previous post was at 09:13 PM ----------

I probably should also add that the configuration can be found on the wiki at: "http://wiki.srb2.org/wiki/SRB2_Doom_Builder_Tutorial_-_Chapter_1:_Getting_Started". I would've just added this above, but the image I posted above kept disappearing when I did. Anyway, to get the configuration file to work with Doom Builder, the "type" should be changed from "SRB2 Doom Builder Game Configuration" to "Doom Builder Game Configuration". Also, if your having trouble with the parameters, something such as "-server -iwad %D -file "%A" "%F" +map %L" might work too. The hard part for me was getting the parameters to work as WINE didn't always interpret them correctly.
 
Last edited:
I already had DB working in WINE, actually. Sorry if I didn't communicate that well. I'll look at the test parameters, though.

Where is the option you said to turn off? Was that in WINE, or DB? The image wasn't very clear.
 
I was referring to disabling the option under the "edit" tab of Doom Builder" as shown in top left window that says "Precache resources when loading map". The parameters shown in the screeshot (-opengl -iwad %D -file "%A" "%F" +map %L) should work and are the ones I meant you should try first, but if they don't you could try the alterternative that I gave (-server -iwad %D -file "%A" "%F" +map %L). This alternative way should host the map offline and use software mode are the only differences.

I'm not sure what your trying to do, I thought you meant that you only had Doom Builder and SRB2 working separately, but not together when you ran SRB2 through Doom Builder. I'm not sure what your using a symlink for, but if it's for the SRB2 executable than that would probably explain why it wouldn't start. The path of the engine in the testing tab of Doom Builder has to be the path and location for "srb2win.exe", not the the Linux elf binary (although I'm starting to wonder about this after reading through what Alam posted).
 
Last edited:
I had meant that I had already installed the windows resources WINE needs for DB, though I didn't force 32-bit. .Net 2.0 installed just fine anyway. Turning off the "precache resources" option definitely helped the responsiveness, though. Thanks for that.

Yeah, I should bite the bullet and copy SRB2 into my WINE bottle. I haven't yet, and everything should work fine afterward. I guess I can't testplay natively after all. :X
 
Last edited:
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top