From: ori@eigenstate.org
To: 9front@9front.org
Subject: Re: [9front] Thoughts on Wayland?
Date: Mon, 05 Aug 2024 04:29:21 -0400 [thread overview]
Message-ID: <A8BD5B6C26444EF0887A3EA3DD6BA789@eigenstate.org> (raw)
In-Reply-To: <f2059f4e-e85f-4e1b-a367-5e9522540e5a@howhill.com>
shared memory just isn't a very good model for distributed systems.
devdraw is more or less what you get if you make a slimmed down cairo
the native drawing model, and talk to it over a pipe for rpcs, but your
musings are gradually reinventing devdraw :)
Quoth Willow Liquorice <willow@howhill.com>:
> I gave this some more thought, and "just shim Cairo" has a lot of
> potential footguns, and it comes down to memory (again). What if you
> tried using one of the functions in memory(2) – common to both OSs – on
> a piece of memory that is touched by Cairo (and is, therefore, remote).
cairo supports many backends; a devdraw backend would not be that
difficult; shared memory is not necessary.
A good one would be harder, but even so it would not be that bad;
devdraw's model is still a reasonable fit for cairo -- there are
several missing features, but the model matches. Specifically,
off the top of my head, cairo would need:
* scaling matrices
* antialiasing
* gradients
as devdraw rpcs, and then cairo could do all of the heavy lifting
in devdraw.
> On 04/08/2024 22:10, Willow Liquorice wrote:
> > It sounds like the "shared memory" concept Wayland uses is the tricky
> > bit, then, because you can't put the same RAM stick in two different
> > machines.
> >
> > Though, if I'm understanding pipe(3) correctly, it reads like the right
> > tool to talk to the compositor.
> >
> > Thinking about it, I guess the compositor and the in-use graphics
> > resources (hardware, software, data) ought to be resident on the same
> > physical system: a "GPU server", by analogy with a CPU server, though
> > "composition server" is probably a more accurate term.
> >
> > Thinking about it even more, if *all* graphics resources, in use or not,
> > are resident on the GPU server, you don't have to shove huge fonts or
> > textures over the network, just the rendered images (or diffs!) and some
> > RPCs to a process resident on the GPU server to get it drawing what you
> > want.
> >
> > How on earth that makes a program that uses Pango+Cairo, or something
> > like that, play nicely on 9 I have no idea… more shims for client programs?
> >
> > I suppose every terminal is, in and of itself, a GPU server. Maybe I'm
> > overthinking it.
> >
> > On 04/08/2024 20:59, Eli Cohen wrote:
> >> actually, drawing fast locally (and GPU stuff especially for
> >> computation) is definitely a plan 9 concept too and is also being
> >> worked on separately from wayland, and possibly on linux... so... plan
> >> 9 is an OS for networks that may include plan 9 machines, linux
> >> machines, iPhones, etc... it's a "unix made out of a network of
> >> computers" not a "network made out of unix computers"
> >>
> >> On Sun, Aug 4, 2024 at 12:54 PM Eli Cohen <echoline@gmail.com> wrote:
> >>>
> >>> always better to be a willow that bends than the strongest oak in a
> >>> storm :)
> >>>
> >>> there's a common misconception that plan 9 is an OS for a computer.
> >>> plan 9 is an OS for a network. drawing fast locally is not a plan 9
> >>> concept. plan 9 is a 9P multiplexer. a wayland shim for
> >>> linux/mac/bsd/etc that renders to draw somewhere else on the network
> >>> would be good and appreciated and a relevant plan 9 concept and
> >>> people are working on it... but for a fast local wayland
> >>> implementation, that's what linux is, and linux can be and is a part
> >>> of plan 9 which is an OS for a network
> >>>
> >>> On Sun, Aug 4, 2024, 12:46 PM Stuart Morrow <morrow.stuart@gmail.com>
> >>> wrote:
> >>>>
> >>>> How do you share memory over rcpu?
next prev parent reply other threads:[~2024-08-05 8:34 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-04 19:26 Willow Liquorice
2024-08-04 19:44 ` Stuart Morrow
2024-08-04 19:49 ` Willow Liquorice
2024-08-04 19:54 ` Eli Cohen
2024-08-04 19:59 ` Eli Cohen
2024-08-04 20:04 ` Eli Cohen
2024-08-04 20:05 ` Eli Cohen
2024-08-04 20:09 ` Willow Liquorice
2024-08-04 20:29 ` Eli Cohen
2024-08-04 21:23 ` ori
2024-08-04 21:43 ` ori
2024-08-04 22:00 ` David Leimbach
2024-08-04 22:22 ` ori
2024-08-04 22:42 ` David Leimbach
2024-08-04 22:57 ` ori
2024-08-04 21:10 ` Willow Liquorice
2024-08-04 21:24 ` ori
2024-08-04 21:25 ` Eli Cohen
2024-08-05 8:13 ` Willow Liquorice
2024-08-05 8:29 ` ori [this message]
2024-08-05 8:52 ` sirjofri
2024-08-05 8:57 ` Noam Preil
2024-08-05 9:12 ` sirjofri
2024-08-05 11:51 ` hiro
2024-08-05 9:03 ` Willow Liquorice
2024-08-05 11:05 ` Shawn Rutledge
2024-08-05 12:01 ` hiro
2024-08-05 12:26 ` sirjofri
2024-08-05 11:15 ` David Arnold
2024-08-05 11:47 ` hiro
2024-08-05 12:35 ` sirjofri
2024-08-04 20:01 ` Willow Liquorice
2024-08-04 21:23 ` sirjofri
2024-08-04 20:08 ` mkf9
2024-08-04 20:35 ` Willow Liquorice
2024-08-04 20:32 ` Pavel Renev
2024-08-04 21:31 ` ori
2024-08-05 6:09 ` Noam Preil
2024-08-05 8:02 ` hiro
2024-08-05 11:51 ` Shawn Rutledge
2024-08-06 16:37 ` hiro
2024-08-06 17:57 ` sirjofri
2024-08-07 9:27 ` Steve simon
2024-08-07 11:47 ` hiro
2024-08-05 12:54 ` Willow Liquorice
2024-08-05 13:13 ` [9front] Fortune worthy Steve simon
2024-08-05 20:06 ` [9front] Thoughts on Wayland? Jon Sharp
2024-08-06 0:07 ` Eli Cohen
2024-08-06 0:09 ` Eli Cohen
2024-08-06 1:57 ` Michael Misch
2024-08-06 13:01 ` Emil Tomczyk
2024-08-04 22:27 ` Dave MacFarlane
2024-08-05 6:10 ` Noam Preil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=A8BD5B6C26444EF0887A3EA3DD6BA789@eigenstate.org \
--to=ori@eigenstate.org \
--cc=9front@9front.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).