Are games ported for linux any different than native linux games?

Hello,
I heard about this company Feral Interactive which is porting various games for Linux.
As far as I understand Linux ports are not running natively.
I know that console2PC ports often suck hard so I was wondering if the same applies for Windows2Linux ports.

Thanks.

I am not a software developer or have any programing experience, but the reason I think most console to PC ports run so poorly is because software developers or programmers don't have the time to optimize their PC ports. There is such a huge difference between an console and an PC, that to do it right you are designing a whole new game. Since Windows and Linux both run on a PC I would think it wouldn't be so hard to port an Windows game to run on Linux natively. The problems I would expect would be the shortages of drivers for graphic cards, but if you are already running Linux than you should already have all the drivers you need. If someone else has a different opinion than me please post it here.

I believe that the poor performance/optimization with ports occurs because of development libraries. Newer DirectX APIs either require a lot of mucking around to run in wine, or they wont run at all under Linux, because of proprietary stuffs. The games that are developed with DirectX in mind in the beginning, but then want to add cross-platform support later on is where the problem lies. In order to do that they essentially need to rewrite their entire game using a Linux compatible API, like OpenGL or something. Most companies don't have the time to do that properly, or some even outsource that task to companies dedicated to writing game ports.

This same problem occurs with libraries and APIs other than DirectX/OpenGL, those are just the main ones.

Also in Linux, the drivers for graphics cards have always been crappy. They are always getting better and better, but to me it is unreasonable to expect equal levels of performance across Linux and windows with an intensive game until the drivers get better.

There CAN be a difference.

There's debate whether the Linux version of the Witcher 2 is native, due to it utilizing a eON wrapper, same for Bioshock Infinite. It basically converts DirectX calls over to OpenGL.

The port for Two Worlds was just a properly tested wine configuration, but it's an older game, so it works fine.

Games like Mad Max, Deus Ex: MD and Cities Skylines for example are all truly native. Utilizing either OpenGL or Vulkan as it was intended.

3 Likes

I mean the port I played ran great, even better sooo.... idk

Changing dependencies and libraries from one industry standard to another should be fairly straightforward.

In fact, if I remember correctly, I've never had issues with Linux ports. From lightweight to intensive, old to new.

I've only played maybe 30 games on Linux so I'm probably not the greatest authority on the issue

Well, without getting too technical, making console to PC ports is very similar you can make very good port or very bad. Of course for some games it is much easier, some game engines support Linux some doesn't, in the second case you have much more to do but basically it depends on how much time/money you spend on it.

In your opinion is AMD or nVidia better for Linux gaming?
I found article showing Benchmarks of Bioshock Infinite running on Ubuntu, and they claimed that the AMD drivers were so crappy that they severely bottlenecked the GPU to less than half of its potential. It was an older article comparing R9 290 and GTx 980 so maybe there is an improvement with AMD drivers for linux 2 years later.

I will be making a Linux Gaming and 3D Modelling (Blender) PC and I was wondering if buying an AMD Vega would be a mistake for the aforementioned reasons.

If you don't mind using a proprietary driver, than frankly, NVIDIA is better.

The AMD open-source drivers are fantastic: but there can be issues with newer titles, and incompatibilities are there with some games.

The official NVIDIA Linux driver shares much of the same code base with the Windows driver, so it truly is a good driver.

As for 3d modeling, they seem to offer proper support for both CUDA and OpenCL on the NVIDIA side.

2 Likes

On the hardware side there is very little difference between modern consoles and PCs. Both are using AMD64 processors with and "regular" AMD/nvidia graphics. So the quality of ports really comes down to how much time/money the porting company is willing to invest.

Exactly this. If a company rewrites the renderer to use OpenGL and invests time in optimizations expect great performance. When a half-assed translation layer is used, not so much.

AMD is making great progress and is really committed to their open source drivers. But right now they still have ways to go with both compatibility and performance. So if you want to "just play", go nvidia.

1 Like

Games ported to linux, or anything really, are the same all around. I think you have the same misconception I did before learning about the porting process. The code for the overall game is the same, for example stronghold 3 is the same game overall in linux as it is in windows. The same scripts can be found but some things have to be rewritten.

What Feral Interactive does is a full system to system conversion of a game. Its still a port, but rather than something like a wine wrapper for something and its just packaged that way.... Well take it this way, right? Deus Ex Mankind Divided (DXMD) is a conversion. They took the DX11 and 12 calls and converted them to OpenGL. You cannot, at the moment, run DXMD, or HR for that matter, in wine due to the amount of calls that it makes to DX11. HR might be better now with its recent engine updates for DX9 but I haven't had time to test it lately. Anyways, because wine itself cannot handle those sort of calls yet, though it will soon, it has to be ported over to something else, openGL in this instance. Eventually as vulkan seeps into more and more normalcy in game development you'll find that a lot of Vulkan games, and indeed OpenGL games, will run fine in wine as it doesn't have to translate any calls. All it has to do is install whatever libs that it wants for the windows calls and it will run just fine.

A proper port has everythin done to make it run as a native game. A broken port could be any number of things done wrong. Example being that if someone ports something like Halo Wars but leaves in the console menus or something like that. Or maybe something along the lines of EDF coming off of the 360? Hmmm... Well I'd have to think about the EDF example a bit more I think... but where the game worked but ran like shit and is now, for the most part, fixed and runs fine on the new platform. You get the idea.

Being a native game doesn't mean much more than being ported from windows. It just means linux was the first intended market.

Edit:

I'm not sure I made my vulkan example very clear. Something in vulkan in windows actually runs 1:1 in performance in wine. DOOM for example doesn't need any more calls than the windows exec calls and maybe file recall. There are also directX extensions that are already in openGL so porting from system to system becomes much faster in some stances. If I were to port a game like Unholy Heights on steam from windows to linux it actually wouldn't be all that difficult because a lot of the 2D render calls are similar.

1 Like

Thank you.
I strongly dislike how Intel and nVidia are treating their customers and their overall approach to the markets as well.
I moved to Linux to stay away from proprietary software, telemetry, privacy-breaching policies etc.

AMD are certainly far from perfect and most of their products used to suck but I feel they are doing something good with the Threadripper platform and the RX Vega so I'd like to support them. Maybe I will suffer from this choice in terms of game compatibility and performance, but so be it. Can't support oppressors out of convenience anymore.

1 Like

AMD also just released a new thing called ProRender or something for Blender, so their commitment to open-source is really cool.

You won't get a vastly inferior experience to NVIDIA.

I will also say that the open-source drivers tend to play nicer and have a better overall 'feel' with the Linux desktop, if that makes sense.

I didn't know there wasn't a lot of difference between modern consoles and PC, good to know.

I figured the difference between a great port and a poor one was how much time and money was invested.

I would purchase an Ryzen 1500 or 1600 if doing only light to medium computing tasks, if you need more than 4 corse the 1600 is the least expensive option, the only reason I am purchasing the 1700 is I need the eight cores because I will be running two to three VM at a time. If you are planning to mess with any type of passthrough I would recommend either the Asrock X370 Taichi or the Gigabyte x370 Gaming 5. These two motherboards seem to be less of a headache to setup with the Asrock being the less of a headache .

I will get one of the Threadrippers. Thank you for your suggestions though.

That's probably less to-do with their commitment to open-source(not to say that that there isn't any) and more to-do with their re-invigorated commitment to break into professional markets. Case in point: Pro Render is not open-source and they are working together with all the big DCC application vendors in integrating this renderer into the tools. Essentially they are trying to break Nvidia's CUDA Renderers dominance.

1 Like

Just listen to the linux creator


(I'm sorry but reading your post remind me of that and I just had to post it :imp: and even if it is 5 years old it is still valid which is actually pretty sad.)

Ah my bad, didn't fully understand what it was. Figured it was open-source because it was with Blender, I forgot they released it for other 3D programs as well.

Modelling works fine, but realize that cycles support is very limited with OpenCL, particularly on linux.

That is awesome, but I wouldn't get too excited about it. Blender has excellent renderers and the single largest problem with many of them is bad integration. I wouldn't trust AMD to have solved that.

Baikal is also available, but I don't know of any blender plugin https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRender-Baikal. Interestingly there's a whole lot of references to ProRender in there.

Would you please make me stop defending nvidia now?

I would be looking at the Threadripper to except I have a feeling it would increase my budget to the point where it wouldn't make sense. Meaning it will increase my budget by another 1,000 to 1,500 on an already $8,000 dollar budget.

@DoctorDemand

Sorry to necro, but I just found some more information on ProRender.
From http://gpuopen.com/gaming-product/radeon-pro-render/

We will open source soon, stay tuned.

With AMD open-sourcing usually takes a while though :smiley:

1 Like