• why X

    From Ivan Shmakov@21:1/5 to All on Sat May 11 17:35:18 2024
    A handful of reasons of why X is still relevant this day and
    age; and what a replacement (if there will ever be one) will
    need to have, or improve upon, to succeed.

    Contains exaggerations, oversimplifications, and occasional
    not-quite-verified information. Corrections and constructive
    criticism are of course welcome.


    X is reasonably lightweight.

    It's not a perfection given code, granted, but it still
    remains one of the X competitive advantages.

    First is the conceptual complexity. The server manages the
    hardware. The clients connect to it and order things like
    "draw a line here" or "put this text string over there."
    It /is/ simple.

    Sure, I can, and do, use framebuffer directly,

    $ gm convert -auto-orient -depth 8 \
    -background white -gravity center -resize 1280x1024 -extent 1280x1024 \
    -recolor "0 0 1 0, 0 1 0 0, 1 0 0 0, 0 0 0 1" MYPIC.JPG rgba:/dev/fb0

    Much like how I don't need a spooler to do printing,

    $ pdftocairo -png -singlefile -r 593 -f1 -l1 -- - - < MYDOC.PDF \
    | gm convert -auto-orient -colorspace Gray \
    -background white -gravity center \
    -resize 5100x6600 -extent 5100x6600 \
    -ordered-dither Intensity 3 \
    | foo2zjs -z1 -P -L0 -r600x600 -t -g5100x6600 -p9 > /dev/usb/lp0 &

    But doing it like that, while /is/ simpler in one way, can
    still be more complex in others. It's a matter on where to
    draw a line, and X draws its lines reasonably well.

    Second is the protocol overhead. As was pointed out in a
    thread here (e. g., news:E4loZOuxDjnPBjUj@violet.siamics.net ),
    QueryFont can be much improved with regards to 16-bit fonts;
    otherwise, X has fairly low bandwidth requirements.

    Finally, there's the amount of code involved, both overall
    (affecting filesystem space requirements) and for specific
    code paths (affecting performance and /predictability/ of
    the behavior.) For compatibility reasons, the former isn't
    particularly good, and likely cannot be improved /without/
    your own effort to tailor it down to your own needs. The
    latter so far has been looking good enough to me.

    The end result is that if you want a windowing system that
    you can hack in your spare time (rather than making it your
    full-time job), X is likely among your better choices.

    Similarly, if you want to have a windowing system on your 486
    (or comparable) system, X might end up being irreplaceable.
    Anything with Libcairo inside will likely be both too slow
    and too large to fit the filesystem space you'll have there.

    For various reasons, not all of us always use hardware produced
    in the last year or two.


    X is network transparent.

    It's still a thing we use, so in order to move on to some other
    solution, that other solution needs to solve this for us.

    Running a bunch of clients from different hosts on a single
    shared desktop /is/ risky, in the sense that if /one/ client
    is compromised, /all/ of them are. Still, it's often an
    acceptable risk if all the hosts involved are maintained by a
    single person or team, such as in the case you operate a server
    farm, or simply have several (essentially single-user) boxes
    running at home.

    When better isolation is desired, a separate X server can be
    used, such as Xephyr. Whether that is better or worse than
    running (SSH- or TLS-tunelled) VNC or SPICE is debatable.


    X maintains compatibility.

    If you want or need to, you can still run X applications
    from about four decades ago. If anything, it's more likely
    you'll run into issues with the C compiler or non-X libraries
    compatibility rather than those with X's own.

    While we won't expect a /new/ system to run applications from
    before its own invention, it's imperative that an application
    written for it /now/ will be compatible with the system's
    version that will be in use four decades into future.

    This is something that GUI environments out there seem to be
    lacking in general. You might say that GTK supports this, or Qt
    supports that, but can you really take a GTK or Qt application
    from 2004, build it on a contemporary system, and still have
    all that advertised support? The thing is: a modern toolkit's
    lifetime is ten years or so. Then it's discarded and replaced
    with something with the same name, yet entirely new API.

    Granted, I'm not much of a GUI person myself. For one thing,
    I prefer to keep most of my applications under GNU Screen,
    and it's not something too compatible with GUIs in general.

    Still, I've written my (tiny) share of GUI code, and I might
    as well end up writing more. If you think that I'll be happy
    to port my code to yet another version of the GUI toolkit I
    use on a thrice a decade basis, I'd rather you'll think again.

    I rather like libXaw aesthetics, and I admire the stability
    of its API, but I'm not too happy with its lack of support
    for manipulating widgets with a keyboard. There's libXm that
    offers that, but it's not too popular, likely on account of
    it having been proprietary through much of its existence.
    Then there's Tk, which is neither part of X in any sense nor
    even specific to X, but so far as I can tell, it's probably
    the best toolkit an amateur can use these days, including for
    API stability reasons.

    It's yet another point that can be worked on, whether in X or
    in some newer system, but so far as I know, largely isn't.

    --
    FSF associate member #7257 np. Who Disturbs my Slumber by EuchMad

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marco Moock@21:1/5 to All on Sat May 11 20:07:54 2024
    On 11.05.2024 um 17:35 Uhr Ivan Shmakov wrote:

    A handful of reasons of why X is still relevant this day and
    age; and what a replacement (if there will ever be one) will
    need to have, or improve upon, to succeed.

    I think this will be "solved" by simply not shipping X11 anymore in the
    future. There are already such ideas.

    --
    kind regards
    Marco

    Send spam to 1715441718muell@cartoonies.org

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Computer Nerd Kev@21:1/5 to Ivan Shmakov on Wed May 15 09:37:51 2024
    Ivan Shmakov <ivan@siamics.netremove.invalid> wrote:
    Finally, there's the amount of code involved, both overall
    (affecting filesystem space requirements) and for specific
    code paths (affecting performance and /predictability/ of
    the behavior.) For compatibility reasons, the former isn't
    particularly good, and likely cannot be improved /without/
    your own effort to tailor it down to your own needs.

    XFree86 and later X.org used to include the TinyX servers that
    stripped out all but the bare essentials for a small, relatively self-contained, executable which worked (and still works) with most
    X software. The X.org developers lost interest in it many years ago
    and removed it, though some forks exist. After fixing various compiler/architecture compatibility issues, I've built the XFree86
    Xfbdev TinyX server for the Raspberry Pi and it runs fine on a RPi
    Zero. Interestingly seemingly every one of the X libraries built
    from the XFree86 sources was significantly smaller than those built
    from recent X.org on the Pi as well.

    The point is that efforts really haven't been directed at making X
    smaller in the recent years up to when the paid developers switched
    to Wayland, in fact the opposite has been happening. It's therefore
    unlikely that the same developers really care about improving that
    with Wayland.

    This is something that GUI environments out there seem to be
    lacking in general. You might say that GTK supports this, or Qt
    supports that,

    I sure wouldn't, various Qt programs that I've used got dropped
    from the Debian package repo because they didn't support newer Qt
    releases and the old ones reached EOL. GTK is only better because
    people seem to find it easier to build old versions on newer Linux.
    I use various GTK1 and GTK2 applications, and the only newer one I
    use regularly with the still-supported GTK3 is Firefox.

    but can you really take a GTK or Qt application
    from 2004, build it on a contemporary system, and still have
    all that advertised support? The thing is: a modern toolkit's
    lifetime is ten years or so. Then it's discarded and replaced
    with something with the same name, yet entirely new API.

    Indeed, and to little if any obvious benefit for the GUI software I
    see. When an old program just uses Xlib directly, it takes away a
    lot of potential obstacles to making it work on a modern system.

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Computer Nerd Kev on Wed May 15 00:48:38 2024
    On 15 May 2024 09:37:51 +1000, Computer Nerd Kev wrote:

    XFree86 and later X.org used to include the TinyX servers that stripped
    out all but the bare essentials for a small, relatively self-contained, executable which worked (and still works) with most X software.

    So what’s missing? Xrandr? XShm? XFixes? XComposite? XShape? XTest? Xv?

    The point is that efforts really haven't been directed at making X
    smaller in the recent years up to when the paid developers switched to Wayland, in fact the opposite has been happening.

    What sort of things have they been adding that could be removed?

    When an old program just uses Xlib directly ...

    You still want to use Xlib rather than XCB?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Computer Nerd Kev@21:1/5 to Lawrence D'Oliveiro on Thu May 16 09:05:01 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On 15 May 2024 09:37:51 +1000, Computer Nerd Kev wrote:

    XFree86 and later X.org used to include the TinyX servers that stripped
    out all but the bare essentials for a small, relatively self-contained,
    executable which worked (and still works) with most X software.

    So what's missing? Xrandr? XShm? XFixes? XComposite? XShape?
    XTest? Xv?

    Nothing to stop most programs from working, as I said. The main
    limitation preventing some software from working is that 3D
    graphics using OpenGL aren't supported because it doesn't support
    GLX etc.

    The point is that efforts really haven't been directed at making X
    smaller in the recent years up to when the paid developers switched to
    Wayland, in fact the opposite has been happening.

    What sort of things have they been adding that could be removed?

    No idea, I was just saying (in the part that, as usual, you snipped)
    that the size difference can be observed by building old vs current
    X releases on the same platform with the same compiler settings.
    Programs I tried that had been built against recent X.org libs
    still worked with the smaller XFree86 libs, so the observed
    improvement in former was about nill.

    When an old program just uses Xlib directly ...

    You still want to use Xlib rather than XCB?

    For existing software Xlib works fine, and in old programs it's
    more often seen than XCB, but the point (another over-snipping
    victim) applies to either.

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Computer Nerd Kev on Thu May 16 00:06:07 2024
    On 16 May 2024 09:05:01 +1000, Computer Nerd Kev wrote:

    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:

    What sort of things have they been adding that could be removed?

    No idea ...

    So this is really some kind of general hand-waving “big picture” comment, rather than an actual valid criticism?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Computer Nerd Kev@21:1/5 to Lawrence D'Oliveiro on Thu May 16 17:18:13 2024
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On 16 May 2024 09:05:01 +1000, Computer Nerd Kev wrote:
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    What sort of things have they been adding that could be removed?

    No idea ...

    So this is really some kind of general hand-waving ?big picture? comment rather than an actual valid criticism?

    The intention of the original comment was clear in all my words
    you've snipped, as per your usual trolling tactics.

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bozo User@21:1/5 to Ivan Shmakov on Mon May 20 06:43:26 2024
    On 2024-05-11, Ivan Shmakov <ivan@siamics.netREMOVE.invalid> wrote:
    A handful of reasons of why X is still relevant this day and
    age; and what a replacement (if there will ever be one) will
    need to have, or improve upon, to succeed.

    Contains exaggerations, oversimplifications, and occasional
    not-quite-verified information. Corrections and constructive
    criticism are of course welcome.


    X is reasonably lightweight.

    It's not a perfection given code, granted, but it still
    remains one of the X competitive advantages.

    First is the conceptual complexity. The server manages the
    hardware. The clients connect to it and order things like
    "draw a line here" or "put this text string over there."
    It /is/ simple.

    Sure, I can, and do, use framebuffer directly,

    $ gm convert -auto-orient -depth 8 \
    -background white -gravity center -resize 1280x1024 -extent 1280x1024 \
    -recolor "0 0 1 0, 0 1 0 0, 1 0 0 0, 0 0 0 1" MYPIC.JPG rgba:/dev/fb0

    Much like how I don't need a spooler to do printing,

    $ pdftocairo -png -singlefile -r 593 -f1 -l1 -- - - < MYDOC.PDF \
    | gm convert -auto-orient -colorspace Gray \
    -background white -gravity center \
    -resize 5100x6600 -extent 5100x6600 \
    -ordered-dither Intensity 3 \
    | foo2zjs -z1 -P -L0 -r600x600 -t -g5100x6600 -p9 > /dev/usb/lp0 &

    But doing it like that, while /is/ simpler in one way, can
    still be more complex in others. It's a matter on where to
    draw a line, and X draws its lines reasonably well.

    Second is the protocol overhead. As was pointed out in a
    thread here (e. g., news:E4loZOuxDjnPBjUj@violet.siamics.net ),
    QueryFont can be much improved with regards to 16-bit fonts;
    otherwise, X has fairly low bandwidth requirements.

    Finally, there's the amount of code involved, both overall
    (affecting filesystem space requirements) and for specific
    code paths (affecting performance and /predictability/ of
    the behavior.) For compatibility reasons, the former isn't
    particularly good, and likely cannot be improved /without/
    your own effort to tailor it down to your own needs. The
    latter so far has been looking good enough to me.

    The end result is that if you want a windowing system that
    you can hack in your spare time (rather than making it your
    full-time job), X is likely among your better choices.

    Similarly, if you want to have a windowing system on your 486
    (or comparable) system, X might end up being irreplaceable.
    Anything with Libcairo inside will likely be both too slow
    and too large to fit the filesystem space you'll have there.

    For various reasons, not all of us always use hardware produced
    in the last year or two.


    X is network transparent.

    It's still a thing we use, so in order to move on to some other
    solution, that other solution needs to solve this for us.

    Running a bunch of clients from different hosts on a single
    shared desktop /is/ risky, in the sense that if /one/ client
    is compromised, /all/ of them are. Still, it's often an
    acceptable risk if all the hosts involved are maintained by a
    single person or team, such as in the case you operate a server
    farm, or simply have several (essentially single-user) boxes
    running at home.

    When better isolation is desired, a separate X server can be
    used, such as Xephyr. Whether that is better or worse than
    running (SSH- or TLS-tunelled) VNC or SPICE is debatable.


    X maintains compatibility.

    If you want or need to, you can still run X applications
    from about four decades ago. If anything, it's more likely
    you'll run into issues with the C compiler or non-X libraries
    compatibility rather than those with X's own.

    While we won't expect a /new/ system to run applications from
    before its own invention, it's imperative that an application
    written for it /now/ will be compatible with the system's
    version that will be in use four decades into future.

    This is something that GUI environments out there seem to be
    lacking in general. You might say that GTK supports this, or Qt
    supports that, but can you really take a GTK or Qt application
    from 2004, build it on a contemporary system, and still have
    all that advertised support? The thing is: a modern toolkit's
    lifetime is ten years or so. Then it's discarded and replaced
    with something with the same name, yet entirely new API.

    Granted, I'm not much of a GUI person myself. For one thing,
    I prefer to keep most of my applications under GNU Screen,
    and it's not something too compatible with GUIs in general.

    Still, I've written my (tiny) share of GUI code, and I might
    as well end up writing more. If you think that I'll be happy
    to port my code to yet another version of the GUI toolkit I
    use on a thrice a decade basis, I'd rather you'll think again.

    I rather like libXaw aesthetics, and I admire the stability
    of its API, but I'm not too happy with its lack of support
    for manipulating widgets with a keyboard. There's libXm that
    offers that, but it's not too popular, likely on account of
    it having been proprietary through much of its existence.
    Then there's Tk, which is neither part of X in any sense nor
    even specific to X, but so far as I can tell, it's probably
    the best toolkit an amateur can use these days, including for
    API stability reasons.

    It's yet another point that can be worked on, whether in X or
    in some newer system, but so far as I know, largely isn't.


    I have a broken key near the Return one. With
    xmodmap I could rebind another one near left shift,
    as it's duplicated.
    Not an easy task with wayland.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Muttley@dastardlyhq.com@21:1/5 to Bozo User on Mon May 20 07:20:15 2024
    On Mon, 20 May 2024 06:43:26 -0000 (UTC)
    Bozo User <anthk@disroot.org> wrote:
    On 2024-05-11, Ivan Shmakov <ivan@siamics.netREMOVE.invalid> wrote:
    It's yet another point that can be worked on, whether in X or
    in some newer system, but so far as I know, largely isn't.


    I have a broken key near the Return one. With
    xmodmap I could rebind another one near left shift,
    as it's duplicated.
    Not an easy task with wayland.

    It seems to me the main argument for Wayland is "Its not X". When you try and find out what its actual advantages are you get vague nonsense about
    security and lack of cruft and a faster graphic instruction -> hardware path
    , which may be true but the difference will be minimal with modern X
    extensions and all but invisible with 99.9% of graphical applications unless you maybe care about 60fps vs 65fps in some game.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Bozo User on Mon May 20 22:29:07 2024
    On Mon, 20 May 2024 06:43:26 -0000 (UTC), Bozo User wrote:

    Not an easy task with wayland.

    <https://wiki.archlinux.org/title/Input_remap_utilities>

    (Just one of many I found with a simple web search.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Muttley@dastardlyhq.com@21:1/5 to Lawrence D'Oliveiro on Tue May 21 07:20:47 2024
    On Mon, 20 May 2024 22:29:07 -0000 (UTC)
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Mon, 20 May 2024 06:43:26 -0000 (UTC), Bozo User wrote:

    Not an easy task with wayland.

    <https://wiki.archlinux.org/title/Input_remap_utilities>

    (Just one of many I found with a simple web search.)

    A whole load of miscellanious may-work-may-not , may be maintained in a
    year maybe not 3rd party utilities is not a solution for something as fundamental as keyboard input.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ivan Shmakov@21:1/5 to All on Wed May 22 09:25:17 2024
    On 2024-05-11, Marco Moock wrote:
    On 11.05.2024 um 17:35 Uhr Ivan Shmakov wrote:

    A handful of reasons of why X is still relevant this day and age;
    and what a replacement (if there will ever be one) will need to
    have, or improve upon, to succeed.

    I think this will be "solved" by simply not shipping X11 anymore
    in the future. There are already such ideas.

    I'm mostly familiar with Debian practices. My understanding
    is that so long as there /is/ a maintainer, /and/ there aren't
    any release-critical bugs in the package, it gets shipped.

    It's certainly possible for current X maintainers to step
    down anytime they want to, but it's equally possible for
    someone to volunteer for the task in their stead.

    I may be mistaken, but my impression is that at least Arch
    and Gentoo are similar to Debian in this respect.

    As for NetBSD, there doesn't seem to be enough people there
    interested in switching to Wayland, so I expect X to be
    maintained there for a while yet.

    Of course, a distribution that's maintained on a for-profit
    basis, would only have the interests of the (majority) of
    their paying customers in mind, and those might or might not
    include continued X11 support. But that's nothing new.

    --
    np. Last Resurrection of the First Bob Dylan by Broken Poets

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ivan Shmakov@21:1/5 to All on Wed May 22 08:55:40 2024
    On 2024-05-14, Computer Nerd Kev wrote:
    Ivan Shmakov <ivan@siamics.netremove.invalid> wrote:

    Finally, there's the amount of code involved, both overall
    (affecting filesystem space requirements) and for specific
    code paths (affecting performance and /predictability/ of
    the behavior.) For compatibility reasons, the former isn't
    particularly good, and likely cannot be improved /without/
    your own effort to tailor it down to your own needs.

    XFree86 and later X.org used to include the TinyX servers that
    stripped out all but the bare essentials for a small, relatively self-contained, executable which worked (and still works) with
    most X software. The X.org developers lost interest in it many
    years ago and removed it, though some forks exist.

    Pointers?

    It's not something I think I've ever used myself; and like
    I've mentioned before, I'm not really interested in software
    that is no longer maintained (unless I decide to maintain it
    myself; but there's only so much productive time I can
    dedicate to the effort, you see.)

    That said, there's tinyx-wscons [1] in pkgsrc, which means
    "maintained" in my book. Somehow, the only binary listed is
    for the previous NetBSD version (9.3), and only for x86-64 at
    that, which may indicate it doesn't get as much maintenance
    as it really needs. Mayhaps someone here might look into
    what's wrong with it?

    [1] http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/x11/tinyx-wscons/

    After fixing various compiler/architecture compatibility issues,
    I've built the XFree86 Xfbdev TinyX server for the Raspberry Pi
    and it runs fine on a RPi Zero. Interestingly seemingly every one
    of the X libraries built from the XFree86 sources was significantly
    smaller than those built from recent X.org on the Pi as well.

    Do you have these experiments recorded anywhere? It might be
    interesting to those dealing with minimalistic or retro systems.

    My impression was that there was some work on improving i18n
    support in X.org, and that's both a worthy effort IMO /and/
    tends to lead to bigger binaries. No idea if that's what's
    happened here, though.

    (As an aside, my hunch is that these size differences lead to
    measurable differences in carbon footprint, too.)

    The point is that efforts really haven't been directed at making X
    smaller in the recent years up to when the paid developers switched
    to Wayland, in fact the opposite has been happening. It's therefore unlikely that the same developers really care about improving that
    with Wayland.

    My point is that having, say, both Xrender and the "classic"
    X drawing API is redundant. But you cannot kill the former
    because of performance (including network performance, as was
    pointed out here in the news:E4loZOuxDjnPBjUj@violet.siamics.net
    thread), and you cannot kill the latter because of compatibility.

    I have to admit that modern X software has managed to maintain
    a degree of compatibility the other way around, though. For
    instance, the X server I use for running such, Xtightvnc(1),
    only lists 7 extensions implemented in xdpyinfo(1) output
    (BIG-REQUESTS, MIT-SHM, MIT-SUNDRY-NONSTANDARD, SHAPE, SYNC,
    XC-MISC, XTEST), and yet so far I've had no trouble running
    Chromium, Darktable, Gerbv, Kicad, Lgogdownloader, LibreOffice,
    Merkaartor, Openbox, Scribus, or Zathura, which is about
    everything I'm interested in in modern X. (And I'd venture
    to guess that they only really require BIG-REQUESTS + MIT-SHM,
    with XTEST as well for xdotool(1).)

    I'd perhaps be interested in running Eureka and Hugin, but
    those require GLX (the former as a compile-time option,
    enabled in the Debian build), which tends to be too slow
    to be usable when you stick to free software anyway. (On
    account of GPUs that do /not/ require proprietary software,
    sometimes vaguely referred to as "microcode," or outright
    misleadingly as "firmware," being so few and far apart as
    to practically being non-existent.)

    Those curious about why I use Xtightvnc(1), well, first, it
    works about the way I expect it to work, and second:

    [17 May 2024] T DSA-5694-1 chromium security update
    [17 May 2024] T DSA-5693-1 thunderbird security update
    [15 May 2024] T DSA-5692-1 ghostscript security update
    [15 May 2024] T DSA-5691-1 firefox-esr security update
    [15 May 2024] T DSA-5690-1 libreoffice security update
    [15 May 2024] T DSA-5689-1 chromium security update
    [12 May 2024] T DSA-5688-1 atril security update
    [10 May 2024] T DSA-5687-1 chromium security update
    [09 May 2024] T DSA-5686-1 dav1d security update
    [09 May 2024] T DSA-5682-2 glib2.0 regression update
    [08 May 2024] T DSA-5685-1 wordpress security update
    [09 May 2024] T DSA-5684-1 webkit2gtk security update
    [08 May 2024] T DSA-5683-1 chromium security update

    http://debian.org/security/

    Sorry, but I'm not comfortable running the software like the
    above on my "primary" box: it's either a separate machine, a
    VM, or a container. The last one is cheaper, so that's what
    I use (even though it admittedly offers the least isolation
    of the three); and VNC-over-SSH seems to work a bit better
    than Xephyr + $ ssh -X for modern X software IME.

    By the same virtue, I don't really need X proper for the
    above, but I still need whatever is supposed to replace it
    to work over SSH. And I /do/ need X for Xterm and such.

    (I do not use containers solely for modern X, mind you; the
    same considerations apply to, say, BIND vs. Unbound and NSD.)

    This is something that GUI environments out there seem to be
    lacking in general. You might say that GTK supports this, or Qt
    supports that, but can you really take a GTK or Qt application
    from 2004, build it on a contemporary system, and still have all
    that advertised support?

    I sure wouldn't, various Qt programs that I've used got dropped
    from the Debian package repo because they didn't support newer Qt
    releases and the old ones reached EOL. GTK is only better because
    people seem to find it easier to build old versions on newer Linux.
    I use various GTK1 and GTK2 applications, and the only newer one I
    use regularly with the still-supported GTK3 is Firefox.

    Which is to say, the claim that "GTK supports Wayland" is
    misleading: "GTK" would include "GTK1," and that surely doesn't.

    Curiously enough, GTK1 is still maintained in pkgsrc, as are
    various GTK1 applications; see [2].

    Also interesting is that even though "GTK" stands for "Gimp
    toolkit," Gimp itself has apparently decided to stick to GTK2.

    [2] http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/README-all.html

    The thing is: a modern toolkit's lifetime is ten years or so.
    Then it's discarded and replaced with something with the same
    name, yet entirely new API.

    Indeed, and to little if any obvious benefit for the GUI software
    I see. When an old program just uses Xlib directly, it takes away
    a lot of potential obstacles to making it work on a modern system.

    I'd still prefer software that uses Xaw over that which uses
    "bare" Xlib. For all their flaws, .Xresources / Xrdb provide
    a standardized and easy enough way to customize the look and
    behavior of X applications.

    FWIW, Tk has an implementation of a similar and compatible
    facility independent of X proper, but there's still slight
    advantage in libXt in that it also supports the Editres
    protocol. Sadly enough, about the only program to allow
    one to use that, editres(1), seemingly stopped to work a
    few Debian releases back now.

    And it's something that always bothered me about GTK1 / GTK2
    applications; and even though it's reportedly been rectified
    for GTK3, by now I've largely lost interest, TBH. I /do/ know
    my way around classic X, and I use modern X applications
    rarely enough that investing much time into learning how to
    customize their look no longer seems sensible.

    --
    FSF associate member #7257 np. Early Frost by Shane Jackman

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kenny McCormack@21:1/5 to Muttley@dastardlyhq.com on Wed May 22 15:51:57 2024
    In article <v2etjf$3savv$1@dont-email.me>, <Muttley@dastardlyhq.com> wrote: ...
    It seems to me the main argument for Wayland is "Its not X". When you try and

    Change or die.

    (aka, change for change's sake)

    find out what its actual advantages are you get vague nonsense about
    security and lack of cruft and a faster graphic instruction -> hardware path >, which may be true but the difference will be minimal with modern X >extensions and all but invisible with 99.9% of graphical applications unless >you maybe care about 60fps vs 65fps in some game.


    The Raspberry Pi world recently made the switch. They claim better
    performance on their "big" boards (the Pi4 and Pi5), but retain X for their earlier models.

    Which, on the face of it, is odd, since you would think you'd care the most about performance on the lesser boards. No, I'm not looking for an
    explanation of this.

    --
    Hindsight is (supposed to be) 2020.

    Trumpers, don't make the same mistake twice.
    Don't shoot yourself in the feet - and everywhere else - again!.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Ivan Shmakov on Wed May 22 22:07:30 2024
    On Wed, 22 May 2024 09:25:17 +0000, Ivan Shmakov wrote:

    It's certainly possible for current X maintainers to step down
    anytime they want to, but it's equally possible for someone to
    volunteer for the task in their stead.

    Of course, “volunteering” means “willing to do actual work”, as opposed to
    “carping from the sidelines”. There is no shortage of those willing to do the latter, but not so keen on the former.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ivan Shmakov@21:1/5 to All on Thu May 23 13:57:22 2024
    On 2024-05-22, Lawrence D'Oliveiro wrote:
    On Wed, 22 May 2024 09:25:17 +0000, Ivan Shmakov wrote:

    It's certainly possible for current X maintainers to step down
    anytime they want to, but it's equally possible for someone to
    volunteer for the task in their stead.

    Of course, "volunteering" means "willing to do actual work", as
    opposed to "carping from the sidelines".

    I have no reason to doubt that the majority of the
    participants to this discussion so far are fully aware
    of what "volunteering" means.

    I myself have maintained an MX + HTTP server for what was
    then Chair of Theoretical Physics at the uni as an unpaid
    volunteer from 2002 to 2012. Today they've had a disk issue,
    so I've spent a couple hours of my time helping them move
    /home from a 3 TB RAID1 to a 2 TB RAID1. (As in: did all the
    work, aside of installing the HDDs in the server's case and
    logging in as root, on account of not knowing the password.)

    It sure was nice to see that my former colleagues still have
    their mail from way back into my tenure as a sysadmin there.

    There is no shortage of those willing to do the latter, but not so
    keen on the former.

    Care to remind the group what have been your (unpaid)
    contributions to Wayland so far?

    I've tinkered with a number of X applications back in the
    day, but I suppose my most notable contributions to free
    software are those listed in GNU Emacs' etc/AUTHORS.

    --
    FSF associate member #7257 np. Out Run (cover) by Master Boot Record

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Ivan Shmakov on Thu May 23 22:00:56 2024
    On Thu, 23 May 2024 13:57:22 +0000, Ivan Shmakov wrote:

    Care to remind the group what have been your (unpaid)
    contributions to Wayland so far?

    If you want to know what I’ve done for Open Source, search for my name online.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Computer Nerd Kev@21:1/5 to Ivan Shmakov on Fri May 24 09:41:31 2024
    Ivan Shmakov <ivan@siamics.netremove.invalid> wrote:
    On 2024-05-14, Computer Nerd Kev wrote:
    XFree86 and later X.org used to include the TinyX servers that
    stripped out all but the bare essentials for a small, relatively self-contained, executable which worked (and still works) with
    most X software. The X.org developers lost interest in it many
    years ago and removed it, though some forks exist.

    Pointers?

    The TinyX forks are by the Puppy Linux and Tiny Core Linux distros: https://github.com/idunham/tinyxserver
    https://github.com/tinycorelinux/tinyx

    Puppy also has a Tiny Xlib:
    https://github.com/idunham/tinyxlib

    The Puppy forks might have been abandoned since their latest
    commits are from 2014. Tiny Core still uses their TinyX server as
    the default X server on their graphical Live CDs. As well as being
    smaller, it starts up much faster than current X.org.

    It's not something I think I've ever used myself; and like
    I've mentioned before, I'm not really interested in software
    that is no longer maintained (unless I decide to maintain it
    myself; but there's only so much productive time I can
    dedicate to the effort, you see.)

    Publicly maintaining an abandoned software project is likely to be
    much more work than tweaking some old source code just enough to
    compile on your own modern system. If you're worried about security
    issues then the latter prevents them from being caught by others,
    but niche software projects don't attract much attention to those
    anyway.

    That said, there's tinyx-wscons [1] in pkgsrc, which means
    "maintained" in my book. Somehow, the only binary listed is
    for the previous NetBSD version (9.3), and only for x86-64 at
    that, which may indicate it doesn't get as much maintenance
    as it really needs. Mayhaps someone here might look into
    what's wrong with it?

    [1] http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/x11/tinyx-wscons/

    I didn't know of that one (I don't use any of the BSDs), though
    it's based on the Tiny Core Linux TinyX. Looking at the commits,
    it actually seems much more actively maintained than the others,
    with a couple of commits this month. One is "Disable the use of
    -flto as it causes issues with NetBSD", so perhaps that refers to
    an issue which prevented it building for the current NetBSD when
    the Pkgsrc binaries were last compiled?

    https://github.com/AceHusky12/tinyx-wscons/commits/master/

    After fixing various compiler/architecture compatibility issues,
    I've built the XFree86 Xfbdev TinyX server for the Raspberry Pi
    and it runs fine on a RPi Zero. Interestingly seemingly every one
    of the X libraries built from the XFree86 sources was significantly
    smaller than those built from recent X.org on the Pi as well.

    Do you have these experiments recorded anywhere? It might be
    interesting to those dealing with minimalistic or retro systems.

    No, I did ask about packaging them for Tiny Core Linux's PiCore
    Raspberry Pi distro because their TinyX server doesn't build for
    ARM, but although it triggered some discussion nobody said they
    were actually interested in using it. That surprised me because
    X.org is slow on eg. the RPi Zero, so they're what I would use, but
    maybe I'm the only audience looking for it.

    Documenting my observations in detail might also be work for the
    benefit of an imagined audience. But maybe one day.

    My impression was that there was some work on improving i18n
    support in X.org, and that's both a worthy effort IMO /and/
    tends to lead to bigger binaries. No idea if that's what's
    happened here, though.

    I guess if that's so, it would be something I'd want to disable
    since I'm not interested in non-English characters (if I don't
    know what it means, then I don't care whether it's rendered). TinyX
    will display unicode characters from non-English languages, though
    I don't think I've seen an emoji work there except in Firefox
    (which I suspect renders such characters itself as graphics). But I
    find massive emoji-filled font packages obscene, so that's probably
    the first place I've broken them.

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Computer Nerd Kev on Fri May 24 00:29:22 2024
    On 24 May 2024 09:41:31 +1000, Computer Nerd Kev wrote:

    I don't think I've seen an emoji work there except in Firefox
    (which I suspect renders such characters itself as graphics).

    I thought Firefox, like a lot of other apps nowadays, uses a fallback
    font, like the “Noto” family that Google created expressly for this purpose.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Muttley@dastardlyhq.com@21:1/5 to Lawrence D'Oliveiro on Fri May 24 08:47:36 2024
    On Thu, 23 May 2024 22:00:56 -0000 (UTC)
    Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
    On Thu, 23 May 2024 13:57:22 +0000, Ivan Shmakov wrote:

    Care to remind the group what have been your (unpaid)
    contributions to Wayland so far?

    If you want to know what I’ve done for Open Source, search for my name >online.

    Nothing much is the answer looking at your gitlab page. A few mickey mouse shell scripts and python modules. Hardly the heavy lifting graphics development you implied.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Computer Nerd Kev@21:1/5 to Ivan Shmakov on Fri May 24 21:35:27 2024
    Ivan Shmakov <ivan@siamics.netremove.invalid> wrote:
    Also interesting is that even though "GTK" stands for "Gimp
    toolkit," Gimp itself has apparently decided to stick to GTK2.

    It looks like it's just taking them a long time to rewrite it for
    GTK3:

    "The next big update will be v3.0 that will feature GTK+3 port and
    a lot of internal changes."
    http://www.gimp.org/release-notes/gimp-2.10.html#roadmap-and-whats-next

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Computer Nerd Kev on Fri May 24 21:37:01 2024
    On 24 May 2024 21:35:27 +1000, Computer Nerd Kev wrote:

    It looks like it's just taking them a long time to rewrite [GIMP] for
    GTK3 ...

    And in the meantime, we already have GTK4.

    And also in the meantime, many distros have dropped Python 2, which means
    their GIMP 2.x packages no longer have Python support.

    If anybody is interested in a solution, I have been working on one here <https://gitlab.com/ldo/pylibgimp2>.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)