this post was submitted on 10 Oct 2023
320 points (98.8% liked)
Gaming
20057 readers
19 users here now
Sub for any gaming related content!
Rules:
- 1: No spam or advertising. This basically means no linking to your own content on blogs, YouTube, Twitch, etc.
- 2: No bigotry or gatekeeping. This should be obvious, but neither of those things will be tolerated. This goes for linked content too; if the site has some heavy "anti-woke" energy, you probably shouldn't be posting it here.
- 3: No untagged game spoilers. If the game was recently released or not released at all yet, use the Spoiler tag (the little ⚠️ button) in the body text, and avoid typing spoilers in the title. It should also be avoided to openly talk about major story spoilers, even in old games.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
That makes sense but I assumed that since it’s also on Linux, it would be a 0 effort port
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.
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.
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).
But even OSX was BSD, not Linux.
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.
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
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.
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?
No, it's native Linux with native Vulkan as well.
The Linux version of cs:go had native logic and wrapped rendering via valve's ToGL from before proton. CS2 is fully native though.
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.
Nope, its native
https://www.gamingonlinux.com/2023/09/counter-strike-2-is-out-now-with-linux-support/
There's no such thing as a zero-effort port
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.
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