Any chance of supporting Linux / Wine+DXVK?

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

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

1 Like

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

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

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

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

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

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

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

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

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

:open_mouth:

3 Likes

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

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