Jump to content

Renegade X on Linux


testman
 Share

Recommended Posts

  • Moderator

Update:
This post contained some outdated information and dead links.
The latest information about Renegade X on Linux can be found on renx wiki: https://wiki.renegade-x.com/wiki/Linux_Guide
There are also some other things that you can check out:
https://lutris.net/games/renegade-x/
https://appdb.winehq.org/objectManager.php?sClass=application&iId=13916

Original post:

I have been sitting on this guide that was written some time ago, but as I didn't have time to improve it or even get someone else besides me to confirm that it works, I am posting it here in case someone finds it useful.

Well, I am posting a link to guide on Etherpad (free and open source collaborative text editing thing), so that people can change and improve it in case of new findings:
https://etherpad.net/p/renx_linux

But in case some rando decided to rm -rf / the whole thing, here is a copy of the text as of the time of posting:

Spoiler

Feel free to add comments, your findings and overall improvements to this document.

I have been running Renegade X on Linux (Fedora 28) for few weeks now and I can say that it works quite well.
As Renegade X does not run natively on Linux, you need to use WINE and do some additional configuration to get Renegade X running.
I was able to run Renegade X with the following WINE versions: 3.8, 3.8-staging, 3.9, 3.9-staging.
So, far it is working on:
Fedora 28 and Fedora 29
In working proccess:
Ubuntu 18.04

If you have any issues during the installation or if you encounter issues when runnning Renegade X, do make a post in this thread and I (and hopefully others too) will try to assist you.

So, let me get started.

Get familiar with command line in Linux, as you will need to use it in some parts of this guide.
First, you'll have to make sure you have WINE, I recommend Wine 3.15. latest WINE
Renegade X needs .NET Framework 4.5 to work, but running the .NET installer with WINE does not work, as installer complains that operating system is not supported.

Best to get latest version of winetricks from their Github (link below).
After you have winetricks set up, use this script:
    
-----------------------------------------------------------------------------------------------------------------
#!/bin/bash
#used just to get initial wine configuration in case that .wine directory does not exist yet
[[ -d ~/.wine ]] || winecfg
#assume latest winetricks already installed  
winetricks -q corefonts
winetricks -q vcrun2008
winetricks -q vcrun2010
winetricks -q xact
winetricks -q d3dx9_43
winetricks -q d3dx9
winetricks -q win7
winetricks -q dotnet452
winetricks -q win7
-----------------------------------------------------------------------------------------------------------------


You should be getting a lot of messages that look like error messages, but are just warnings about some bug workarounds and missing mono and such.
And of course when the installation wizard appears for some component, you should follow it in the usual "tl;dr I accept, next, next, next, Install" manner.

After you have those installed, you should be able to start the Launcher and Renegade X.

However, if you are as unlucky as I was, Renegade X will freeze every few minutes because of some issue with WINE's implementation of xaudio2.
You'll resolve that issue by opening WINE configuration (command is winecfg) and under Libraries tab finding xaudio2_7 on the dropdown list, adding it to the list of overrides below and edit it so that it uses ONLY native (Windows) implementation instead of the WINE one.

After that you might notice that game does not crash any more, but has absolutely no sound. That is because the native Windows DLL files that should be used to produce audio do actually not exist. Some internet guides might tell you that you get those files by downloading DirectX jun2010 installer and extracting DLLs from there. I tried that and it just made game crash every time I started it. So what you want to do is think to yourself "lol, I just downloaded an INSTALLER for DirectX, why would I manually extract files from it?" and then use WINE to run the installer.
Actually, my bad, the thing you downloaded is self-extracting archive. Once you extract that into a directory, then you should use WINE to run the installer (DXSETUP.EXE)

This is the part where you get informed about system architecture.
Renegade X uses 32 bit client by default, but also provides 64 bit game client.
WINE provides command named "wine64" which is used to run exclusively 64 bit Windows applications.
This is important because of the DirectX instalation.
If you want to have sound in 64 bit Renegade X client, then you should run DirectX installer with the wine64 command.

After you ran that installer, you should have sound in Renegade X and whole game should run decently.

Keep in mind that you are running native Windows application on Linux with one layer in between, so the performance will not be as good as native Windows performance would be.

If someone would want to help me make a Lutris (basically almost Steam for all types of Linux gaming) installer for Renegade X I would be very grateful.

WineHQ RenX: https://appdb.winehq.org/objectManager.php?sClass=version&iId=32398
Directx9 jun2010: https://www.microsoft.com/en-us/download/details.aspx?id=8109
Winetricks: https://github.com/Winetricks/winetricks

 


With this guide RenX can also runs decently well as a server.

However,  I feel that there is some potential to make "Renegade X server on Linux" more automated and less complicated to set up by making it available as a VM or as a Docker image.
Thing is that I do have working Lubuntu RenX server VM, but it is 18 GB total (Lubuntu + Wine + all requirements (dx2010, dotnet) + Renegade X), which is far from comfortably portable, so it would be much better to have a script or container that automatically downloads and sets up RenX server automatically.
But that would again require work, which I can assist with, provided there is even enough interest for such thing.
But that would require some testing

Edited by testman
Link to comment
Share on other sites

  • Developer

Since you mentioned Lutris I experimented a bit with it, I made a script which could automate all of the installation steps:

Spoiler
name: Renegade X
game_slug: renegade-x
version: Installer
slug: mygameinstaller
runner: wine

script:
  files:
  - renxinstaller: https://renxdownloads.nyc3.cdn.digitaloceanspaces.com/Renegade_X_Installer-3e4811a.msi
  game:
    arch: win64
    exe: drive_c/Program Files (x86)/Renegade X/Launcher/Renegade X Launcher.exe
    prefix: $GAMEDIR
  installer:
  - task:
      arch: win64
      description: Creating Wine prefix
      name: create_prefix
      prefix: $GAMEDIR
  - task:
      app: corefonts
      description: Installing corefonts
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: vcrun2008
      description: Installing visual code 2008
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: vcrun2010
      description: Installing visual code 2010
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: xact
      description: Installing xact
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: d3dx9
      description: Installing d3dx9
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: d3dx9_43
      description: Installing d3dx9_43.dll
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: msxml3
      description: Installing msxml3
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: win7
      description: Setting environment to Windows7
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: dotnet45
      description: Installing .net 4.5
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      app: win7
      description: Setting environment to Windows7
      name: winetricks
      prefix: $GAMEDIR
      silent: true
  - task:
      executable: renxinstaller
      name: wineexec
      prefix: $GAMEDIR
  system:
    disable_runtime: false
    env:
      DXVK_HUD: '0'
      PBA_ENABLE: '0'
  wine:
    dxvk: true
    dxvk_version: '0.93'
    overrides:
      nvapi,nvapi64: disabled
      xaudio2_7: native,builtin
    version: tkg-protonified-3.21-x86_64

To run this script save to some folder as installscript.yml and in the commandline execute: lutris -i (directory of installscript)/installscript.yml

Even though it installs and might work for you; the launcher does not run as intended on my distribution, for example it will not download the game nor show the servers that are currently online. 32-bit architecture fails completely to run the launcher, where-as I can get the 64-bit architecture to show at least some screens with some visual glitches.

Since .Net has always been an issue for wine I might make a native Linux launcher doing so also might address functionalities such as DRI_PRIME not being initialized in hybrid graphics situations. I took a look at the current launcher and it seems like it is very feasible to make a native linux launcher. I myself however am not a UI designer, so if anybody here has experience with GTK-design (native applications of the newest Ubuntu and Fedora use this) and wants to help to do the visual part I'd be grateful.

Edited by SonnyX
clarification
  • Like 2
Link to comment
Share on other sites

On 12/15/2018 at 8:13 AM, SonnyX said:

and it seems like it is very feasible to make a native linux launcher

Rather than writing a new launcher, wouldn't it make more sense to try to compile the existing launcher for Linux (i.e: using Mono or something similar)?

  • Like 1
Link to comment
Share on other sites

  • Developer
23 minutes ago, Agent said:

Rather than writing a new launcher, wouldn't it make more sense to try to compile the existing launcher for Linux (i.e: using Mono or something similar)? 

That was my first thought too, however the Rx_launcher project makes use of the WPF Toolkit which is Windows exclusive as far as I know, there are some projects that try to implement a cross-platform version but are either in pre-alpha stages or are very limited. Using the current launcher in Wine also isn't a good option for me, nor for anybody as it is probably the only reason we need the .net dependency in Wine. Besides that, even if we manage to cross-compile it to Linux it would still come with issues such as it not knowing how to run a wine instance, the current launcher "works" since it exists inside of the wine instance.

That being said making a native Linux launcher may be easier, downloading and patching the game is fairly simple: The download servers are available through a static link which provides the current version of the game. All servers contain the full game (in VCDIFF patch format) and also patch files since the previous patch. A easy to use VCDIFF library in most languages should be able to decode/apply these patch files. I haven't looked into the following but I assume the actual RenegadeX exe takes arguments to be able to connect to a game-server, therefor the game should be easy to launch as well.

Kind of curious if the current launcher handles an update correctly if somebody has missed a patch by checking the check-sums of all files.

Link to comment
Share on other sites

  • Developer
1 hour ago, SonnyX said:

 I haven't looked into the following but I assume the actual RenegadeX exe takes arguments to be able to connect to a game-server, therefor the game should be easy to launch as well.

Kind of curious if the current launcher handles an update correctly if somebody has missed a patch by checking the check-sums of all files.

Yes for both. Here's an example for the first question:

start Binaries\Win32\UDK.exe 127.0.0.1

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • Moderator

.@SonnyX The Lutris installer that you made seems to be working well (works on my machine). Have you already submitted it here: https://lutris.net/games/renegade-x/ ?
If not, then I would kindly ask you to do so, or give green light for someone else to submit it.
And thank you very much for being interested in this.  👍

Link to comment
Share on other sites

  • Developer
23 minutes ago, Testman said:

.@SonnyX The Lutris installer that you made seems to be working well (works on my machine). Have you already submitted it here: https://lutris.net/games/renegade-x/ ?
If not, then I would kindly ask you to do so, or give green light for someone else to submit it.
And thank you very much for being interested in this.  👍

Did you use the installer as is, without modifications that is? Does in-game sounds work as is?

If so then you are running the proton version of Wine; Can you say anything about performance, any difference compared to the instance you were running before? Also which distro you are rocking, which version of that distro? Also do you know if you're currently using wayland or X.org?

Edited by SonnyX
Link to comment
Share on other sites

  • Moderator

Yes, it was "$ lutris -i /path/to/copypasta.yml".
Sound works, game performance is on par of what I had before.
I'm on Fedora 29, and I'm running X-org because Cinnamon was not yet ported to Wayland 😠

I have clean install of Ubuntu 18.10 in VirtualBox, will also try to install with Lutris there once I have time.

Link to comment
Share on other sites

  • Developer
2 hours ago, Testman said:

Yes, it was "$ lutris -i /path/to/copypasta.yml".
Sound works, game performance is on par of what I had before.
I'm on Fedora 29, and I'm running X-org because Cinnamon was not yet ported to Wayland 😠

I have clean install of Ubuntu 18.10 in VirtualBox, will also try to install with Lutris there once I have time.

Neat, thanks for checking! I've submitted the install script to Lutris.

I've started working on the back-end of the launcher, planning to make the back-end and front-end separated, this way different operating systems or/and distro's can make native implementations of the launcher. The code-base will be in Rust which will be a fun challenge, will set up a GitHub repository once I get it to decode it's first file.

Fun times: open-vcdiff does not implement secondary compression such as lzma which is being used by the current launcher. Will have to figure out a way to decompress it, perhaps by wrapping xdelta3.

 

Edited by SonnyX
  • Like 1
Link to comment
Share on other sites

  • Developer
44 minutes ago, SonnyX said:

Fun times: open-vcdiff does not implement secondary compression such as lzma which is being used by the current launcher. Will have to figure out a way to decompress it, perhaps by wrapping xdelta3.

Hehe, it seems that I was not the first with this idea... 

  • Like 1
Link to comment
Share on other sites

  • Moderator

OK, I tried it on Ubuntu 18.10.
Well, on Ubuntu 18.10 running in VirtualBox, with all latest updates (apt-get update && apt-get upgrade), wine installed and Lutris installed.
Script does install files well, but then launcher fails to run.
Only after I did "apt-get install mono-complete" then did the launcher start and therefore I was able to download Renegade X game data. Will make further reports once the thing is done downloading.

Update:
yep, after it finishes downloading, starting the launcher works and starting the game works.
Update 2:
Same on Lubuntu.

Edited by Testman
Link to comment
Share on other sites

  • Developer
1 hour ago, Testman said:

OK, I tried it on Ubuntu 18.10.
Well, on Ubuntu 18.10 running in VirtualBox, with all latest updates (apt-get update && apt-get upgrade), wine installed and Lutris installed.
Script does install files well, but then launcher fails to run.
Only after I did "apt-get install mono-complete" then did the launcher start and therefore I was able to download Renegade X game data. Will make further reports once the thing is done downloading.

The game will run then, the issues lies with the launcher. Got the launcher to work on my distribution as well, however in my case it somehow had to do with network connectivity. I think the following commands may have been the solution for me:

sudo setcap cap_net_raw+epi /usr/bin/wine-preloader
sudo setcap cap_net_raw+epi /usr/bin/wine
sudo setcap cap_net_raw+epi /usr/bin/wine64-preloader
sudo setcap cap_net_raw+epi /usr/bin/wine64

These allow wine to actually ping the servers, then again not sure if this is what fixed it. (in the case of Lutris you may need to change the /usr/bin/ part.)

However in my late night test I had no in-game sounds, plus pretty poor performance since I am running the game on a brick (actually a laptop).

Link to comment
Share on other sites

  • Developer

Okay, so made a little proof of concept for the native linux launcher, compiling and running this will be able to decode the first file in the instructions.json.

From this point onward I will see if I can turn this into a library, this would allow it to be used for GUI's on different platforms. That way the GUI doesn't have to contain the logic, just has to call the corresponding function in order to download, update or launch the game.

If there any developers are interested in thinking along or helping please open an issue here. The library will be programmed in Rust as shown in the proof of concept, this may be a nice opportunity to learn it, as it is for me.

Also for any GUI programmers: Some thoughts on required/useful API functions are naturally appreciated, if you do have suggestions please open an issue here. (Rust has language bindings to most languages such as Go, Vala, C, C++, Python and thus the library can be used in the language of your choice)

Edited by SonnyX
There is no private messaging system apparently.
  • Like 1
Link to comment
Share on other sites

3 hours ago, SonnyX said:

From this point onward I will see if I can turn this into a library, this would allow it to be used for GUI's on different platforms. That way the GUI doesn't have to contain the logic, just has to call the corresponding function in order to download, update or launch the game.

Worth noting: RXPatchLib is already setup as a separate library, which you could use.

  • Thanks 1
Link to comment
Share on other sites

  • Developer

@Agent Does the downloader also split individual files such as the various CnC-Maps up into several blocks by using range headers? These maps are usually between 50 - 100 MB compressed from what I've seen. The biggest one I've seen so far being 600 MB compressed ("UDKGame\CookedPC\Maps\RenX\RenX-MenuMap.udk").

Edited by SonnyX
Link to comment
Share on other sites

  • Developer

So experimented a bit with wine, wine-tricks and the likes. Figured out, at least for my system vcrun2005 is a must, `mono` or `mono-complete` are not needed as this is provided by dotnet40/dotnet45.  Using this along with the rest of the libraries (xact, d3dx9) allowed me to run the game, with broken audio that is, the audio did work however everything was at the same maximum volume, running a "directx june 2010" installer manually did fix the issue along with setting the library xaudio2_7.dll to native only. There is a package named directx9 in winetricks which I assume does the same, will try that out soon.

Since lutris uses the same install process, anybody using lutris at the moment will also most likely have defect audio. I also saw quite some visual strangeness: decals (rocks) re-rendering is what I assume as they have black pixels all over them when it happens.

Link to comment
Share on other sites

  • Moderator

@SonnyX Thank you for testing it further.

I'm not sure if you are aware, but the article about getting Renegade X was created on the wiki:
https://wiki.renegade-x.com/wiki/Linux_Guide

Could you read through it and check if there are any incorrect information in there and add any improvements that you think could be useful.
 

1 hour ago, SonnyX said:

`mono` or `mono-complete` are not needed as this is provided by dotnet40/dotnet45

While I would agree that this is true on Fedora (28, 29), I still needed to install mono-complete on Ubuntu and Lubuntu in order to get Renegade X to start. Or was it maybe one of the dependencies that mono-complete brought with it that made RenX start, not sure.

I also encountered the "all volumes are at maximum" as if there is no such thing as proximity. You either hear the sound at full volume or you don't. Solution, like you already described, was setting xaudio2_7 to native only.

And I also encounter the "re-rendering", a strange artifact on some surfaces when you get close to them. But I personally am not too bothered with that, and I have no idea how to make that stop happening.

Link to comment
Share on other sites

  • 3 weeks later...

Here are some notes from me on getting Ren-x to work.  I installed through Lutris, as the script in the wiki doesn't seem to install all of the proper dependencies into wine.  Also I haven't used wine much before, so the lutris route was the easiest way.  Note that I didn't install the lutris package through apt(even though it is on their website through a deb package) because when I tried to install it, it complained about unrar not being installed, so at least for Debian their package is broken.  I don't know if Ubuntu has the same problem.

I'm running Debian 9 with the latest NVidia drivers(410.93), and the game does run, albeit I do get some weird graphics issues.  Since I'm on a 64-bit system, I did have to install some 32-bit compatability libraries(at least vulkan to use the DXVK configuration in the Lutris install script).  To do that, do the following:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libvulkan1:i386

Some strange things found so far:

  • I had to go into the lutris launcher, right click on the game and go to 'Wine configuration', go to the 'Graphics' tab, and select 'Automatically capture the mouse in full-screen windows'.  Without this, I couldn't look around as the mouse would stop at the edge of the screen and also go to the other screen when playing.
  • The launcher runs, but if I have a server selected and then click the 'refresh' button it crashes.
  • Starting the game from the launcher works, but it is very unreliable.  I need to click the launch button a few times for it to launch, and when it does it will pop up an error about not being able to start.  This error doesn't seem to actually be bad though, as the game will still run.
  • On certain maps, I have some really weird graphics issues(see attached image).  Any thoughts on what this could be?
  • Related to the weird graphics, some places are also completely white with some bad Z ordering, e.g. the texture doesn't exist.  Some maps are worse than others.

I haven't played an online game yet(will do shortly), but overall it's not completely unplayable at least.

 

renx-linux.png

renx-linux-gfx.png

  • Like 1
Link to comment
Share on other sites

  • Moderator

@rm5248 Thank you very much for giving it a try. I'm happy that you found Lutris install useful. And thank you for reporting back with your findings.

I have never seen this issue with bad Z-ordering, so I can't say much.
The white spots on the map in second screenshot. They are black for me 😄

Also, I am not sure that DXVK actually does anything in this case, as DXVK translates DX11 to Vulkan, while Renegade X is completely DX9. (I tried running it with -dx11 switch and got black screen)
So you can try disabling DXVK to see if that changes anything.
VK9 still has a long way to go, but DXUP looks promising, I still need to test that.

Regarding your findings, do feel free to expand the wiki article to include the things you found out and also feel free to improve the Lutris install script to make process more automated.

Again, thank you for giving this a try 👍

Link to comment
Share on other sites

@testman re: bad z-order: that's the second screenshot, the one with  the white spots(black for you).  It looks like this is actually a problem with a volume/emitter or something - on Field, I get a whole lot of small cubes on the river.  It's just that because it's white, it looks an awful lot like bad Z-ordering, but it doesn't appear to actually be that.

 

As for the DX11, I just tried it on my system and I got a black screen as well, but I noticed that UE3ShaderCompiler.exe is running when I try to start the game.  It took a while for this to happen(15+ minutes), and the game does start after that point, but I can't use any of the menus and my mouse goes in and out of view.  I think it did crash a few times when it was compiling the shaders, so I'm wondering if I need to delete my cache of shaders and have UE3 recompile them...

  • Like 1
Link to comment
Share on other sites

Minor adventures time!  For those of you on Linux who want a native application for browsing the server list, I've started on a C++/Qt GUI application.  At some point it will probably grow more to let you actually launch the game, but that's for another day!

You can get pre-built packages for Debian here: https://jenkins.rm5248.com/job/Renegade-X_Launcher/

Or get the code from here: https://github.com/rm5248/RenegadeXLauncher

 

I probably wont work on it this weekend at all, but it's up incase anybody has an urge to update it.

Screenshot from 2019-01-25 22-19-01.png

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...
  • Developer

I'm also working on my own launcher instance.


Current state of the project:
I've finished my own implementation of xdelta3, which is required for the updater.
I've finished making a downloader for the updater which uses the same sources as the official launcher.
Currently working on making the downloaded files extract to the right places.
 

I've made a mockup for a RenegadeX linux launcher using glade (gtk+), the result is as follows:

RenegadeX_linux_launcher.png.f7930763ce2e2c39f7024c721b5f1f8a.png

Project git's:
RenX-Patcher-lib: https://github.com/SonnyX/RenegadeX-patcher-lib
RenX-Linux-Launcher: https://github.com/SonnyX/RenegadeX-Linux-Launcher
RenX-Windows-Launcher: https://github.com/SonnyX/RenegadeX-Windows-Launcher

Edited by SonnyX
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • Developer
1 hour ago, iTweek. said:

(your pm feature is off here)

Just got an admin to enable it for me, one can always bug me on the RenX Discord server though.

Regarding your offer, there are no server services needed since my downloader/patcher downloads files the exact same way as the current launcher (with some improvements though).

Once I get file deployment ready I'll bug you for some windows testing though, probably will be things like killing your internet in the middle of the download process, shutting down your pc at that same time and that kind of jazz in order to see if the launcher successfully resumes.

Edited by SonnyX
Link to comment
Share on other sites

  • 2 months later...

Did any of you get a return code of 53 when trying to start the launcher?

I had to modify the installer script slightly, because winetricks was complaining about "xact_64" being an unknown argument - so I removed it from the script and installed it manually afterwards.

Winetricks complains about dotnet472 conflicting with dotnet40, even though apparently neither are installed.

Spoiler
2019-05-09 00:51:18,096: Runtime disabled by system configuration
2019-05-09 00:51:18,133: Replacing /home/maciek/Games/renegade-x/drive_c/windows/system32/dxgi with DXVK version
2019-05-09 00:51:18,134: Replacing /home/maciek/Games/renegade-x/drive_c/windows/system32/d3d11 with DXVK version
2019-05-09 00:51:18,134: Replacing /home/maciek/Games/renegade-x/drive_c/windows/system32/d3d10core with DXVK version
2019-05-09 00:51:18,134: Replacing /home/maciek/Games/renegade-x/drive_c/windows/system32/d3d10_1 with DXVK version
2019-05-09 00:51:18,134: Replacing /home/maciek/Games/renegade-x/drive_c/windows/system32/d3d10 with DXVK version
2019-05-09 00:51:18,134: Replacing /home/maciek/Games/renegade-x/drive_c/windows/system32/d3d9 with DXVK version
2019-05-09 00:51:18,135: Replacing /home/maciek/Games/renegade-x/drive_c/windows/syswow64/dxgi with DXVK version
2019-05-09 00:51:18,135: Replacing /home/maciek/Games/renegade-x/drive_c/windows/syswow64/d3d11 with DXVK version
2019-05-09 00:51:18,135: Replacing /home/maciek/Games/renegade-x/drive_c/windows/syswow64/d3d10core with DXVK version
2019-05-09 00:51:18,135: Replacing /home/maciek/Games/renegade-x/drive_c/windows/syswow64/d3d10_1 with DXVK version
2019-05-09 00:51:18,135: Replacing /home/maciek/Games/renegade-x/drive_c/windows/syswow64/d3d10 with DXVK version
2019-05-09 00:51:18,135: Replacing /home/maciek/Games/renegade-x/drive_c/windows/syswow64/d3d9 with DXVK version
WARNING: radv is not a conformant vulkan implementation, testing use only.
2019-05-09 00:51:18,173: Runtime disabled by system configuration
Running /home/maciek/.local/share/lutris/runners/wine/tkg-protonified-4.6-x86_64/bin/wine /home/maciek/Games/renegade-x/drive_c/Program Files (x86)/Renegade X/Launcher/Renegade X Launcher.exe
Waiting on children
All children gone
Exit with returncode 53
2019-05-09 00:51:20,177: Game still running (state: running)
2019-05-09 00:51:20,178: Stopping Renegade X (wine)
2019-05-09 00:51:20,259: Switching resolution of DisplayPort-0 to 2560x1440
2019-05-09 00:51:20,264: Switching resolution of HDMI-A-0 to 1920x1080
2019-05-09 00:51:20,269: Switching resolution of DVI-D-1 to 1920x1080

 

 

Link to comment
Share on other sites

  • Moderator

@maciozo Yo. I noticed that as well, but I was unable to find the solution as of now.
I would be happy to hear some suggestions and/or advice.

When we were making the Lutris installer for the first time, target dotnet was 452, not 472. I don't know if that's related to issue or not.
In fact, I have very bad experience with dotnet overall. Ever since I started using winetricks, installing dotnet was always painful, as winetricks offers to install dotnet452, then it fails installing, and then it complains "I can't install this again because it conflicts with dotnet40".
And at first I was thinking to myself "who told you to install dotnet40 you bloody piece of code", but only recently I realised that dotnet releases are INCREMENTAL, that they are one giant stack of Microsoft's spaghetti code, you need all the previous versions in order to also have the one you want.Or at least I believe that's the case.
Problems started for me when I updated from Fedora 29 to Fedora 30, but even now on fully clean install of Fedora 30 I still can't get RenX to one-click-install in Lutris. Like I said, help wanted, pls halp.
@Sho-kun @SonnyX your advice here would be welcome as well.

Also one more thing. Since we can't use the power of DXVK due to no DX11 stuff in RenX, can we try to see if this new D9VK hotness can do something for us?
I had my eyes on VK9 project for some time, but that seems to have lost a lot of momentum, but instead we got D9VK, which is DirectX 9 -> Vulkan thing as well, but it's a fork of DXVK instead of being made from-scratch.
My GPU isn't insanely powerful, but it is able to process Vulkan, and I would be very grateful for every additional frame per second that I get.
Maybe then I will be able to git gud at PUGs instead of failing to land remote C4 on MCT in the very high-risk-high-reward situations :/

 

Link to comment
Share on other sites

  • Developer

Very nice, wasn't aware of D9VK yet, back when I set up Lutris.
Also yeah the target dotnet should be about 4.5, as far as I know wine never had good support for 4.6 or 4.7, although by now this might have changed.
Still we should aim to only install 4.5. Also yep, dotnet is incremental, which is horrible and also a source of the startup warnings we get when running the game on Wine.
I'm not sure about error code 53, a quick google search does not show me any decent information about the error code. Also is that an error that the Launcher gives or an error RenX gives? I assume RenX, in that case i'd be more interested to see the last Log file produced by RenX.

  • Like 1
Link to comment
Share on other sites

On 5/13/2019 at 3:05 PM, testman said:

@maciozo Yo. I noticed that as well, but I was unable to find the solution as of now.
I would be happy to hear some suggestions and/or advice.

When we were making the Lutris installer for the first time, target dotnet was 452, not 472. I don't know if that's related to issue or not.
In fact, I have very bad experience with dotnet overall. Ever since I started using winetricks, installing dotnet was always painful, as winetricks offers to install dotnet452, then it fails installing, and then it complains "I can't install this again because it conflicts with dotnet40".
And at first I was thinking to myself "who told you to install dotnet40 you bloody piece of code", but only recently I realised that dotnet releases are INCREMENTAL, that they are one giant stack of Microsoft's spaghetti code, you need all the previous versions in order to also have the one you want.Or at least I believe that's the case.
Problems started for me when I updated from Fedora 29 to Fedora 30, but even now on fully clean install of Fedora 30 I still can't get RenX to one-click-install in Lutris. Like I said, help wanted, pls halp.
@Sho-kun @SonnyX your advice here would be welcome as well.

Also one more thing. Since we can't use the power of DXVK due to no DX11 stuff in RenX, can we try to see if this new D9VK hotness can do something for us?
I had my eyes on VK9 project for some time, but that seems to have lost a lot of momentum, but instead we got D9VK, which is DirectX 9 -> Vulkan thing as well, but it's a fork of DXVK instead of being made from-scratch.
My GPU isn't insanely powerful, but it is able to process Vulkan, and I would be very grateful for every additional frame per second that I get.
Maybe then I will be able to git gud at PUGs instead of failing to land remote C4 on MCT in the very high-risk-high-reward situations :/

 

I wish I had some suggestions.

Trying in a fresh prefix, the launcher fails to run with:

Running /home/maciek/.local/share/lutris/runners/wine/tkg-protonified-4.6-x86_64/bin/wine /home/maciek/Games/renx/drive_c/Program Files (x86)/Renegade X/Launcher/Renegade X Launcher.exe
The entry point method could not be loaded due to Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
Waiting on children
All children gone
Exit with returncode 1

Attempting to install .NET 4.5.2 manually from MS gives ".NET Framework 4.5.2 or a later update is already installed on this computer.", and doesn't allow installation.

Winetricks refuses to run now as well :|

2019-05-15 00:17:17,909: The game doesn't have an executabe
Running /home/maciek/.local/share/lutris/runtime/winetricks/winetricks --unattended
------------------------------------------------------
You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20190310-next - sha256sum: ba32734c7e69ae53929d92184fadcea66836cd5c9ba43694e153b53522d74669 with wine-4.6.r0.g3f8edce5 ( TkG Staging Esync ) and WINEARCH=win64
zenity: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
winetricks GUI enabled, using zenity
zenity: symbol lookup error: /usr/lib/libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
Waiting on children
All children gone
Exit with returncode 0

Oh well, what can one expect from a program written in a Windows-exclusive language >.>

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...
  • 4 weeks later...
3 hours ago, Momo said:

In game server browser stopped showing any servers for reasons unknown...

Is there a way to get server list without the launcher?

I get access denied when I tried to query this http://serverlist.renegade-x.com/servers.jsp

 

I did notice that the other week, but I'm not sure why that's the case.  Does anybody know if something changed in the launcher?  It seems to work fine on Windows.

Link to comment
Share on other sites

  • Developer
1 hour ago, rm5248 said:

Unless you have better options, let me know. UDK is a very vulnerable engine and is subject to many attacks. RenX servers were going down 24/7, would you have any suggestions?

Linux is not a supported platform for RenX. I apologize for your inconveniences.

Link to comment
Share on other sites

  • Developer

If you let me know what commands you use to start your RenX installation I can probably cook up a temporary (native) launcher for you. Or is everybody currently only using the Lutris installation at the moment?

I'd also like to form an alliance with the other Linux users to do some valid emulation testing. This would probably involve setting up a clean virtual machine with a certain , downloading RenegadeX once and putting it in a certain location within the virtual machine and then copying this clean virtual machine to test different configurations:

  • Checking different linux distributions
  • Checking which wine dependencies are required
  • Installing different wine versions to check compatibility.
  • Installing wine-libraries to see which are required and which are not.
  • Checking the difference between using wine-mono and the dotnet wine-libraries.

I hope we can get something along these lines going so that I can this one day incorporate this into a native linux launcher which will automatically manage all these variables for future linux users.

  • Like 1
Link to comment
Share on other sites

Hello and thank you for your answer. I thought I messed up something with my wine prefix or dependencies and in game server browser stopped working because of it!

Yes I am using Lutris :)

I created a wine prefix by using lutris and used lutris Renegade X installer as reference and just copied Renegade X main directory to it from my windows drive. 

Enabled ESYNC and installed and activated d9vk. version 0.13f by using instructions I found on internet.

I played the game just fine, performance was excellent. However i never managed to get launcher to work and I always used in game server browser to connect.

After I installed dotnet452 using winetricks, I always get errors messages when launching UDK.exe (I always use 64bit one) , the game launches anyway and runs fine afterwards if I ignore them.

If I don't install dotnet452 the game launches without any error messages. ( So i presume the dotnet is only needed for the launcher)

 

My distro is Linux Mint 19.2 XFCE 

winehq-stable is installed on my system version 4.0 (Also tried winehq-staging and didn't notice any difference).

 

I can post my lutris Renegade X configuration when I get home.

 

And yes some temporary fix would be nice :)

Cheers!

 

Edited by Momo
Link to comment
Share on other sites

  • Developer

So to start off with, I think for now we could probably get away using Lutris with my native launcher, I could probably make it find your Lutris installation and just make it change the configuration file before launching Lutris using the commandline (`lutris lutris:rungame/renegade-x`),

So just to put some information that I found back when I was testing months ago:
DXVK is for DirectX10 and above only, RenegadeX uses DirectX9, thus DXVK should not be explored or used.
DotNet is also used in the game, my bet is it is for the baked in EULA. We might get around such a thing by setting some registry values.
Most of the other requirements are also in the Lutris install script which I made back in the day, it has however been updated a few times after, sadly I can't see what changes have been made or by whom, I deem this rather unsafe and I would therefor preferably not use Lutris.
Wine 4.13 shows promise as well since it now uses FAudio by default, which might prevent some audio issues now and in the future.

Wayland by the way does work with RenegadeX unlike what it currently says on the wiki, I am fairly certain the mouse restrictions got removed/fixed in newer versions of gtk + wayland. However if you are on Ubuntu: due to Ubuntu's long update cycles it could be this still will not work for you as you might still be using an old version of gtk+wayland.

Link to comment
Share on other sites

  • Developer
21 hours ago, Monsterovich said:

This launcher is a garbage like all .net applications on wine. https://imgur.com/a/NhMX3w1

A non .NET launcher is coming. I could simply hook the following launcher up to run the game using System's default wine.

308454838_Screenshotfrom2019-08-0911-10-58.thumb.png.0fae0e6440f9a2bcaf7c72a5f98dd6c1.png

However I need some of the linux users to help me systematically test what dependencies are actually required, give best results, etc to make a truly native launcher.

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...