Hello, I know as standard I can develop for most standard things with screens or like computers, how to make games for things like Playstation, Nintendo Switch, Steam Deck, or Xbox? There may be others but how to develop for them in Rust and is it even possible? If there is such a thing now (or coming), how easy and how close to one code base can it be? I am thinking separate game console build, touchscreen build, and computer build so I can separate these things out some but is there even a way to build for game consoles? All I need is 2d graphics, text, inputs, and maybe audio. X E.
The Steam Deck is a Linux computer. I don't think it's much different from any other Linux build, as long as it supports the resolution and plays well with the hardware. There's of course iOS and Android too, that should be possible, as far as I heard.
The rest are typically behind NDA and stuff, so I'm not personally aware of any public info. Only bits and rumors that don't mean much. Rust is very portable, though, so it may be a matter of having a compatible compiler in their SDK. If they bother.
Thanks, yes I know, phones and tablets mainstream supported, I see a lot of game consoles development going on in Bevy so maybe it will be in that, at this point, who knows?
aarch64-nintendo-switch-freestanding - The rustc book, nx - Rust, This is what I found thus far. Nintendo Switch could be built for. There are libraries for it. Other stuff maybe but unsure. Just look up "Rust lang Nintendo Switch" or some such thing for this stuff. Nintendo Switch is officially supported though hard to make stuff for now. X E.
From the things I've heard, Xbox dev is pretty close to regular Windows Direct 3D dev for the actual code so you might be pretty much good for the binary using existing d3d12 or a fork; though you're probably going to have to do a bunch of hacking on the dev kit so you can build shaders and package with the rust output. They have a public GDK that should be pretty close if not the same as the commercial dev kit, I expect someone has tried already.
Playstation is a lot more secretive, but I heard talk about it being a custom, even lower level API similar to Vulkan for rendering, but I don't know if they have a normal POSIX-like standard library so you might be rolling no-std. maybe bindgen would give ok results, but who knows. Same caveats around the toolchain for packaging.
Both have pretty much stock AMD x64 cores IIRC, so Rust's LLVM codegen should be fine at least.
Would it be the PS Vita platform? (just a guess after searching)
https://doc.rust-lang.org/nightly/rustc/platform-support/armv7-sony-vita-newlibeabihf.html
https://docs.rs/vitasdk-sys/latest/vitasdk_sys/
Playstation Vita was a portable gaming platform from 2012ish, it's been reverse engineered for homebrew software for a bit now. It may have some general similarities around eg packaging with modern Playstation development, but definitely not what you would consider being in the platform lineage - if nothing else it used ARM!