Announcement

Collapse
No announcement yet.

Rust-Written Redox OS Gets USB Keyboards & Mice Working

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

  • #11
    Originally posted by Eirikr1848 View Post

    Poor Hurd. Is it inherently complex? Does it lack developer enthusiasm? Does it lack funding which also equates to enthusiasm?

    Redox is Rust which is popular, so fast gainz expected?

    It’s a little boggling that this just seems to come out of nowhere and start being successfully successful, dang.
    GNU Hurd is essentially a research platform / technology demonstrator. I'm glad that people spend time on it, but I have no expectations of it being a 'drop-in replacement' for the Linux kernel any time soon, or if ever.

    Comment


    • #12
      Other than being written in Rust, is there anything fundamentally better/interesting about Redox as opposed to any other OS?

      Comment


      • #13
        Originally posted by Old Grouch View Post

        GNU Hurd is essentially a research platform / technology demonstrator. I'm glad that people spend time on it, but I have no expectations of it being a 'drop-in replacement' for the Linux kernel any time soon, or if ever.
        What things did they research on that platform, and what kind of results did they manage to come up with? What did they demonstrate?

        I'm afraid you don't understand that project. It can be summarized very shortly: Stallman's ego.

        Comment


        • #14
          Originally posted by Eirikr1848 View Post

          Poor Hurd. Is it inherently complex? Does it lack developer enthusiasm? Does it lack funding which also equates to enthusiasm?

          Redox is Rust which is popular, so fast gainz expected?

          It’s a little boggling that this just seems to come out of nowhere and start being successfully successful, dang.
          ​

          It's a bit of everything. Linux was finished before HURD was, then everyone went to Linux, so nobody was around to really be a "keeper" of the codebase and help people learn it and contribute to it, so then even less people helped with it. Now times are changing and Linux is moving from being an exciting experimental platform to a solid, standard platform where people can't afford to break things anymore for the sake of innovation, so now people are looking at new OSes nobody depends on to see what kind of exciting things they can work on it since they can break things.

          And this leads on to Rust, because another feature is, what I hinted to before, how easy it is to actually start working on an unfamiliar codebase. People seem to have a misconception that Rust is popular because it's popular. No, it's popular because its extremely easy to use (despite cargo cultists insisting on mindlessly echoing the opposite because they were told that by people who tried it for five minutes and gave up trying to learn the lifetime system which is no different from just being a fancy linter in any other language) and invaluable for managing a codebase. With C, nothing is documented, everything is a bare function taking a void pointer and if you don't know absolutely everything about the codebase then you're going to leak memory. With C++, you need to know their coding standard and what parts of it's absolutely gargantuan feature set you are and aren't allowed to use, and even then it usually ends up being as bad as using C anyway (I've only really seen Andreas Kling care enough to try and make his OS's codebase as readable and easy to maintain as possible, he's an absolute wiz at C++, and even then he's trying to replace it with his own language. Not an OS, but, same for Johnathan Blow and his software, ditching C++ for his own language). No other language is even close to being a good fit for making a popular OS because they all make sacrifices in performance and usability (Haskell is too esoteric and opinionated, Java relies too much on a runtime and is agonizing to write in, etc.) Not that those languages are bad, just not a good fit for writing an entire OS in. Rust is legitimately the first properly supported low-level language with extremely high-level features (the highest of any language since nothing else has lifetimes), it's not exactly a master of one trade but it definitely is a jack of all, which no language has ever been before (Java, C#, Python, C++ are okay for applications but awful for low level, and C is good for low-level but abysmal for applications). Rust is perfect for an OS because it unifies everything, you have easy, performant codebases in every level from the kernel to the desktop, the language fits every gap. Redox is especially exciting because it's embracing this new capability we as an industry have now where everything can be written in one language, for real, not the fake promises Java gave us (and the many, many failed Java OSes).

          Originally posted by Brananarchy View Post
          This basically means redox was unusable on actual hardware without PS2 ports until now? Yikes.

          Even my toy OS had a USB stack well before I started thinking about a GUI, because all my potential target hardware is old laptops with weird graphics setups, and a USB serial dongle is an easy debug print target.

          And they still don't have USB interrupts working right, so it's _polling_? That's a major WTF. USB has been the single standard peripheral interface for nearly two decades.

          I am a total Rustacean. I want to see more rust in OSes. But clearly Redox is not focused on enabling real usage in any way and instead is focused on looking pretty in an emulated 2001 machine. That's not a viable project.
          ​

          Pardon me? You make writing a USB stack sound like a walk in the park. The only USB stacks I know of in the wild are in Linux and Haiku, even ReactOS doesn't have one yet. USB support in hobby OSes is unheard of, most of it is just booting off USB or emulating PS/2 through USB explicitly for mouse/keyboard support, all stuff the BIOS itself mostly handles, instead of having to make an actual USB stack. I'm guessing you know this, but the USB spec is absolutely massive and extremely complex, it's probably the second hardest thing to do in an OS next to accelerated graphics support. If you mean what you're saying then, man, you should really contribute to Redox, because there are not a lot of USB experts in the world.

          Originally posted by schmidtbag View Post
          Other than being written in Rust, is there anything fundamentally better/interesting about Redox as opposed to any other OS?
          As I mentioned in my first paragraph, Redox can do a lot of experimenting because it's brand new and nobody relies on any of it's functionality or design yet. They can make it a microkernel, they can break away from the standard messy Unix file system hierarchy, and they're also implementing a scheme system for easy inter-process communication, which succeeds Unix's traditional "everything is a file" philosophy. Rust plays a big part of it, as I mentioned, but it's also because it's not yet another OS with a standard design, they can actually improve on existing designs that have been cemented into traditional OSes and not worry about backwards compatibility. I feel this is kind of why Haiku and ReactOS never really attract too much attention even if they do have a loyal following, because they're just trying to copy an existing OS (even if Haiku is really cool and very usable). Kind of the same reason SerenityOS is popular, because it's not trying to be any OS, they can do anything they want.

          Comment


          • #15
            Originally posted by Eirikr1848 View Post

            Poor Hurd. Is it inherently complex? Does it lack developer enthusiasm? Does it lack funding which also equates to enthusiasm?

            Redox is Rust which is popular, so fast gainz expected?
            Rewrite Hurd in Rust, problem solved.

            Comment


            • #16
              Originally posted by Brananarchy View Post
              This basically means redox was unusable on actual hardware without PS2 ports until now? Yikes.

              Even my toy OS had a USB stack well before I started thinking about a GUI, because all my potential target hardware is old laptops with weird graphics setups, and a USB serial dongle is an easy debug print target.

              And they still don't have USB interrupts working right, so it's _polling_? That's a major WTF. USB has been the single standard peripheral interface for nearly two decades.

              I am a total Rustacean. I want to see more rust in OSes. But clearly Redox is not focused on enabling real usage in any way and instead is focused on looking pretty in an emulated 2001 machine. That's not a viable project.
              I dont think this is a big deal. to be clear, Im not saaying this isn't important at all but I don't really think it's that important for something you arent expecting people to currently actually use. It's one thing if they were billing this as a go out and install now solution. It's like being worried over whether you put the eggs or milk in first to the batter, they both will get mixed in regardless so the order doesn't matter.

              Comment


              • #17
                Originally posted by jaypatelani View Post
                Besides if same donations were given to BSDs they would be more useful than Linux.
                Absolutely, if you invest 177 million dollars into DragonFLY, Ghost, Hardened or Nomad, you end up with a much better OS than Linux will ever be.

                Comment


                • #18
                  Originally posted by Brananarchy View Post
                  Even my toy OS had a USB stack well before I started thinking about a GUI, because all my potential target hardware is old laptops with weird graphics setups, and a USB serial dongle is an easy debug print target.

                  I am a total Rustacean. I want to see more rust in OSes.
                  Looking forward to seeing your pull requests to Redox OS then. Sounds like you're volunteering for the job.

                  Comment


                  • #19
                    Originally posted by Quackdoc View Post
                    Default static can be nice for sure. I still wish something like gobolinux would have taken off however. It seems like just the right set of crazy
                    Why though?

                    Comment


                    • #20
                      Originally posted by FireBurn View Post

                      Why though?
                      I think it's wise to have a certain level of shared linking. Personally I think windows did it almost perfectly. It allows you to have your own library versions for stuff you need, and everything else it allows you to have shared libraries. This gives windows it's excellent app compatibility, Allowing windows xp apps to often just work, and windows 9x apps work great with the built in compatibility mode. It saves on size compared to static linking, and ofc as an (ex-)avid game modder, it makes swapping libraries easy and nice without needing LD_PRELOAD scripts.

                      Gobolinux's setup is not quite as good, but it still gives the benefits of dynamic linking, while still having great application compatibility. Static applications have great compatibility but they can be a bit of a pain.

                      Comment

                      Working...
                      X