Uggh. RedHat has a long history now of replacing working stuff with half baked, regressed-by-design replacements.
I’d really like to have a working Unix environment, and Linux stopped being that for me years ago.
More conservative alternative distros keep bit rotting due to upstream (usually RedHat induced) breakage. (SystemD, Wayland, DBUS, PulseAudio, Gnome 3, kernel API brain damage, etc)
Does anyone know of any alternatives? Is there a distro/foundation that will actually support open source Unix moving forward (BSD, maybe?)
I use OpenBSD on my Thinkpad T410i and Void on an older AMD box. You can use vmm to run alpine images to run docker apps or Linux stuff. My only gripe is firefox runs slowish on OpenBSD though chrome doesn't suffer as such. I use both and only chrome if FF cant handle the site im on.
9front's vmx is mature enough to run an alpine VM and then native x client so the vm runs without an x server and the linux applications run in individual windows giving you a seamless 9front/linux desktop that can run a full browser. This route is only for the truly enlightened ones.
Unix philosophy isn't about keeping the cruft around but building useful systems using simple tools. The idea is do not duplicate functionality if it already exists. I see so many programs attempt to sidestep dependency hell by baking in functionality. This is the overall communities fault and the fault of modern software development which somehow lost the art of pragmatism. The simple part has been long lost in a sea of complexity driven by ignorance and fueled by greed.
OpenBSD is a modern, innovative Operating System that has retained classic Unix sensibilities. I also think that, even as a lover of Linux, a Linux monoculture is bad for the world.
The simplicity of OpenBSD makes it much easier to learn deeply than Linux. Where Linux has tended to create magical veneers over complexity, OpenBSD has tended to simplify the underlying systems.
Also, the OpenBSD project is shouldering the weight of the world and deserves more credit for this. So much of OpenBSD has made it into other parts of the Internet ecosystem.
I don’t know enough about these domains to know whether there is anything intrinsic to the design of OpenBSD that makes it better or worse in this regard, but I suspect that if you are correct, it’s more a function of mindshare and number of people doing the work.
I think some of us feel that portions of the Linux world have made some wrong or at least undesirable turns for some things. It seems the choice is to either go along with those choices or improve other paths.
Also, not sure what issues you see, but there appear to be a bunch of the standard open source games in OpenBSD as you’d see in Linux. Obviously not the commercial games that have Linux ports, but that strikes me more as an issue of popularity than technical limitations.
Design and implementation are two different things. I can imagine an OS perfect for game programming, but I can't use it, because it's not implemented.
I tried OpenBSD for 2 months, and went back to MacOSX. First, package repositories were meh (either pay, or recompile from source, or never update).
Second, OpenBSD graphic driver support was just very bad - no drivers for GPGPUs.
Third, lack of drivers, applications / services for interfacing with the real world and external devices.
I come home, open my laptop, click on select monitor, and I see 3 monitors available in the WiFi network (two TVs, and a desktop monitor). I can just click one, and my display is mirrored in real time to them - I can play a video, and it is mirrored perfectly, and with audio. Same at work, want to show a video in the presentation room? Connect to the beamer per wifi with a single click, display mirrored, great. Phone detects wifi, laptop backs it up to network storage, synchronizes media, updates software, Smart watch synchronized, etc.
None of that worked with OpenBSD. I had to find a HDMI cable in the basement to connect the laptop to the TV, monitor, beamer,... I had to use a USB cable to connect the phone to the laptop, which I then couldn't back up or synchronize without a gazillion brittle workarounds, etc.
Losing support for all modern devices felt like going back to the stone age. Linux isn't really much better, but while I like OpenBSD design, philosophy, and parts of the implementation. The current implementation doesn't work for me.
Yeah, that was my point: of course the more popular platform is going to have broader support. So the question is whether or not it’s possible to improve the less popular thing. My guess is that, with investment in time, there is nothing that prevents straightforward improvements in support in OpenBSD.
Why would OpenBSD be worthy of that expenditure of effort? Because it does some other things very well—perhaps better than Linux (Unix simplicity) and macOS (fully open). Not to mention security.
It sounds like you want a feature set that isn’t in OpenBSD. Fine, use macOS if those features are must-haves for you. Or, if OpenBSD’s feature set is compelling to you, start hacking! As I said elsewhere, I think it’s an easier path to make OpenBSD into what I want than it is to make macOS / Windows into what I want.
As for hardware support, I selected hardware that is well supported by OpenBSD, and it works great. Is there hardware I wish was better supported? You bet. But I’ve felt that way since I started using Linux and BSDs (and OS/2 and BeOS) in the 90s.
In todays world of "throw-away" electronics, there are a lot of devices that I just want to "just work". By the time these are supported on OpenBSD (if I were to implement it), I'll probably be owning a different device.
This is sad, because while I can select the hardware for my laptop, I can't really select the hardware and devices I need to interface with.
That would be quite interesting, since it uses the exact same graphics rendering code Linux uses, both in the kernel via DRM, and in userspace via Mesa and Gallium.
Linux graphics support is quite good as long as your driver is open source and in-tree. I was just talking the other day with the graphics team about how we haven't really had any problems on Linux/Intel because everything just works.
Mac, on the other hand... oh boy. It's pretty much a disaster. There is no end of bugs in Apple's graphics stack, and no, Metal doesn't solve them all. The first time I ran the Metal port of my library, my MacBook Pro instantly kernel panicked. I have never had that happen on Linux.
Even the NVIDIA drivers on Linux are superior to macOS' drivers. The problem with the NVIDIA drivers is that they don't play well with the rest of the ecosystem, but they do work. The only area where Linux is behind in graphics is on mobile, where the GPU vendors are perpetually unable to write working drivers.
I'm a professional graphics developer and I prefer the tooling on Linux to that of macOS.
Like most software developers, graphics developers develop where the users are. That's why they predominantly use Windows. Some use macOS, primarily to develop iOS apps, which is, again, where the most valuable users are, particularly in North America.
Linux desktop market share, or lack thereof, has nothing to do with graphics tooling.
Sure it does, why bother with a market that not only lacks customers, it makes it a major hurdle to develop for?
While anyone on Apple and Windows platforms can enjoy Metal Frameworks, DirectTK, Unreal, Unity, CryEngine, PIX, Poser3D, Photoshop, Houdini, Cinema 4D, AfterEffects,...
On Linux, I guess having the freedom to use half baked copies of them, or hunting for libraries that should come out of the box with any graphics stack like 3D math, mesh handling and loading materials, is more important.
I suspect there are plenty of people in this thread who’d love to see top tier games and development AND run on an open platform. In that sense, OpenBSD and Linux are both closer to supporting high-end games development than Windows and Mac are to being fully open platforms.
Your initial analogy is wrong, then, since—if modern Linux is also bad for those things—then OpenBSD being bad for those things wouldn't thereby make it an example of the OS "retaining classic Unix sensibilities" that modern Linux does not.
So other than SGI and NeXT, which although UNIX based had their focus on other kind of development stacks, which UNIX sensibilities are so great examples of graphical applications and game development tooling?
I think you misread my statement? I wasn't disagreeing with you. Rather, I was pointing out—in way of explaining why everyone was jumping to argue with you or downvote you—that the most obvious reading of your comments are an incoherent argument, and you should probably clarify what you mean.
In your first comment, when you said "Like being quite bad for graphics programming and game development", you were implicitly forming the larger sentence: "[Retaining] classic Unix sensibilities ... like being quite bad for graphics programming and game development."
And—since the topic of the thread was "OSes that are better because they avoid going down the road of RedHat-like 'modern' Unix sensibilities"—you were implicitly forming a larger assertion: "[OpenBSD, because it retains] classic Unix sensibilities [unlike RedHat] ... [is] quite bad for graphics programming and game development[, unlike RedHat, which is okay at those.]"
And so that's what people tried to argue with you about, which I hope makes people's rebuttals to your first comment make more sense to you.
But then, in your second comment, you went ahead and said that modern Linux is equally bad at doing these things. So clearly the expanded form of your assertion isn't what you meant.
RenderDoc works great on Linux. I prefer it to the Metal debugger for the simple reason that it actually works without regularly crashing and popping up a "please file a radar" box.
Either you're talking about high-end gaming, in which case Apple isn't in the game at all - the only players are Microsoft and Sony, though Google is making a bid now as well with Stadia.
Or you're talking about low-end gaming, in which case Google probably matters most because of Android.
OpenBSD isn't performant enough to be a daily driver on a laptop, unless your laptop spends all its time plugged in.
The battery life on my X220 was a solid hour less under OpenBSD than under Debian, and it ran some 10 degrees hotter. Yes, this is post-apmd improvements.
I want to like OpenBSD but code correctness just isn't enough for me.
OpenBSD (and the other BSDs too) are also pretty far behind on things like wireless hardware. There just aren't enough active developers to get a lot of the 802.11ac stack implemented (and ax or Wi-Fi 6 is coming around the corner too).
If there was a current port of Docker for FreeBSD and Wi-Fi ac support, it would totally be my daily driver right now. Currently I still use Gentoo on my laptops.
It has been a long time since I used a BSD in anger, but aren't jails pretty much a take-it-or-leave-it system? Docker containers are an aggregate of Linux namespaces and cgroups and can be manipulated in a pretty granular way. I can, for example, share a networking namespace between two containers to have one inspect the traffic of the other (and do so easily).
Not saying you'd want to do that, but my understanding is that this is part of a lot of the clever networking you see in orchestration systems.
FreeBSD jails have some flexibility. You can choose to pass through the host networking as-is, or pass a limited selection of ips; I think there's a way to have a more separated stack that that too, but I haven't used it. You can allow raw sockets or not, you can shield the processes or not, same with IPC.
I haven't had a need to have a jail inspect traffic of another, I suspect that might be tricky. However I've used them successfully as a lightweight alternative to a vm for QA/dev environments -- use hard links for the base OS to save space, and give each jail its own ip and you get fairly cheap multiple boxes. I've also used it them to contain statically compiled binaries -- TLS terminator runs without access to much of anything, if the next vulnerability after Heartbleed was worse, it would be a lot harder to escalate vs common deployment with OpenSSL linked into a webserver; similar with an environment running ffmpeg.
There are already so many Dockerfiles out there and guides based on them. Plus you get filesystem layering, the cgroups, process limits ... I have a feeling it would be possible to build a container system that's Docker API compatible, but uses zfs and jails under the surface. I think that's what the old "unmaintained" port did a few years back.
I love Gentoo. It's a great developer distribution. I've been using it since 2003 I think, and the current Gentoo install I use I have continually updated since 2012. When I get a new machine, I just copy the existing install over and build a new kernel.
Same, been using it since 2002, my current image has been rolling since 2008, that's when I switched to amd64. Never cared about the performance tuning aspect, it's all about flexibility and control.
Gentoo doesn't use systemd by default, it has its own init system called OpenRC that's kinda sorta like a framework for sysv. Despite being shell based, it's very fast, my system can get from GRUB to Firefox in less than ten seconds if you enable autologin and add Firefox to your.Xsession.
Gentoo maintains forks of udev and logind, imaginatively named eudev and elogind. I use eudev, but elogind is unnecessary for me because I don't use Gnome3. But if that's your thing I'm not stopping you.
Pulseaudio is easy to remove by virtue of Gentoo's source based package model. Dbus less so; many applications have a hard dependency on it.
I think it's possible to use a BSD kernel, but you will very likely deal with a lot of breakage.
Gentoo is just so much easier to administrate that other distros it's unreal.
Unless you are trying to run software that explicitly depends on some of the brokenness from upstream (Gnome3) you can just setup a classic system that will behave the same way you're used to and honestly, I didn't encounter problems with software in that configuration
No. There are the xBSD derivatives which continue to aspire to being "unix" like rather than "windows" like.
This is probably controversial but my guess here is this; The bulk of the developer cohort doing most of the work in Linux userland these days cut their teeth on Windows, it is their internal standard of a "good developer OS experience" so when they build new things, they have that model as "good" in their mind.
The challenge continues to be software. If you are using the packages in FreeBSD (or other xBSD derivatives) it is not uncommon to see "package xyz does not have an active maintainer so it may break, if you're interested in becoming the maintainer go here ..." Not enough people to cover all the things that are pumped into the Linux ecosystem everyday.
And it is a bit too much work to re-create the old Sun Microsystems of old where the kernel and the core UNIX user land tools from BSD were combined with a bespoke window system, compiler suite, and hardware specific system libraries to make a product. Granted it was fewer than 1200 software people all told, when SunOS 4.x came out but they were all working for market salaries on the project full time. That's like 10 - 20 million dollars a year, not something you're going to do "for free in your spare time."
systemd was modeled after launchd in MacOS, rather than Windows. And the need for replacing SysV or BSD style init in Unix land has been acknowledge for a long time (see Solaris, for example).
I don't see it making much of a difference for developer OS experience though? Unless you are specifically developing for example a Linux distribution.
Sure, FreeBSD. The whole "braindamage" is still available, of course, but you can use anything else if you wish. Everything is conveniently available as both ports and packages, so you don't need to mess with installing things by hand.
I've been experimenting with OpenBSD, and it's been pretty nice. The code is beautiful, and a lot of stuff just works. Not sure how it will behave on a laptop though.
I bought a ThinkPad specifically to install OpenBSD. It's a great combination. I find OpenBSD much more straight forward and coherent than Linux. There are some bells and whistles that I wish it had, but in terms of the foundation it is wonderful.
How is the graphics support in OpenBSD for the ThinkPad, and which model?
I've found the recent P and X models underwhelming as far as hardware goes, and support in Linux hasn't been great in my experience. While I'd like to give BSD a try, I fear I'll have to deal with even more driver issues.
For example, all video out ports on my X1 Extreme are wired to the dedicated NVIDIA card, which forces me to either use Nouveau which causes kernel panics, or use huge binary blobs from NVIDIA, which I'm reluctant to do for several reasons, one of which is breaking my initramfs image and making the system unbootable.
I'm quite tired of the amount of these types of issues in the Linux ecosystem, so I'm very interested in trying something simpler and better thought out, as long as the hardware support is decent.
Only reason why hybrid kernels and Linux is popular is the stable driver API, otherwise recompilation is necessary (which was new to me when I discovered it).
OpenBSD is suited for simple workstations or as a tablet substitute, but I don't think the OpenBSD desktop will quite take off, unless driver developers will return to releasing obfuscated code.
That is for in kernel drivers, as stated. It something breaks in kernel, it just won't compile with the kernel, but user space drivers have great ABI compatibility as stated in the link you provided.
Not an expert though, might be wrong but the text makes it pretty clear
I think it would be great on the right laptop. Most of the OpenBSD developers use thinkpads, from what I can tell.
It wouldn’t fly at work for me at the moment, and I don’t do much computing at home, so I played around with it a bit on a laptop, but didn’t switch. The results were encouraging, though.
My biggest beef with it right now is the upgrade story, but that’s because I need to update my router (through a serial console!) and am afraid of what happens if I brick it.
The thing is, it takes a lot of resources to do this well and there is not a lot of financial incentive to invest in this area. Canonical gave it a really good shot with Unity and Mir, and received lots of criticism for doing so. If we're going to criticize anyone who does something differently, then we need to accept that the project sponsored by Red Hat is the one that everyone will end up being used.
Strangely that was not clear to me when I first started using arch. Probably because when I got to setting up networking it gave me the choice of the systemd way, or a variety of other ways.
But looking at it in relation to init systems it clearly says systemd was chosen.
That said, arch still lets you make decisions, unlike most distributions, where you become a consumer of other people's decisions.
If you want the most BSD-like distro, it's probably gotta be Slackware. It changes little between releases (just newer versions of the software it ships with mostly).
I’m worried that, with core dependencies like X11 being abandoned, the writing is on the wall for the hold-out distributions (I run Devuan and OpenBSD mostly).
I get that it doesn’t make business sense for RedHat to maintain parts of the open source ecosystem that will never drive consulting or support revenue, but that doesn’t change the fact that I want a computing environment that just works (including software that’s been stable for a decade, and isn’t constantly ported to the new shiny).
Consider: what would it mean for an OS to be "stable for a decade" in the face of generational hardware changes?
For example: we have 4K monitors now, and 8K monitors soon. OSes before ~2010 didn't really support DPI scaling (with mixed-DPI display layouts, etc.), because we didn't have those monitors; but now we do. OSes had to add DPI scaling support throughout the whole stack to support these monitors in the way people expected.
This required a nontrivial rearchitecting of the components of some OSes, because they had been built in a world where you rendered e.g. fonts by caching fixed bitmap tile-handles with the (non-DPI-aware) pixel size of the font as the key. In the case where you have two monitors of differing DPI plugged in, that cache spits out wrong tiles for at least one of your monitors.
So, what would you expect this "stable" OS to do when you plug an 8K monitor into it?
Or, another example: touchscreen tablet support, implemented by pen and gesture input events becoming the lower-level input-event stream, and pointer events being reimplemented on top of them. What would you expect your stable OS to do if you installed it on a tablet?
Sometimes, OSes have to rearchitect things. The reason is not always "FEATURE: now written in a cool new language!"; sometimes it's "BUG: it just doesn't got-dang work to do things this way any more."
Out of curiosity, why would you associate it with atheism? Since many (most?) Christian denominations believe it's forbidden to curse in God's name, it's actually more likely to have theistic origins.
I don't think it's a signal either way as to belief or nonbelief, though. It's more likely to just be a part of their vernacular.
Finally, as an atheist I can tell you that I have no need to avoid using the word "god". What's it going to do, cause a god to pop into existence if I say the name thrice? :) That would certainly be interesting.
Slackware's release cycle is way too slow and it gets slower with each release. The current stable version (14.2) was released three years ago and it doesn't support modern hardware. Additionally, due to a bug in the installer, it's impossible to install it on NVMe drives.
Also, I don't understand why does it ship with KDE4 instead of Plasma 5. Even in -current it's still the case.
I applaud the design and ideas in GuixSD, but the lack of support for non-free software is a deal-breaker for me. I wish they'd relax this requirement and added an optional official non-free repository with a limited selection of software. A fork with support for non-free repositories would also be great.
So far I've seen individual projects that have done this, but seem abandoned[1] or overwhelming[2] for a Lisp newcomer.
Just to clarify, these complaints are primarily about Fedora specifically -- at least in my experience RHEL (and CentOS) have been very solid. I just wish that Fedora had a model similar to Ubuntu, where periodic releases are targeted for longer term support (i.e., get patches for 2 - 3 years), and all the potentially breaking items go into the inbetween releases.
The biggest difference is probably that they seem to take a 'older' Fedora, and then stabilize it a bit before blessing it as the new RHEL, where Ubuntu just forks off the LTS from their regular release (and where a lot of people seem to wait for the .1 release of the LTS before actually using it)
This is true, but the vast majority does (if you use EPEL and RPM Fusion). I've also had pretty good luck using Fedora rpms from the same era. Gotta stay on top of CVEs tho so you don't end up running a vulnerable application.
> I’d really like to have a working Unix environment, and Linux stopped being that for me years ago.
That ship sailed very, very long ago. The moment the GNU/Linux community decided to implement their own desktops and not copy the standard Unix desktop - CDE, the die was cast. From then on we lost any possibility of having a unified standard desktop and instead we have two competing GUI toolkits neither of which can truly be called native.
I am still optimistic that perhaps Wayland will raise the bar for making and maintaining your own DE so high that due to practical considerations we will end up with just one de-facto desktop API.
I’d really like to have a working Unix environment, and Linux stopped being that for me years ago.
More conservative alternative distros keep bit rotting due to upstream (usually RedHat induced) breakage. (SystemD, Wayland, DBUS, PulseAudio, Gnome 3, kernel API brain damage, etc)
Does anyone know of any alternatives? Is there a distro/foundation that will actually support open source Unix moving forward (BSD, maybe?)