this post was submitted on 10 Oct 2023
321 points (98.8% liked)

Gaming

20015 readers
952 users here now

Sub for any gaming related content!

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] -5 points 1 year ago (6 children)

That makes sense but I assumed that since it’s also on Linux, it would be a 0 effort port

[–] [email protected] 39 points 1 year ago (2 children)

In the earlier days of OS X this was true. A port from one to the other was somewhat trivial. However, Apple has done Apple things and tried to invent their own gaming library API after killing off OpenGL support on Macs and they've probably been up to some other buggery since then as well. Porting to Mac is probably equally as difficult from Windows now as Linux, and Linux has overtaken them on number of people who are playing on Steam.

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago)

They still have some pretty old version of OpenGL and Metal was a bit before Vulkan, so it’s sort of a lightning vs USB C situation.

I don’t believe that it was easy. Since it started macOS was based on BSD, not Linux, which is quite different. They also use different types of binaries and the similarities between kernels should end beyond the BSD compatibility layer. See https://wiki.freebsd.org/Myths#FreeBSD_is_Just_macOS_Without_the_Good_Bits

[–] [email protected] 12 points 1 year ago (1 children)

Games have never been “trivial” to port to Mac, why do you think there are so few games that have been ported? Unless you write it for macOS, it’s just not easy or even worth it to port, has been since the Apple II days.

[–] [email protected] 3 points 1 year ago (2 children)

I meant the trivial portion would be porting back and forth between linux and early Mac OSX, making it a two-for-one proposition (though back then a lot of companies still chose not to do the linux port).

[–] [email protected] 2 points 1 year ago

But even OSX was BSD, not Linux.

[–] [email protected] 1 points 1 year ago

OSX was BSD based as well. Mac OS 9 and before were proprietary OSes. I don’t remember what the graphics underpinnings were, but I do know that porting directx to system 8.6 was a gargantuan task and the Mac ports were always 1-2 years behind pc.

[–] [email protected] 14 points 1 year ago

macOS is BSD based, not Linux based. Different graphics underpinnings as well. Apple has released some helper layers to assist in porting, but it’s still no cakewalk.

[–] [email protected] 7 points 1 year ago (4 children)

Isn't the Linux version just the windows version running with the usual compatibility layers (proton or whatever)? In other words, not an actual port?

[–] [email protected] 17 points 1 year ago

No, it's native Linux with native Vulkan as well.

[–] [email protected] 14 points 1 year ago

The Linux version of cs:go had native logic and wrapped rendering via valve's ToGL from before proton. CS2 is fully native though.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

This is far from a black and white answer. A lot of the first gen steam machine 'ports', including those from Valve, Aspyr, Feral and Virtual Programming used source code level wrapper libraries to convert D3D calls to OpenGL. This added a little bit of extra overhead to the port so a lot of these early ports suffered a little slower performance (in my opinion an average of about 15% slower). These ports were compiled from source code so they were still native ports, if a little half-assed for time and manpower's sake. As time went on Valve and VP's wrappers improved to the point that you could get 1:1 performance or sometimes much better performance running the port under linux (for example VP's wrapper would multi-thread the renderer even if the original D3D renderer was singled-threaded). Feral went on to re-code a handful of their later ports from D3D to Vulkan, again, achieving better performance under linux. A few game engines were written with linux in mind from the start, such as The Talos Principle/Serious Sam 3, and those titles, in my opinion, would be best to use to compare the relative performance of the two OS's at that time.

Nowadays you still have a fair amount of indie titles coming out with native linux support. Not many larger titles in recent years, but you do still get some such as Psychonauts 2 and stuff from Paradox. Proton has gotten so good now that many games will run better on linux from day 1 than on Windows-steal-yo-data-11.

[–] [email protected] 6 points 1 year ago

There's no such thing as a zero-effort port

[–] [email protected] 1 points 1 year ago

It would be, if you use macOS on an intel CPU with an AMD GPU.

But porting it to an entirely different CPU and GPU architecture with entirely different graphics API (Metal) makes no sense whatsoever.

[–] [email protected] 0 points 1 year ago

It could be a 0 effort port but there will be a ton of working fixing issues and making sure it works on new OS versions etc