[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A Critique: Getting Started with GNUstep on Windows

From: Sergio L. Pascual
Subject: Re: A Critique: Getting Started with GNUstep on Windows
Date: Fri, 19 Feb 2016 09:13:51 +0100

You're right, for the most part. From a user's perspective, Wayland
gives nothing. For developers, most of the problems solved with
Wayland, are solved one way or the other with X11 too (in fact, I think
this is one of the reasons why Wayland adoption levels are that low). 

What Wayland gives you that X11 doesn't, is a clean start on the
graphics stack, which is something very valuable for things like
implementing support for some of Apple's Core* frameworks. In exchange,
you need to be willing to work on building your own Wayland compositor,
with its own set of extensions.

But for me, one of the reasons I started working on the Wayland
backend, was to use it as a stepping stone for experimenting with the
idea of a pure GNUstep Desktop. And by "pure", I mean one where it
would be hard to run a non-GNUstep desktop application (obviously, this
only applies to GNUstep with the Wayland backend, you would be able to
use other backends usual).

Why would someone want such a thing? Easy, to avoid laziness. Would you
work on a GNUstep browser, or email client, if you can already run the
X11 versions of Chrome or Thunderbird? I think this is the main reason
why projects with such scarce resources like Syllable OS or Haiku OS
are able to build and maintain their own, pretty decent native ports or
alternatives for these applications. They have no other option.

I known porting all kind of apps to yet another platform would mean
lots of boring, dull work. That's why I'd like to explore the idea of
extending GNUstep to achieve a reasonably grade of source level
compatibility with Apple's SDK (yup, this would mean supporting Swift
too, at some point). A long (really long, indeed) term goal, would be
being able to build the Cocoa ports of Firefox and/or Chrome, with the
minimum number of changes possible.

That said, I think I must explain that the main motivation behind all
of this. While I'm a happy GNU/Linux user, I reckon this OS is a PITA
for desktop application developers. And it doesn't make any sense. At
the very beginning, Linux (the kernel) targeted POSIX compatibility as
a way of attracting developers. For some reason, when the Desktop days
came, most developers ignored with strategy, and was replaced with
fragmentation and a ridiculous tendency to break the API every 2-3
years. That's why I think that aiming for compatible (with OSX, at
least), coherent and stable API is a worthy goal.

Obviously, this is *my* vision, and where I intend to invest *my*
(scarce) free time working on. I don't pretend for this to become the
main focus of the GNUstep project as a whole.


On Thu, 2016-02-18 at 09:30 +0000, David Chisnall wrote:
> On 17 Feb 2016, at 19:53, Gregory Casamento <address@hidden
> > wrote:
> > 
> > Why not wayland?  
> Because it’s a distraction.  Wayland can run X11 apps fine.  You gain
> nothing from Wayland that you wouldn’t have from just dropping
> support for early '90s X11 implementations.
> > Network transparency is not something which is super important
> > these days even on the rpi.   Wayland brings us a number of
> > advantages:
> > 
> > * native compositing
> X.org has compositing via a compositing manager.  Wayland moves it in
> process, which has a negligible performance improvement at the
> expense of a reliability and security (the compositing manager in X11
> is usually stateless and can happily be restarted if it crashes).
> > * it expects frameworks to draw their own Windows something we do
> > extremely well.
> But if you actually want to have a useable environment, then you need
> all of the applications to agree on how they decorate windows, which
> is something that we do extremely badly.
> > * it supports true window transparency
> So does X11, as long as you are running a compositing manager, which
> all modern DEs do by default.
> > * it allows animations and such to be done much more l easily if
> > and when needed 
> How?  It gives you an OpenGL context.  So does X11.  If you want to
> use OpenGL as the compositing target, then you get all of this from
> X11 too (and, actually, can share most of the code on Windows /
> Wayland).  Given that Mesa’s LLVMPipe now works pretty well even on
> comparatively slow processors, this might be a sensible thing to do.
> > * etc
> > 
> > I think we really need to question whether X truly serves our
> > needs.  No one is saying leave it behind.  What we are saying is to
> > take advantage of the things wayland does for us. 
> The only significant difference between X11 and Wayland is that X11
> has a somewhat overengineered and Lisp-like mechanism for doing drag-
> and-drop, whereas Wayland has one that is fundamentally incompatible
> with the OpenStep APIs (and with low-latency GUI applications).
> We could invest a lot of developer time and effort (at least, if we
> had some developer time and effort to waste) in a Wayland back end,
> but the end result would be GNUstep looking and feeling on Wayland
> exactly as it would if we didn’t bother.
> David
> -- Sent from my IBM 1620
> _______________________________________________
> Discuss-gnustep mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep

reply via email to

[Prev in Thread] Current Thread [Next in Thread]