Announcement

Collapse
No announcement yet.

A hard take on the state and future of Linux (get a drink before reading, it's long)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A hard take on the state and future of Linux (get a drink before reading, it's long)

    9 months ago I put my time where my mouth was and installed Arch Linux, and only Arch Linux, for my daily machine. Two days ago, I reinstalled Windows on another hard drive (please listen to my story before banning me for heresy). I gave Linux and Microsoft the same chance: I took the most modern (or nearest) version with every option that seemed to make sense for my usage, and gave them both a long test drive. Arguably 2 days of Win 11 is not enough to judge its quality, but since this is mostly a more enclosed and visually evolved Win10, which I used for years, I feel like I know what to expect. Also this isn't going to be about the state of Windows.

    Out of the 9 months where I used Linux squarely, I had three goals:
    1. Run Linux alone, no VMs, no dual boots, no Microsoft at all. Even when my job required MS Teams, I used it through the browser alone and did not install it. Leave MS behind for good and all.
    2. See what the Linux Experience was when given the (IMO) most Linux of Linuxes, Arch, and run it as I would Windows. I am a gamer, I am an occasional streamer as well, I run a ton of multimedia stuff, music, videos, online and offline. All that Windows offered, I needed Linux to offer it.
    3. Try to not only run everything on Linux, but compare honestly what was better and worse than Windows.
    Three positives came out of my time with Linux.

    One, I sincerely think the desktop experience is better. Whether with KDE Plasma or Xfce, Linux offers so many customisation options, so much openness in creating the desktop keybinds, visuals, placements, even smaller details like handling your notifications the way you want, how fast you want the taskbar to disappear when you have a fullscreen app...the level of customisation is simply making the experience far superior. I have left my KDE desktop not 3 days ago, and the Win 11 desktop, for all the simplicity of using it, is not going to equal it at any point. Everything feels competent on Windows, but slightly inadequate, not the way I want it, not good enough. KDE Plasma and Xfce gave me pretty much a pristine experience, although Xfce really didn't like it when I switched to 4K(taskbar and most stuff disappeared off the screen and I was pretty much forced to stick to KDE).

    Two, Linux is indeed giving you a rather full fledged experience. It took me 6 months before I decided that the experience wasn't worth continuing. If Linux had been half as incapable as to what most reviewers say about it, I'd have dropped out before a month. Linux does satisfy most requirements quite well, and doesn't really falter badly enough in any way that was meaningful to me. When it does fail (games that won't start), there are usually enough helpers and community users online to at least guide you in the right direction.
    A good example: I was an Overwatch player and the game was recently axed by the infernal monstrosity known as Activision Blizzard, and replaced with a pathetic excuse for a sequel called Overwatch 2 (which has broadly ruined the Overwatch experience and feel). On day 1 of OW2 coming out, I wanted to try it. And it wouldn't work. Lutris started Battle.Net.exe just fine, but Bnet starting OW2 would instantly fail. I went on Reddit to ask for help, and a nice person had already written advice on what program to use to make OW2 compatible. It worked immediately as a drop-in replacement for part of Lutris, and the game worked mostly well since. It would often fail on launch, but after 2-3 tries, it launched.
    Is that massively inferior to the Windows experience? Yes, because you don't have any tweaks to do, you don't need to compile shaders (which for OW1 was once every update so about 2 weeks, and for OW2 somehow became every single startup), you don't have to ask the program to start 3 times, you never need to call killall on it. But was it bearable? Yes, acceptably so to me.
    Linux gets a pass for running most things well enough that I can't call the experience unacceptable, and that's a large plus as a competitor.

    Three, Linux's sense of ownership of your machine is indisputable. Unlike MS's rabid forced updates, calling yay, paru, or pacman, felt like an actual tool that was designed to help me. I installed things when I wanted them, how I wanted them, and no force was ever put on me. The sense of privacy that accompanied that is also very strong. Linux gives you the feeling, from start to finish, that you are not a client of the Internet or any member of a greater botnet, but a completely independent machine able to tap into the Net rather than be its component. It's going from being a renter to an owner. That sense of ownership and privacy is completely absent in any platform from any big company, Apple, MS or Google.

    Those three positives really go to Linux's credit and I believe that they will never be displaced by any of the bigger companies. They are undeniably Linux's strengths.

    They however came with three negatives.

    First, Linux does cover arguably 95% of the terrain that Windows covers. But those last 5% hurt it much more than one might think. Most of us here(all of us?) are devs, so let me remind you of a painful memory: that one time where you spent 3 days debugging a thing that for the life of you wouldn't work right. You went home tired after day 1, disgusted after day 2, and absolutely depressed after day 3. Whether it worked at day 3's end or day 4's start, in the end, the effort left you drained, annoyed, mentally and physically unwilling to do anything but transform into a couch potato, preferably with alcohol.
    But what about that other time, where after 3 days of debugging, you realised that actually, the thing you wanted to do was not possible at all? That absolute fatigue of life when you put in hours of mental strain trying to get to finally crack it, thinking that it will eventually melt away, and then you get rewarded absolutely nothing for all your efforts. One of these moments where you regret having become a developer.
    Two examples of this: my new monitors, and Civ VI.

    One of my monitors finally died after years of good services, and I was itching to try that 4K everyone talks about. I bought a Gigabyte M32U, a solid beast with 4K 144Hz max framerate, nice colours, surprisingly good sound, all around strong. I installed it and ran it and was mesmerized by the 4K crispness of text, reading code hurt my eyes 10 times less, I stopped thinking that I needed to change my glasses(I actually do need to change my glasses...), it was one of these "There is no returning from this" moments. I even bought a second 4K monitor because looking at my other old 1080p mono made me cry (literally, my eyes kept refocusing and it was painful).

    When that monitor got installed, I wanted to test that fresh 144Hz experience. I went into Plasma's display settings and tried to set it to 144Hz. Not possible. The best option was 120Hz. I then did as a Linux user does, and went around to scour the internets to find the mythical config file or flag that would release me from the semi-great experience into the Greatest Experience. And after some 20 mins, I found it: my monitor was plugged into HDMI. My RDNA2 card handles HDMI 2.1. My monitor obviously handles it too. But the Linux Kernel doesn't. Which I understand, since there's not even 1% of Linux users that get and daily use 4K 144Hz monitors. But when I compared with how long ago the consumer-oriented Windows had HDMI2.1 covered, it stung. Sure it's only 24Hz, and it's really no biggie to lose 20 minutes. But to pay 800€ a monitor and to get a hampered version of it because Linux just isn't that interested in HDMI2.1 support, well, it did sting.
    Last edited by Mahboi; 26 January 2023, 02:11 PM.

  • #2
    Then there was Civ VI. I mildly enjoy the Civilization series and would call myself a very casual player. Never really felt like learning all the bells and whistles to play at a high level. It's a relaxation game for me, I explore a map, find random things, do whatever, and play poorly. A perfect example of something you go back to when you want to forget your real world troubles, you don't seek a challenge, you don't want any particular experience, just a nice relaxing game full of pretty colours and a very slow pace.

    After a long and not particularly pleasant day at work, I felt like playing this relaxing game, and so installed Civ VI through Steam. The Proton layer did its job and let me launch "something". The Thing was the 2K Launcher absurdity, another publisher piece of crap that is jammed down your throat as a way to lure you into their ecosystem. I can appreciate that Steam can and should get competition, but most of these bring 0 improvements and just waste space. Except this one didn't just waste space, it crashed. It crashed religiously, like a sort of bomb countdown game, you had 1.5s to click "Play" to start Civ VI, or else you were facing a freeze, which on second launch, wouldn't give you the 1.5s and just crashed before showing you any GUI. You were set to uninstall the entire game, wipe clean all the data, and then reinstall, and had 1.5s to try again.

    That night, I spent over two hours trying to launch Civ VI. I un/reinstalled 3 times. I had to scour for information on where Steam kept files on Linux. Had to do many greps, finds, and later fds, to get what I wanted. I manually, painstakingly, patiently searched for everything with the ID number 289070 and deleted it. I'd like to remind you, dear patient reader, that I was trying to RELAX after debugging stuff all day long, including my manager's very tangled mind. I went through reading way too many outdated answers about how you can get Steam to just start Civ VI directly instead of the 2K Launcher, and following their instructions to a no man's land where the executable simply wasn't there anymore, and the 2K Launcher was, ostensibly, what was called when you called CivilizationVI.exe.

    After 2 hours, a lot of thorough cleanup, and a 3rd reinstallation, the 2K Launcher let me click Play. Civilization VI opened its gates to me, the music rang, the Play Now button gave me a world in 15s (a far cry from what my old 7700HQ CPU used to do on my older machine), I felt like FINALLY, I had the right to relax.
    I then played 45 minutes, and quit the game.
    I didn't quit because 45 minutes was how long I wanted to play. It's just that, as a casual player, Civ is something that I've thoroughly explored. I've played over 250 hours and at this point, you either seek a challenge, or you drop out of the game. I dropped out of the game over 6 months prior to that. I wasn't interested anymore, and I only got the feeling that I should try again because a long time had passed.​ It turned out, I was definitely and finally disinterested in Civilization 6.

    The ultimate irony of this stupid story? The next day, adamant to not have done all this work for less than an hour of play, I started Civ 6 again to truly and definitively assess my departure from the game or not.
    It wouldn't start. 2K Launcher crashed immediately all over again.

    Comment


    • #3
      Second, Linux is indeed capable of running 95% of what Windows runs. Arguably, the alternatives to Windows programs are often visually dated and not as developed, but they are not useless. I've gone through multiple cases of "replacement syndrome" where I felt like I had jumped back 10 years, or cases where there was just a big "how do I get something at least somewhat equivalent".

      The problem is not in Linux's capability. It's in the cost of it, which is paid in Time. If you ask me how long it takes for me to secure a working copy of Windows 7/8.1/10/11, that will run everything I expect it to, that is not too bloated, and that is not giving me trouble, I'd say there is a period of a few hours, maybe 5-10 hours of tweaking and removing some of the most excessive spying. There is also, on occasion, the need for me to modify something to better suit my needs, probably will take me 30 minutes to an hour every few months.

      If I'm comparing this situation with Linux, Linux is 20 times worse. No, this is not a figure of speech. Linux, on average, takes me 20 times more. It's not "an hour every 6 months", it's 2 hours every week. It's not "occasionally something needs a tweak", it's "there is a constant need for attention from the user towards the system".
      Of course, people will point the finger and say: "ah, but you used Arch. Of course you get what you ask for!", and granted, granted, I picked a build-it-yourself Linux. But it's not my only Linux. I've had Ubuntu, Mint, Elementary, Fedora, RHEL, Debian, and watched the Gentoo Islands from far, very far away. And I can say one thing with confidence in this regard: Linux is either delivered to you empty-ish, and you build it yourself, or it's delivered all baked and ready, and you will eventually find a spot somewhere that simply isn't working your way, and have to go through intricate OS research to fix it. So it's a choice between building it up yourself, or having another man build it for you, and then you'll end up wanting to break down the foundations somewhere.

      I claim that the Linux that satisfies its users in every way without demanding hours, weeks and months of tweaking and system administration doesn't exist. Linux is not designed to be a system that runs above its user, but to offer all the possible freedom to its user. This is seen as a strength, I claim that it is a severe drawback.

      Linux offers great competence in theory, but in practice, it demands its runner to actively become a competent system administrator that will operate on the OS regularly.

      A few examples:
      I wanted to stream with OBS Studio. I wanted to see if my card could hardware accelerate. It could, so I followed the guidelines on the Arch Wiki (still the best Wiki the internet ever built, in clarity and quality, although I wish they'd drop their stupid mindset to always give the oldest working software as first choice). I went around to learn about VAAPI, about what software to download, what checks to have, what to reset, what to configure. It took me, all in all, about 90 minutes.
      At the end of this, I streamed on Twitch. I thought it was going well, radeontop giving me little extra energy demand for streaming and overall, things went well. Lo and behold, when I checked the VOD, I saw a wonderful game of Overwatch, or rather O.......h since the game I had just streamed enjoyed a luxurious 0.2 FPS. I had an overall 1 image every 5 seconds. Sound was clean, but the video was streamed from behind Jupiter.
      I then simply ran software h264, and it worked immediately. 90 minutes for nothing.

      I wanted to use Syncplay to watch a movie in sync with friends online. A basic task. A program I'd used on Windows many times before. Great little thing.
      It took me 2s to start on my former Windows. Here, it took me 15 minutes. Because in the Linux world, where every service has to expect a manually handled interlocking with another service, Syncplay wouldn't start until I had directed it to the mplayer, or vlc, executable. So instead of just starting syncplay, getting a nice dialogue asking for searching for a program, off I was looking online for a command that would allow me to pass the vlc address as a flag, and to search manually for VLC in my path.

      I wanted, quite simply, to install a bunch of partitions when I installed Arch. I followed the Arch Wiki's advice, and used old ass Parted, followed by mkfs. Little did I know that parted was so old that it had some extremely obtuse ways of recording requests, and I had to retry several times for my few partitions to be properly set. Little did I know that mkfs would have, no joke here, 99 different filesystems to offer.
      Little did I know that there were probably several much more modern partition systems that would offer a much more palatable interface, wouldn't require to Ctrl+C several times to cancel a mistake, and would just ask for what kind of partition it should be.

      It's not that Linux is "worse", it's actually better. It's better in the same way that a man who runs 71km goes farther than a taxi that drops you off at the 70th kilometer.

      Comment


      • #4
        All the aforementioned problems, the disappointments, the lengths, the general hardship in having to understand so many little interlocking services, so many aspects of the OS, I could live with. I could stand by my decision and go on with these problems, staying with the Linux side of the Force. I'm already a developer, may as well embrace my fate.

        It's the third and final point that made me, after 6 months of sometimes positive, sometimes negative experience, abandon the effort and reinstall Windows for good.

        The third problem of Linux is bloat.

        Yes, yes, I'm aware that this is unthinkable: bloat is a Windows thing! All these services, this telemetry, this abusive load on the machine, these ridiculous things that are only here to eat away at your RAM and CPU, that's bloat!
        But...I disagree.
        Bloat is, according to the Merriam-Webster English dictionary:
        bloat noun
        1 a: one that is bloated
        b: unwarranted or excessive growth or enlargement
        bureaucratic bloat
        2: digestive disturbance of ruminant animals and especially cattle marked by accumulation of gas in one or more stomach compartments
        3: a condition of large dogs marked by distension and usually life-threatening rotation of the stomach

        Bloat is a broad term defining an excessive amount of something, a growth that is disturbing the proper order of things, an abuse largeness of ​some component that damages the entire system.

        Linux is bloated. It is bloated up the butt. It's not bloated with excessive services or CPU usage, for sure. It is bloated with something far worse: outdated designs.

        According to a certain Linux-oriented website I know called Phoronix, the recent Zen 4 CPUs from AMD have roughly 2x the processing power of the 5-year old Zen 1. A 6 core Zen 4 pretty much equals a 16 core Zen 1. It's safe to say that the growth isn't stopping any time soon, and that we will see another 2x growth somewhere between 5 years and the end of the 2030s.
        My PC happens to also be equipped with 32Go of RAM.
        I think that the moment where my CPU or RAM grow too tired from the services bloat, the telemetry bloat, the software bloat in general, isn't for anytime soon. And I'm thinking that this doesn't just apply to the PC I got this year, but probably to a lot of PCs in the last...10 years.

        Obsessing over technical excellence is the job of a programmer. Low-level programmers are particularly into it. I understand the mindset, heck I even think it's a healthy sign that programming hasn't grown into a joke yet, but the fact is that this is a dated problem. As a man from Intel once put it: "no matter how much more power we build, they find ways to use it!". The key words being "more power". Making software for CPUs of the 80s and 90s required an obsession against software bloat. It became less true in the 2000s. Even less in the 2010s. It'll be worse in the 2020s.

        The fact is that if higher level languages have been gaining ground for the last two decades, to the point that Python, Bloat made into a Language, has become the most popular programming language in the world, it is because no matter how much more bloat we shove onto our computers, the computers shrug it off with increasing ease every year. This isn't an opinion but a fact, and it's a fact that is running against a very ingrained mentality among programmers, that we should seek optimised systems and calculated relationships between programs, services, users, and machines. Please note that I'm not denouncing this mentality, again, I believe it to be paramount to good programming. But it's simply not a thing of our time. Our time is, and will continue to be, a time for software bloat all over. Windows' way is ultimately winning the war.

        And the GNU/Linux world is camping on its dated positions, which is that we should seek the lightest and leanest if applicable. So instead of automating a thousand tasks, we let the human run them. Instead of offering what has more than 20 years ago become an indisputable staple of modern computing, we consider that an OS only requires a kernel and shell and that the GUI is optional. Instead of offering modern programs, we run in many ways on GNU stacks from the 80s, with our greps(nice) awks(not as nice) and finds(burn it). Instead of admitting that an excessive amount of services and automatisms is accelerating the human's work, we go with the assumption that the machine is the one that needs catering.

        Machines have grown 2x at least 5 or 6 times since the i386. If my (terrible) math skills are anything to use, that means a speed increase of broadly 32-64 times since then. Perhaps it's even 128 or 256 times since. Perhaps even more.

        Have humans grown even 20x faster than they did in 1990? Can any of us honestly say "I work 20 times faster than I did back then"?
        Even if you can claim that, it is still a far cry from 32, 64 or 128 times faster. Machines grow at an incredible pace. Even just 6 years ago, running a 1440p monitor at 144Hz was an expensive luxury. We now see AMD and Nvidia duke it out for running 4K at 144Hz with hardware raytracing on top of it!

        GNU/Linux strongly relies on design principles that demand performance to be key. While memory management and efficiency is an obvious demand for an OS, and I don't blame the Kernel one bit, the GNU stack on top of it is exceedingly problematic. SystemD, for all the fire it eats from every angle, is a great proof of that. Its success is undeniably made not by money or corporate interests, but chiefly by need of an overbearing control tool that runs the entire service stack, journals, and general operation of the OS. It is the most Windows-like tool that Linux has, and it is also one of the most popular, to the point that I know Linux users of over 10 years of experience that have no idea what OpenRC is.

        As long as Linux follows a philosophy of user-oriented effort, it will not walk away from dated programs, from minimalistic services, from human-expecting software. And I just don't see that ever growing into a successful competition with Windows. Linux is fighting the fight of the early 1990s, while Windows is fighting the fight of today.

        And I wonder how much of it is design philosophy where the bloat is placed upon the human rather than the machine, and how much it is the FOSS model.
        Last edited by Mahboi; 26 January 2023, 01:50 PM.

        Comment


        • #5
          edit: the 4th post is marked "unapproved", but not the 5th?

          The FOSS model is something that I've grown very disillusioned with as I walked around the GNU/Linux world. Not that it's a bad model for sharing code, it's a wonderful model, and the licensing systems have truly heightened it as a viable social and technical pillar.

          But the concept of a completely free and open source codebase, with no commanding authority, and merely goals and guidelines as unifying elements, doesn't seem to work in the very long run and for very complex projects. It ultimately ties the community and workload to a preset goal that can, as always, be interpreted through many ways.

          A few events have marked the slow fall from grace of FOSS in my mind:

          Linus Torvalds, a man whom you can't blame of being weak-willed or too nice to not say bad things, once said in an interview that he could not impose a portable executable standard across Linux like MS's exe and msi. He added, which I found shocking: "I expect Valve will do it", or something akin to that.
          To be the first contributor and de facto BDFL of Linux for over 30 years, and to admit calmly that ultimately, you couldn't impose a standard that's been a staple of your competition for 25 years at least...and that you hoped that a private company was the one to conduct the move towards that feature and onboard the rest of the community with it...I was shocked.

          The Battle for Wayland, as I call it, where I found, piecemeal in all sorts of forum posts and articles, statements like "wayland is the future, but it's not ready yet"..."wayland will eventually become the standard"..."wayland fixes a lot of X's security failures and cleans the problems that X had"...
          And to read the dates of these posts...September 2007...June 2008...May 2011...
          We're in 2023. It has been over 15 years since Wayland started, and as I recall from my reading of a Phoronix article, it started at the behest of X developers who essentially pressed the Abort button when they saw what the X Spaghetti code had become. It's not so much a new thing than a cleanup of something early, obsolete, and poor. And yet 15 years later, nobody could just impose it. Nobody simply has the authority to step onto a podium and say "Wayland, now". No matter how much good sense that would be. Ubuntu finally managed to cross the bridge and again, a private company decides where the FOSS project can't impose.

          The Battle for Wayland reminded me in hindsight of an event my own father told me about: Windows XP. My old man learned to program in the 80s, with electronics, Unix, and later MS-DOS. He hated XP for removing DOS and making him estranged from what he had learned. Although I can entirely sympathise with his position as a fellow programmer, I remember that Win 3.1 bluescreened at least once a week. 95 did it roughly every 2-3 weeks. 98 grew into about 6-8.

          When XP came out, it was the first OS I remember using where seeing a bluescreen was an oddity. Where seeing the OS crash was so rare that you actually made an face and were vocally surprised that it would do that, considering how rare that was anymore.

          XP was lambasted at the time by so many people for the breakage and manhours lost in learning DOS for naught. And yet, it is unquestionably one of the best that MS ever made. To break away from a mid-1980s design for Windows 1.0, to impose your new design for all, and to do it no matter what anyone says, it will attract hatred, it will flare tempers, it will ruin expectations...but it will be done. Authority does allow you to break from the old and to create anew, more solid, more modern, better.

          The capacity for breakage, for saying "damn it, we're doing it my way", for pulling out a gun and saying "my way or the highway"...doesn't exist in the FOSS world. I have never seen any one project leader force his views successfully. I've seen Gogs fork into Gitea. I've seen Guido Van Rossum getting so damn tired of arguing that he quit developing the Python language (still optimises it though). I've seen SystemD ignore the haters and trudge along its development, bloating up without a care in the world, and still being massively adopted. I regularly read the excellent Juan Linietsky and am amazed at how talented he is at arguing his point with a sometimes very critical community. But to have someone say "I'm the boss here, do as I say"...never.
          Some will say that this is for the better, that we have reasonable arguments instead of brutal authority. But one, I've seen many, many unreasonable and lengthy arguments amongst even experts. And two, is this the actual result of the experience? Have the ones seeking openness and discussion won the bid for the common user, or have the authoritarian ones won?

          So what should we do to realign GNU/Linux with the times? Well...nothing, I believe.
          I suspect that a lot of the outdated design philosophies is due to the age of the main Linux programmers. A lot of them are now in their mid-50s, and think, as we all do, with the ways they learned when they started programming, so around the end of 80s/90s. This is both great and terrible, because teaching these old monkeys new tricks is about as credible as teaching me to write succinctly. Their age and experience is massive, and so they will not be dethroned. I do not believe at all in any competitor in the FOSS space. Windows owns the main consumer OS, Linux owns the main enterprise OS, and no real competition can really fight either.

          However, in about 10-15 years time, all these legends of the first generation OSes will start retiring. Will they be replaced at equal numbers? I highly doubt it. Then, Linux will start to lose wind in its sails, and increasingly become a legacy OS that isn't as maintained as it once was. Then, as Linux ceases to be so ahead of competition, newer, more modern OSes with more modern principles and design stacks may start to take real space. Today, you can make a RedoxOS and enjoy yourself. I'm sure it's a perfectly fun time for a big nerd that wants to try his hand at difficult things. But to really take on Linux and try to even come close to general coverage of hardware + the entire software stack is very, veeery much harder.

          In time, the sun will set on GNU/Linux. It will not have beaten Windows then, and it will not have become anything else than what it set out to be: a FOS OS with the goal of growing successful. It will not challenge anything for users or consumers and will remain an enterprise-based OS above all. But it will eventually stop being the sole option. It will eventually show wrinkles, which will become cracks, which will show Linux dying. And that'll be a good thing, since in our world we all must accept a timely death and to be replaced by something new.

          Until these years roll by and Linux starts showing its slow walk towards death, I will still like it. I still think that Linux is an all around interesting software and that the entire stack on top of it, for all its flaws, has true merits and is a breeding ground for great projects. But I hold no hopes for it to combat Windows, and I will not attempt to convert myself or anyone else at Linux any longer. If they have an older machine, sure. If they seek privacy, sure. If they want a daily driver and have no particular reasons? I will simply say: pointless.

          Comment


          • #6
            With that entire Medium article written here where I only expect spears chucked at me in this holy Linux Temple, I still have some positives about the state of Linux, or rather, the state of FOS OSes.
            GNU/Linux itself will trudge along quietly, and keep running with about the same general delay from Windows as it always did. It will keep its bloat, its problems, its design, its complexity. Until it starts losing most of its programmers to retirement and then the gates will open for a replacement.
            But I expect that most of what is in GNU/Linux can and should serve as an experience for a proper FOSS consumer OS that aims at responding to modern times needs.

            That one, whatever it turns out to be, should:
            • aim for services rather than levity
            • standardise program flags (every single shell program should respond to -h with a help for example)
            • standardise configuration files and formats
            • remove all programs which do not comply and replace them with modern equivalents (in short, break stuff that deserves to be scrapped)
            • enforce a set of most-advised programs that are selected not for compatibility but for modernity
            • have major version changes for breakage, so that it is clearly shown
            • draw and hold true to an architectural design that specifies how services interact with the OS
            • force all services to also append themselves to this architectural design (so everyone can understand what's running in the OS without needing to scour wikis and forums)
            • have a GUI version with at least a basic implementation that can be expanded upon(think wlroots + a standard window manager that can be replaced by one line)
            • have a terminal only version
            • apply authority to what is seen as necessary growth of the system, and the breakage that'll follow (yes break userspace when you should!)
            and probably a lot more, but I've written all this and now am tired. It'll do for now.

            Comment


            • #7
              Mahboi, first off, thank you for sharing your thoughts, and for the detailed and thoughtful manner in which you did. A couple observations from a long time Linux user (I've been using Linux since 1995):

              1. Spot on about the desktop customization, and the privacy / sense of ownership. These two things are top strengths of Linux, and a big part of why I personally use it.

              2. Linux has historically been a server OS first and foremost, and a desktop OS second. It is the server OS vendors SuSE and Red Hat that have put $billions into Linux purely as a server OS. In the internet server space, Linux is far and away the market leader, far ahead of rival Microsoft. Linux has already won that war. Even on Microsoft's own Azure cloud, Linux has the majority market share of running instances. Linux also is crushing the mobile space (Android) and the embedded market, where it is displacing proprietary players like VxWorks, QNX, and others. It is really only the Desktop market where Linux has been perpetually playing catch-up. I think it would have been more effective to articulate that point, and caveat that while Linux leads the market in servers, mobile, and embedded, it is still the underdog on the desktop, and that the article will focus only on the desktop use case. This missing context is important.

              3. The hardware compatibility (e.g. your 4k monitor) is totally on you, and has nothing to do with Linux per se. I have SAS and 10gbe cards that in the exact same server, one works in FreeBSD and Windows, but not in Linux. Another works in Linux and Windows, but not FreeBSD. And another still is compatible with Linux and FreeBSD but not Windows. Lets not forget all the perfectly good hardware that works in Win10 but not in Win11, due to Win11's TPM2.0 requirement. A few years back, my employer even had to toss thousands of dollars in high-end color laser printers that worked perfectly in Win7, because they were unsupported on Win10. Long story short, hardware compatibility is specific to your OS, regardless of who the OS vendor it. It is 100% on you to ensure that any hardware you procure, will be compatible. Not a fault of Linux by any means.

              4. You mentioned "cost paid in time" as a negative of Linux, that it took you far longer to perform tasks on Linux. I'm going to go out on a limb, and assume you went into this exercise being vastly more familiar with Windows OS experience, than Linux? Linux was therefore something you were in the process of learning. That's why it's called a "learning curve". It takes time to learn something new. Experience with a prior version of the same product (you used Win10 for years) automatically gives you a leg up on becoming proficient with Win11. Likewise, had you used a prior version of Arch or Ubuntu or Fedora or whatever for many years, your learning curve would be very small when installing the latest version. This is no different switching from driving Chevy's for 20 years, and then driving an Audi for the first time. You'll feel familiar and right at home in a 2023 Chevy that you've never driven before, but the Audi will feel like an alien planet. Not really a valid criticism of Linux that you experienced a learning curve with an unfamiliar product line.

              5. Games. The whole gaming on Linux is a very recent phenomenon. You're right that it's not as seamless as on Windows. Any time you're talking translation layers like Proton, et al. you're adding complexity to the mix, so it's going to be more complicated. Tremendous progress has been made thanks to Valve and a few others, but it's still a growth area. There are native Linux games, and they generally offer a comparable experience to gaming Windows or Mac. I'm a die hard Linux guy, but if you're a heavy gamer who just wants to game and doesn't want to tinker, Linux is probably not the right tool for the job. Not yet anyways.

              6. Development. You discussed software development quite a bit, but made no mention of how clunky and obtuse it is to run things like Apache, PHP, MySQL, Python, etc. on Windows, where the experience on Linux is very slick and smooth and straightforward. Working with all the leading internet technologies which are predominantly FOSS, is vastly easier on Linux than on Windows. You also mentioned things like standardizing program flags (e.g. "-h" for help) but most end users will never be on the command line. And developers are savy enough to learn their tools, so I don't think there's much value in enforcing such a thing. I don't think Windows or Mac does such a thing either, so why demand it on Linux? How would this work anyways, for cross-platform software? If Linux says help is "-h", and Microsoft says it should be "/h" and Apple says "-H". Have the same program use different flags, depending on which OS it's compiled for? My head hurts just thinking about this suggestion.

              7. Wayland vs X11. Yeah, that's a thing. Maybe someday that will all get sorted out.

              That's all I have at the moment, but thanks again for sharing your thoughts.
              Last edited by torsionbar28; 07 February 2023, 11:36 AM.

              Comment


              • #8
                Originally posted by torsionbar28 View Post
                [USER="118933"]
                5. Games. The whole gaming on Linux is a very recent phenomenon. You're right that it's not as seamless as on Windows. Any time you're talking translation layers like Proton, et al. you're adding complexity to the mix, so it's going to be more complicated. Tremendous progress has been made thanks to Valve and a few others, but it's still a growth area. There are native Linux games, and they generally offer a comparable experience to gaming Windows or Mac. I'm a die hard Linux guy, but if you're a heavy gamer who just wants to game and doesn't want to tinker, Linux is probably not the right tool for the job. Not yet anyways.
                Not really anymore, I am a die-hard gamer and it just works. Especially the SteamDeck is awesome.

                What I can add tho here, I am on an nvidia mailing list handing out surveys to future developments in gaming and lately they started asking the gamer base: if they are unhappy with the amount of cheaters that are playing competitive online games and if it was ok for them to pay for a game in the future, to be free of cheaters. In such a case I doubt the AntiCheat measures will incorporate Linux.

                Comment


                • #9
                  Linux gaming is ok for indie games and some Steam titles. But basically not worth effort of support for most game studios unless share of Linux gamers should exceed 50% or smth. Add near -infinity of possible hw/sw combinations. Then stupid shit like one game maybe officially supporting Ubuntu version X, another OpenSuse version Y and third needing some Z distro. Working out reliable/maintaining anticheat is just well-nigh impossible as soon as it needs to be smth more invasive than looking at players stats. Linux doesn't have bunch of mechanics Win has (signed drivers being easiest example).

                  Then support for programmable peripherals. Reboot into win to reconf mouse/keyboard macros and reboot back to linux. Stupid af

                  Comment

                  Working...
                  X