An employee at Epic has mentioned that if someone with Linux development skills was interested, they would be more than happy to bring them on to develop a EGS application for Linux. The thread can be found here: https://twitter.com/CanalOCaraDoTI/status/110621899365072896... (scroll to the top for the beginning).
I understand SDL2 exists. I understand that Valve has "mostly" pulled off linux/macos support. But, is it really worth it from a business perspective for all game developers to support linux? How big and wide do your margins need to be before it makes financial sense to fully support both operating systems? How many features (or even titles) will stay in the backlog because your developers are busy chasing down the 5000th weird linux network/GPU/sound bug that only occurs on this one kinda-old version of Ubuntu?
And by support I mean a one-off build for the platform and a public forum where users can ask and answer questions of other users. Maybe if you're lucky they'll do a new build when a patch is released.
Linux users aren't asking for much, and Epic has been more than just dismissive to them. They've been outright hostile, doing things like adding checks to make sure the game isn't running under Wine.
It's simply not worth it when 0.3% of your customers represents more hardware and software configurations than the remaining 99.7%.
Generally speaking once a game developer gets it working on Ubuntu the Arch wiki guys will happily figure out the rest on their own.
There's zero chance these for-profit companies are going to open source the current game that they are selling.
As other people have commented, the usual trend for Linux support appears to be that the developer needs to support the most recent version of Ubuntu (or maybe LTS), and anyone not using that version does the legwork necessary to make it work on their setup. And for consumer versions of Linux, Ubuntu is likely to be by far the most popular distribution.
Game developers could do lots of things to support Linux, but many prior attempts to support Linux gaming have shown game developers that it's generally not worth it from a resources perspective unless the engine you're using already supports Linux and you don't need to do additional work to get your gaming running on Linux.
Ideally this is how it would be. Develop the game targeting Windows, and simply don’t do the things that unportably tie it to Windows. If you develop it from the start as cross platform, then it shouldn’t be some gargantuan effort to port it. It shouldn’t take that much longer to use platform-neutral APIs than the Windows-only equivalents.
Then just fling off a “totally unsupported Linux build”, stick it on an FTP server, ignore support tickets mentioning Linux, and let the Linux people figure out how to get it working—they will! Let them figure out their driver problems or which distributions ship the right library dependencies. A totally unsupported build is at least better for Linux users than abandoning the platform entirely.
I think a lot of games fail to work on Linux not because of the support costs or the platform fragmentation, but because the developers just don’t care or they choose engines and technologies that are not cross platform. It just never crosses their mind to do it differently.
Also most game devs don't have Linux machines to build or test the game on in the first place.
I thought about it once, tried installing Ubuntu-- it wasn't as simple as I'd like, but eventually worked.. except it didn't seem to be aware of the GPU and was running at 640x480 or some shit.. deleted it.
Now, same thing happened with one of the worms games, Team17 was dismissive and rude. I ended up just getting a refund. I've been a fan of the series since the very first one, i've bought a bunch of their games over various systems, I own a copy of worms 3d on both GameCube and ps2, but I don't plan on buying another worms game or anything else they put out any more.
Nothing prevents you from providing your own preferred versions of most of the dynamic libraries along with the application, however. It should be possible to limit external dependencies to libraries that actually care about maintaining compatibility.
This way they have one binary that runs on all the modern distributions, then packaging is only to integrate with the package system, menus and stuff (and is optional).
There's also this: https://appimage.org/
So honestly, people complaining about Linux fragmentation haven't done enough research.
For me, that would honestly be the best solution to the OS decision. I could just connect it to my same monitor on the second input, and use the usb switch to just switch peripherals.
And it loses one of the big advantages of convenient couch gaming.
Not really. Most hardware is very standard these days, which is why you can install Ubuntu on most any laptop or desktop and have it work with less than or equal issues than a Windows install.
Amd and Nvidia both have Linux drivers that work on all the popular distros.
The reason devs don't even bother with Linux is because there isn't enough people that are playing on Linux.
This is actually one of the root causes. It would be SO MUCH EASIER, for me, an app developer, if every linux user used centos, or ubuntu, or mint, or whatever the hell. Don't care, pick one. But, customizing is part of the fun... anyways.
Also yeah, desktop Linux is about 10% of users, depending on who you ask. Worse for gamers, although that's just feedback loops.
There's one more thing though, which most people aren't aware of... driver versions. Drivers often ship game-specific hacks for performance fixes. It's an insane, unspoken practice that occurs because some developers will only test heavily on one mfg GPU. Right now, nvidia is taking the brunt of the work because consoles are AMD based.
What is the state of vulcan across drivers and engines?
Doom 2016?
> What is the state of vulcan across drivers and engines?
Quite good actually. Intel has older generations supported than on windows. There are 2 mature AMD vulkan implementations.
Also through investments of valve there is a new shader compiler in the works that got merged in mesa which helps quite a lot. The performance is about equal, but sometimes faster under windows (I didn't look at benchmarks of 2020). Oh and vulkan 1.2 is implemented in mesa 20.
Oh and it's vulkan not vulcan
As I understand it, this is the direction Steam is heading by running games in containers.
Having a standardized Linux image with containerization support shared across the entire industry could be a really powerful tool for game developers who want to target Linux but don't have EA's budget. Over time, this could put Linux on equal footing with Windows in terms of platform support cost.
Although I think the vast majority of their games don't work on the most recent OSX release. Depending on your perspective, either Apple pulled the rug out from under them, or Valve is letting their code atrophy. Maybe a bit of both, but my opinion is more of the former.
Music Production has been hit hard by this same move. Plugins and virtual instruments that people have been using for years are all gone from support. All the open source plugins are out right now. Everyone is holding off and I am glad I use Linux and Windows 10 for music.
There haven't been many good reasons to release a 32-bit only macOS app for some time. If Valve is at fault, it's that they didn't require publishers to submit 64-bit builds for macOS years ago.
That's the direction I'd like to see steam's containerization go.
[0] And frankly it is only slightly easier if you write FOSS software.
For FOSS projects, everything gets easier once you get it accepted in the package repositories, and if your project is popular enough, you can usually get someone else to do it for you.
In both cases, using a language that has a cross platform dependency manager eliminates a huge number of compatibility problems. Also, keeping libraries reasonably up to date also helps prevent problems from happening. Updating every two years should be sufficient to maintain compatibility with most Linux distributions.
Also, software vendors don't have to worry about every Linux distribution, just pick the top one or two and let users support the rest for you.
Open source is a million times easier. Your source is available. It's up to the distro's maintainer of your package to deal with compiling and binary compatibility.
That's bullshit though. Why would you trust some random community maintainer to get between you and the user? Now when shit goes wrong there's one more person in the loop of blame to deal with. There are famous incidents of maintainers introducing problems to otherwise correct software, and ignoring the developer.
"I am constantly getting email from users reporting bugs that have been fixed for literally years who have no idea that the software they are running is years out of date." -jwz
How is this considered a sane way to distribute software!?
If you're using any engine even better, all of the major ones are cross-platform anyway and abstract all the nastiness away.
2. I've been making some UE4 projects recently (as im getting back into game development as a hobby) and the toolchain to cross compile to linux is well made and easy to use (and even easy to dockerize).
I think unreal engine support of linux is probably the better barometer of Epic's stance towards linux than their not-so-fully-featured launcher/store (which is many years behind steam).
Epic's CEO, Tim Sweeney, is extremely negative on Linux if you check out his Twitter feed [2] and I get a feeling from reading his comments that he despises Linux with passion.
[1] https://news.ycombinator.com/item?id=19844241
[2] https://twitter.com/timsweeneyepic/status/964284402741149698...