9front - general discussion about 9front
 help / color / mirror / Atom feed
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?


  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).