@aeva @glyph family of operating systems that share the same underlying kernel and userspace.
* Distributions have specific patch sets, it's not the exact same. there's multiple "channels" too, like LTS but for the most part the kernel functionality remains relatively the same
** not every distro uses glibc, polkit, dbus but a majority of them do and you can pretty much expect a majority of them to.
the only reason i say this is not because I'm a linux truther it's just i had this broken perception of *BSD. I thought that FreeBSD, OpenBSD, NetBSD were more or less distributions that package around a "BSD" kernel. In reality they have wildly different features. OpenBSD does not support freebsd jails and while at some point there was a common ancestor (386BSD) they kinda drifted away over time to the point that it's not the same thing. I can more or less assume that most distributions support features like cgroups, namespaces and so on (useful for containerized environments and just process isolation).
@puppygirlhornypost2 @glyph I think distros putting everything in different paths, picking different init systems, different audio subsystems, and little things like glibc backwards compatibility breakages are very significant differences. That is a massive permutation space! I can't just simply make a linux build of a game for example.
@aeva @puppygirlhornypost2 right, even to the extent that one could, with a truly unreasonable investment of effort, make a "linux version" of some software, there's a vast gulf between trying to do that for a server-side thing that mostly runs in Docker and exists in a highly abstract computation space, something that integrates tightly with server-side stuff like systemd, and then something that actually makes pictures and sounds on a "desktop"
@glyph @aeva sound is the scary one. JACK, pulse and pipewire come to mind. at least there are things like OpenGL for graphics, but I don't think there's a unified cross-platform audio library that abstracts over software + hardware mixing. Even if there was... I mean, software and hardware mixing are two different things, even if you don't actually know what the difference is.
@glyph @puppygirlhornypost2 side note, this straw poll informed my current thinking of how best to do the thing: https://mastodon.gamedev.place/@aeva/111880256412614427
I used to think that authoring a guix or nix package would be desirable, because guix and nix can be installed cooperatively on whichever distro and let me pretend Linux is a real platform. But that was what people wanted *the least*
@aeva @puppygirlhornypost2 oh wow, oh jeez. I have a lot of hypotheses about why this might have shaken out the way it did but I want someone to do a whole ethnographic study on this
@aeva @glyph @puppygirlhornypost2 just as an aside, getting nix installed on an immutable distro (bazzite in my case) involves a fair amount of distrobox wrangling in my experience.
@cthos @glyph @puppygirlhornypost2 oof I didn't think about that. I don't really have a good read on how popular immutable distros are or whether they're likely to be the standard at some point in the future.
@aeva @cthos @puppygirlhornypost2 FWIW the _massive_ improvement to reliability when macOS added SIP suggests to me that immutable distros are definitely the future
@aeva @glyph @puppygirlhornypost2 I know Silverblue tracks installs by default (unless you disable that option) so there are probably some numbers floating around. I also don't know how popular they are but I've been very happy with how "me-proof" Bazzite has been.
@glyph @cthos @puppygirlhornypost2 well, I'm open minded to the concept, I'm just mostly unfamiliar with it.
@puppygirlhornypost2 @aeva "OpenGL" is not sufficient for…graphics
@puppygirlhornypost2 @aeva like even forgetting for the moment that OpenGL is deprecated and Vulkan doesn't work yet, you still have to worry about distinctions like Wayland vs. X11, different compositor capabilities, different GPU drivers. Personally my "linux desktop" experience is just trying to make a desk accessory type thing that isn't even a video game, and it has been *maddeningly* difficult.
@glyph @puppygirlhornypost2 Apple deprecated OpenGL, but I'm not aware of any other implementer formally deprecating it, nor has the Khronos group.
I'm intending on targeting OpenGL ES2 for my side projects for the foreseeable future because it is adequate for my current projects, and it has the broadest portability reach between quality driver support and availability of compatibility layers. This is also a vote of no confidence on my part regarding the near future.
@glyph @puppygirlhornypost2 developing for wayland is "fun" because you can and will experience all of the joys of mutually incompatible platform conventions without having to actually run multiple linux distributions
@aeva @puppygirlhornypost2 sorry, was being a bit hyperbolic there. Apple's "deprecation" has had zero teeth because there's just way too much software using it, there isn't another cross-platform option at that layer. and nobody else has issued a formal statement. I just mean that it is widely perceived as the old, bad thing. Vulkan also mostly works fine for a lot of things, not really fair to say it "doesn't work", but there are driver support problems and other assorted weirdnesses
@glyph @puppygirlhornypost2 SDL3 GPU, Vulkan, and WebGPU would be attractive prospects if my hardware cutoff were much closer to the present day, but I want to make stuff that works on my 2012 desktop and other random low spec hardware. I think a very smart strategy for game studios that have the ability to adapt is to assume the majority of potential players are not going to have a convenient upgrade path to new hardware for a while and this problem is going to get worse.
@aeva @glyph @puppygirlhornypost2 WGPU can rest atop OpenGL although I assume some stuff breaks. Not sure about the others.
@aeva Vulkan works on a lot of older hardware though? As long as you steer clear of RT and stuff.
At Velan we treated 600-series NV cards as minspec and we shipped an engine with Vulkan as the primary backend.
It's an API with lots of problems and I personally won't work with it unless I'm getting paid, but "Vulkan doesn't work yet" does not agree with my experience.
@ataylor the machine in question has either an Intel GMA or an Intel "HD Graphics" GPU. It doesn't even support OpenGL *3*
@ataylor I checked and in a sense we are both right. the computer *does* support vulkan, however only via llvmpipe. the GPU appears to be unsupported
here's the vulkan-info output if you are curious: https://gist.github.com/Aeva/974bff1d5de1747756c2cade71a09ed5
@mcc @glyph @puppygirlhornypost2 so, assuming it can somehow run on top of OpenGL <= 2 and/or OpenGL ES2, and that GL2 / ES2 neatly encapsulate the feature set I'm interested in using, what would I gain from bolting WebGPU on top of it in exchange for the overhead of bolting WebGPU on top of it?
