Any chance of supporting Linux / Wine+DXVK?

#1

Hey there fellow devs, long time no see (remember me? I briefly had some mail contact with @INovaeKeith some aeons ago when I applied for a webserver job you got :wink: )

In any case: I switched to Linux some time ago due to privacy concerns on Windows, and after some long time I wanted to try out the newest bling and glory you guys were working on, just to realized that, well, there actually is no bling nor any glory for me to try as I’m unfortunately unable to even run this game using wine due to the requirement of the .NET 4 Framework.

I know this is probably a shot into the dark, and that you probably don’t even have enough ressources to even consider thinking about this very very rare issue I’m having, but I still wanted to give it a try because I do know you guys are usually awesome :slight_smile:

Is there any way of bringing this game to Linux, and if not, to atleast try and make it run on wine? I’d be willing to support you with the limited knowledge I gather about the whole issue.

By the way: You wouldn’t have to rewrite the whole thing to vulcan even, as the linux community has the fabulous tool of DXVK now, which basically ports all those fancy directX calls to the Vulcan API (and works insanely good since Steam started to support it with big load of :moneybag::moneybag::moneybag: )

But yeah… I hope I’m able to actually use those sweet backer rewards one day ._.

4 Likes
Lutris/wine request
#2

Since you mentioned Steam: Have you tried to use Steams fork of Wine to run I:BS?

1 Like
#3

The game does not use the .NET framework, only the installer / launcher does ( which does all the authentication ). The reason the launcher is doing all that stuff is because of the google/facebook authentication which require managing cookies, logging on a custom webpage etc… which quickly becomes hell to do in C++ and so due to our limited time we didn’t want to have to go and integrate a web browser in C++ just to solve that problem.

Once the game gets on Steam it’ll probably skip these steps, so if Linux supports DX through Vulkan I see no reason why the game wouldn’t run. But don’t take my words for it, we have no way to test that right now so there’s no guarantee that it’ll ever work. And if it does, what will performance be, I have no idea.

4 Likes
#4

That’s absolutely great to hear! :smile: :raised_hands:

Any chance you could maybe give me an alternative way of authenticating so I can run the game then? I’d even be happy with a small CLI argument or something in the likes :wink: (or some hints on how the launcher initializes the game so I could try and make my own little “launcher”)

2 Likes
#5

yes, that’s what I’m using as my daily driver, but as I mentioned above, the problem is that .NET 4 can’t be installed.

2 Likes
#6

Unless gaming is a huge privacy issue for you, why don’t you do like the rest of us and have a Windows partition for the only thing it’s good for ?

1 Like
#7

You would have to do a bunch of web api calls manually, passing arguments / tokens using a POST request. Trust me when I say that’s not something you want to do manually :wink:

1 Like
#8

Coming form a web dev background, it actually does sound like a piece of cake to me :joy:

If you could send me some speccs or something like that it’d make my month buddy ^-^

Edit: I know this is quite a long shot, but if it’s actually just some juggling with POST calls, I’d even consider assisting you in moving the launcher to something that isn’t based on C++ and much easier to work with, like (the absolutely hated) Electron ;D

#9

I actually played some while on a KVM with GPU passthrough (worked like a charm) but decided to stop doing it for… kind of political reasons, once steam revealed proton.

If all us Linuxfolks were always only playing on Windows, game devs will continously say “see? No one’s even playing on Linux at all, and that’s why it’s a waste of time to support it”.

Also, my problem with dualbooting is that I wouldn’t actually boot into Linux anymore, because “I’d have everything I need on Windows”. It just feels so liberating to me personally to know that I know exactly what everything in my OS does.

But yeah, I know it’s kinda crazy, not yet Stallman crazy but somewhere in that direction. That’s why I also don’t have high expectations for devs supporting me at all :slight_smile:

1 Like
#10

It’s not just the authentication though. The installer itself checks for .NET and will likely fail to run on wine. We would have to do many modifications in the whole installer / launcher pipeline to avoid .NET, and as you can imagine it’s not on top of our priorities - especially considering the game might just run fine when we go on Steam in a few months :wink:

3 Likes
#11

In theory, with some minor modification, the installation runtime could run on Linux using .NET core - when I wrote the installer I made a point to at least attempt to make it platform agnostic. In fact target platform gets encoded into our installation packages for this reason. The problem, of course, is not only the time it would take to do the port with all of the testing but the effort it would take for ongoing maintenance. Every patch we release would now require twice as much testing unless we just told Linux peeps “here you go, wish you all the best” but that isn’t really the level of customer service we would prefer to provide.

2 Likes
#12

:open_mouth:

3 Likes
#13

Given that that’s basically almost every devs stance that doesn’t directly develop for linux (and the background of running games on wine) I’d actually be completely satisified with that, as are probably a lot of other wine gamers.

Atleast we’d have something :slight_smile:

But looking at Flaviens response, I believe I might wait a few months and just hope that the rest of the game works with steam ._.

4 Likes
#14

Another question: Have you tried manually installing .Net 4 using the workaround on this site?
(Would test it myself, but I currently dont have access to a machine that runs ubuntu or any other linux distro)
https://appdb.winehq.org/objectManager.php?sClass=version&iId=17886

3 Likes