• Possibly linux@lemmy.zip
    link
    fedilink
    English
    arrow-up
    8
    ·
    9 hours ago

    X is broken in many different ways. It has a huge codebase made to support a poor design that was optimized for machines 40 years ago. No one wants to touch the code base since it is so incredibly fragile plus the original developers are much older now.

    In all fairness, it did work for way longer than anyone expected. I doubt the original designers of the X protocol anticipated it lasting this long.

    • mittorn@masturbated.one
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      @possiblylinux127 @Skullgrid protocol itself is mostly OK. Yes, it have many limitations, but it covers much more desktop needs than wayland/mir/surfaceflinger/etc.
      But implementation is really broken.
      For example, the way how some extensions override vtable is terrible: overriding functions usually should restore base function in vtable before calling it and and restore back after. Breaking this would break call chain and override function will never be called again.
      I think, this is a reason why devs switched to wayland. Nobody want to reimplement x11 from scratch, but exisiting implementation is borked

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 hours ago

        How much do you k ow about computer graphics and X? The protocol is indeed not ok. It has tons of hacks and is incredibly janky. Doing basic graphics with X is so incredibly awful as you need to jump though tons of hoops.

        That that completely ignores the security issues.

      • Digit@lemmy.wtf
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        Nobody want to reimplement x11 from scratch, but exisiting implementation is borked

        And now we have a working actively developed fork of Xorg because the corporation wanted to end it. Xlibre.

        And we have an implementation of X11 from scratch, in Zig, being made. Pheonix

        • Zangoose@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          3 hours ago

          Xlibre is backed for the most part by the singular maintainer that was still willing to work on X11 who got kicked out for being too toxic and breaking existing code. For what it’s worth, it also explicitly used MAGA language in its README for a while.

          Phoenix is intended to allow for support of legacy software/DEs and provide a more modern/maintainable version of X11. It isn’t trying to compete with Wayland, it’s trying to live alongside it for environments that won’t or can’t move to Wayland. It also technically won’t be a complete X11 implementation, as it’s ignoring older portions of the protocol.

          Neither option addresses the elephant in the room: The X11 protocol is still fundamentally broken in a lot of aspects. Multi-monitor support, especially when monitors aren’t the same resolution, refresh rate, or physical size, is broken at a fundamental level. It will never work even as well as Windows, which is already an incredibly low bar to clear.

          Wayland is slow moving, sure, but it is a much more stable base to work with than Xorg ever was. From a security, modularity, and extensibility standpoint, Wayland is a lot better. There is a reason most of the Xorg team developed a completely new protocol instead of just reimplementing X11 themselves.