Jump to content
Dante Unbound: Share Bug Reports and Feedback Here! ×

Mac/Linux ports and Vulkan backend


jefferyrlc
 Share

Recommended Posts

As a primarily Linux user, I would like a native port of this game. Thanks to steam proton, I can play this game on my machine, but it's far from stable.

The first thing I'd like to see is a Vulkan backend to the graphics engine. Pretty much every modern graphics card supports this API, and many modern features are going to be available for this. Windows 7 is losing support in 2020 and along with it, DirectX 11. I know Windows 10 can support DX11, but it will be legacy and not likely to get new features. I know MacOS won't support Vulkan natively, but they have the Molten project.

With Valve's proton project, and a growing wariness of personal privacy on Windows 10 coupled with the aforementioned discontinued support for Windows 7, making this game cross platform on PC would be the best approach forward as Linux will take more and more market share. This is also in part to Linux's general lower overhead during runtime and better support for legacy hardware. Not to mention AMD's open source drivers and Nvidia's generally very good Linux drivers, gaming on the GNU/Linux is not the joke it was even 2 years ago.

Edited by jefferyrlc
Grammar correction
Link to comment
Share on other sites

47 minutes ago, jefferyrlc said:

As a primarily Linux user, I would like a native port of this game. Thanks to steam proton, I can play this game on my machine, but it's far from stable.

The first thing I'd like to see is a Vulkan backend to the graphics engine. Pretty much every modern graphics card supports this API, and many modern features are going to be available for this. Windows 7 is losing support in 2020 and along with it, DirectX 11. I know Windows 10 can support DX11, but it will be legacy and not likely to get new features. I know MacOS won't support Vulkan natively, but they have the Molten project.

With Valve's proton project, and a growing wariness of personal privacy on Windows 10 coupled with the aforementioned discontinued support for Windows 7, making this game cross platform on PC would be the best approach forward as Linux will take more and more market share. This is also in part to Linux's general lower overhead during runtime and better support for legacy hardware. Not to mention AMD's open source drivers and Nvidia's generally very good Linux drivers, gaming on the GNU/Linux is not the joke it was even 2 years ago.

Adding Linux/Mac support isn't just a case of clicking a "compile for Linux" button so DE would have to maintain a whole second codebase for this which is not likely to be financially viable to support a fairly small subset of users. I obviously don't know what their code looks like but they could also be relaying on a lot of Windows-specific tech that simply isn't available on Linux.

OpenGL on Macs has been left rotting for years as Apple push their Metal API which is pretty terrible and Apple won't touch Vulkan so a third party is having to tackle that. Macs just aren't designed for gaming.

Link to comment
Share on other sites

Never claimed it would be easy. But saying something to the effect of, "hey, people are interested in this!" is better than saying nothing at all.

Also the idea of, "DE needs to make money so they can't invest resources into that," isn't a helpful argument. If we let cost and difficulty stop us from doing things, then might as well shut the whole studio down along with the game. Some risks do need to be taken.

Link to comment
Share on other sites

I'm not saying that DE can't invest, what I'm saying is that it would be a huge amount of work (ongoing forever) to maintain a codebase for a fairly small playerbase. Obviously I don't have actual numbers but should DE hire/devote a big chunk of their dev resouces for a game client that would likely not even feature a double-digit percentage of their playerbase? Those devs would not be advancing the game in any way, just duplicating it, and on top of that you have to rip a chunk of your QA out to QA the new builds as well so it would actually be a drag on the dev process. Then you also have the fact that "Linux" is not a single operating system, it is a whole mess of them that trace their roots back to Red Hat or Debian to add to the complexity of a Linux version. Yes you have Windows 7, 8, 10 but in the Linux world you have a couple of dozen widely used variants before you even get to the niche ones and DE would have to test them all. Even being generous to DE we can all admit their QA is fairly light and the PC players do a lot of that for them.

From a business point of view a Linux client doesn't make sense financially unless it would accomodate a certain percentage of the playerbase and again I don't have actual numbers but I would guess that it would need to cover at least 30% of the playerbase to be viable. It simply wouldn't cover anything like that and that is very likely the reason we don't have a Linux client already. Frontier did their best with a Mac client for Elite: Dangerous and had to give up because of the technical challenges meant it just wasn't feasible to continue it and ED players are paying by the season.

Edited by Shalath
Typos
Link to comment
Share on other sites

Another one of these threads.

I'm not gonna say its impossible to port but its very ridiculous hard to port because Apple made it that way. Apple would prefer you don't put windows products on their machine and use theirs  and this says a lot for gaming. If a game was built on windows initially it will not run out of the box on mac. 

DE has to have a team dedicated to just making a new complete build that is completely different from the windows build in every way plus finding software that they would normally use on windows but the equivalent that only works on mac will also be difficult.  plus bug reports from changing so much code is going to be a headache.

Honestly in my opinion it is not worth it, but if you can find someone that makes a program that acts as a medium between Windows and Mac OS maybe DE could bridge the gap with less work.

But that in it self may have too many self underling problems with using a third party. 

Link to comment
Share on other sites

Okay so a Mac port wouldn't be worth it. A Linux port would be easier than you think, Even with some distribution differences, they use the same kernel/drivers, the same video system (X/Wayland), the same audio server (Pulseaudio). And if they can't afford to do a full port, making the game support Vulkan would do wonders for getting the game more stable with Steam Play (proton)/wine. Plus the move to Vulkan would be a good investment for future proofing the backend.

Link to comment
Share on other sites

On 2019-07-12 at 10:38 PM, jefferyrlc said:

As a primarily Linux user, I would like a native port of this game. Thanks to steam proton, I can play this game on my machine, but it's far from stable.

The first thing I'd like to see is a Vulkan backend to the graphics engine. Pretty much every modern graphics card supports this API

It's one thing for the hardware to have support for it, it's another thing entirely for the industry to support it. Currently, only Id, and Unreal (iirc) have released anything serious, but neither actually make use of the API as intended (mostly Aync stuff).

Steve did say that they would like to look at Vulkan at some point in the future (was questioned in regards to a Mac port). But stated that they'd need to phase out DX at some point. DX9 just got phased out, but DE's DX11 exclusive renderer comes out later this year(?), and that was a code redo. If there is a Vulkan client, it'll be a ways away - I recall Steve tweeting about the team getting to focus on using many of the new DX11 exclusive techniques for the upcoming renderer.

There are other things to consider outside just the hardware support though (it's nice that Vulkan supports Win7 but DX12 does not for example):

Since you use Linux, you should be intimately familiar with the process of having an issue with your distro, and being lost at sea as to how to fix it - I know i am (Once got sick of looking for a fix for a pulseaudio issue and just ended up re-installing the entire distro in frustration). That sort of extends to Vulkan/DX12.

Since the "magic" layer of the DX API has been put in devs hands, the onus is on them to sort out all the little things the driver did in the background. If your API of choice has little support on the ground, you're going to have an extra hard time if/when you run into issues (because you'd basically be required to solve them yourselves). DX12 naturally has a leg up in this regard since people have carried though the versions (baby duck syndrome?), and MS have really good support for the API itself (Docs, features, etc.).

If big Dev studio's start doing the work (and releasing their work to public) i'd say the prospect gets stronger that DE actually move to it since Devs are going to be doing the gritty work anyways... But keep in mind where Ray tracing first popped up? Nvidia worked with MS directly to get it incorporated into the API. The Vulkan support was mostly 'experimental' (at last time of checking). If that sort of support for DX12 continues, DX12 is likely what most people will target.

Edited by MillbrookWest
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...