bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
34.97k stars 3.42k forks source link

Clarify target platform support #14078

Open janhohenheim opened 2 months ago

janhohenheim commented 2 months ago

Over the last years, quite a few issues came cropping up specifically on intel macOS. Here's a handful:

When https://github.com/bevyengine/bevy/issues/14054 was reported, @mockersf described it as "one more added to the pile". In short: our Intel macOS support is not too great.

Some of these Intel models are quite old at this point. New versions of macOS still support Intel chips, but limit the features available there. Meanwhile, Intel has recently ended support for the chips running in many Intel macOS machines.

This, in addition to our current handling of issues coming up with Intel macOS, makes the platform today already a secondary priority. We should be honest about this to

There should be a list of supported platforms somewhere, indicating which level of support they can expect.


The following was part of the original issue when it was called "Clarify Intel macOS support". Per the comments below, it seems to be generally agreed upon that Intel macOS should be a second-tier supported platform. I'll leave the following here for posteriority.

Given that Intel-based macOS are bound to be fully replaced in the near future, it's worth considering taking a stance here. I see the following possibilities:

BD103 commented 2 months ago

For reference, the latest Intel Mac was in 2019 / 2020, so about 4 years ago.

Braymatter commented 2 months ago

FWIW I feel like there would be an appreciable number of people using the latest intel macs for another 2-4 years, and Bevy should support it for another couple of years.

BD103 commented 2 months ago

FWIW I feel like there would be an appreciable number of people using the latest intel macs for another 2-4 years, and Bevy should support it for another couple of years.

I agree, but it's hard to test fixes for the above issues without owning an Intel Mac, which aren't sold anymore. It's really between dropping support for a platform that people are still using or continue supporting it, but not well.

cart commented 2 months ago

My personal vote is for "leave it as is". There is no harm in cataloging this information and making it available to people that encounter the issue and/or are interested in fixing it.

I interpret "leave it as is" as "support isn't a top priority, but lets record the info we can and if fixes are discovered that is great".

janhohenheim commented 2 months ago

@cart that's fair enough. What do you think about making this more explicit? We could have something like the following somewhere.

Tier one support

Tier two

I'm not suggesting changing anything about what is supported, just making it more explicit how the team already thinks and prioritizes these targets. The intentions behind this are:

Elabajaba commented 2 months ago

I think we need something like wgpu's supported platforms table.

https://github.com/gfx-rs/wgpu?tab=readme-ov-file#supported-platforms

My personal vote is for "leave it as is". There is no harm in cataloging this information and making it available to people that encounter the issue and/or are interested in fixing it.

I don't agree with this. IMO it makes for a bad first impression and makes bevy look amateurish when we claim to support all these different platforms and backends, but don't have a list of the major caveats when targeting eg. Intel Mac, Android, or GL.

FWIW I feel like there would be an appreciable number of people using the latest intel macs for another 2-4 years, and Bevy should support it for another couple of years.

MacOS gaming, especially for indie games, is just not worth supporting if you're trying to actually make money (it's generally around 1% of sales, though some newer post mortems I've seen have it even lower, and takes up significant development, support, and testing time). If you're lucky the sales will cover the cost of the mac mini and apple developer account that are required to even make mac builds. Adding on to that fact, we've never even had fully working support for it (and some of our intel mac bugs seem to be driver bugs that will never get fixed, as those drivers don't get updates anymore).

cart commented 2 months ago

To be clear, my position is "lets not close out these issues, and we should encourage people to both file them and investigate them".

I'm on board for attempting to encode the details of our platform support somewhere. Phrasing this as a "tier system" is a good idea and I agree that Intel MacOS should probably be in a "second tier" with qualifying text.

For both marketing and "reader attention bandwidth" reasons, that isn't something that should be directly front-and-center (aka directly encoded on the homepage or top-level readme). That is a level of detail and nuance inappropriate for those places. But I'm all for making this information available, encoded somewhere discoverable + link-able.

janhohenheim commented 2 months ago

Great, I'll rename the issue then and remove the X-Contentious label :)