Gtk+4.x and broadway ( and other remote options )

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Gtk+4.x and broadway ( and other remote options )

Daniel Kasak-4
Hi all.

I posting here in response to comments on bug:
https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
support likely to be removed from Gtk+4.0 ).

I think it would be a massive pity to drop broadway support from gtk.
It's been a god-send for me and those I work with - it provides the
best remote access to gtk apps and performs way better than vnc. I've
actually been working on an authentication + transparent proxy for
broadway, so multiple users can access multiple apps all via https on
port 443: https://tesla.duckdns.org/transparent-proxy-for-broadway-gtk3-html5-backend/

I've dabbled in C here and there ( mainly patching minor bugs ). It's
been quite a long time since I used it at all. However I'm interested
in attempting to keep broadway support alive. I currently develop gtk
apps ( every day ) using the Perl bindings. So I'm familiar with it
from an application-developer perspective.

I have no idea how big/complex a task it is I'm talking about. Could
someone please comment on the difficulty of keeping broadway support
working, given the planned gtk+4.x changes. I guess this would be
easier if someone offers to mentor me ( please ) - though I realise we
all have busy lives.

Another option, if the task is too large or difficult for me, is to
either offer a bounty here, or to post a project on something like
freelancer. I also realise that work done via freelancer would
possibly be of questionable quality, and would quite possibly break
with later gtk+ versions again. Any comments on this option?

Another option would be another remote-desktop / remote-app
capability. I've read a little on wayland / weston and RDP. I think
RDP would be a reasonable option, though haven't managed to get it
working yet.

What does everyone think my best options are, and why?

Dan
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

RE: Gtk+4.x and broadway ( and other remote options )

Gtk+ - Dev - General mailing list

Hi Daniel,

 

The main issue with Broadway is that:

 

It is considered an experimental GDK backend, and it is not really kept up to date with the developments in GTK-3.x

 

Specifically what this means is that there isn’t OpenGL support in it (we need OS/platform-level support for OpenGL for creating and switching (making current) OpenGL contexts), which likely needs to be done with WebGL, which most probably needs to be done in the .js file in the broadway subdir in gdk/.  GTK+-4.x is going to switch to GL drawing, at least for the majority of the various components, which makes OpenGL support a requirement.

 

AFAIK, the backends that have the needed support are x11, Wayland, mir and Windows.

 

If you know how to do initialize OpenGL in WebGL (ie Javascript), please let the people know here, as this is what I think is mainly what needed for Broadway to stay.

 

With blessings, and cheers!

 

Windows 10 手機傳送

 

寄件者: [hidden email]
傳送時間: 2016127 11:18
收件者: [hidden email]
主旨: Gtk+4.x and broadway ( and other remote options )

 

Hi all.

 

I posting here in response to comments on bug:

https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway

support likely to be removed from Gtk+4.0 ).

 

I think it would be a massive pity to drop broadway support from gtk.

It's been a god-send for me and those I work with - it provides the

best remote access to gtk apps and performs way better than vnc. I've

actually been working on an authentication + transparent proxy for

broadway, so multiple users can access multiple apps all via https on

port 443: https://tesla.duckdns.org/transparent-proxy-for-broadway-gtk3-html5-backend/

 

I've dabbled in C here and there ( mainly patching minor bugs ). It's

been quite a long time since I used it at all. However I'm interested

in attempting to keep broadway support alive. I currently develop gtk

apps ( every day ) using the Perl bindings. So I'm familiar with it

from an application-developer perspective.

 

I have no idea how big/complex a task it is I'm talking about. Could

someone please comment on the difficulty of keeping broadway support

working, given the planned gtk+4.x changes. I guess this would be

easier if someone offers to mentor me ( please ) - though I realise we

all have busy lives.

 

Another option, if the task is too large or difficult for me, is to

either offer a bounty here, or to post a project on something like

freelancer. I also realise that work done via freelancer would

possibly be of questionable quality, and would quite possibly break

with later gtk+ versions again. Any comments on this option?

 

Another option would be another remote-desktop / remote-app

capability. I've read a little on wayland / weston and RDP. I think

RDP would be a reasonable option, though haven't managed to get it

working yet.

 

What does everyone think my best options are, and why?

 

Dan

_______________________________________________

gtk-devel-list mailing list

[hidden email]

https://mail.gnome.org/mailman/listinfo/gtk-devel-list

 


_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Gtk+ - Dev - General mailing list
In reply to this post by Daniel Kasak-4
Il giorno mer 07 dic 2016 04:18:24 CET, Daniel Kasak ha scritto:

> Hi all.
>
> I posting here in response to comments on bug:
> https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
> support likely to be removed from Gtk+4.0 ).
> [...]


it would be great if I could use my gtk apps in browser as i do with  
html/css/js/etc apps (for example: responsive windows, access to  
client resources as files and printers, etc.)

yes, i'm a fan of broadway backend; i hate programming "traditional" web apps


if i can help in any way... i'm here!!!
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Sébastien Wilmet-2
In reply to this post by Daniel Kasak-4
On Wed, Dec 07, 2016 at 02:18:24PM +1100, Daniel Kasak wrote:
> Another option, if the task is too large or difficult for me, is to
> either offer a bounty here, or to post a project on something like
> freelancer. I also realise that work done via freelancer would
> possibly be of questionable quality, and would quite possibly break
> with later gtk+ versions again. Any comments on this option?

See https://www.gtk.org/support.php

IMHO Igalia would be a good choice, since they have a lot of expertise
on web browser technologies (WebKitGTK+ and Epiphany among other
things).

> Another option would be another remote-desktop / remote-app
> capability. I've read a little on wayland / weston and RDP. I think
> RDP would be a reasonable option, though haven't managed to get it
> working yet.

There is also Waltham, a generic Wayland-style IPC over network, still
in development:
https://lists.freedesktop.org/archives/wayland-devel/2016-October/031413.html

--
Sébastien
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Brion Vibber
In reply to this post by Daniel Kasak-4
On Tue, Dec 6, 2016 at 8:00 PM, Fan, Chun-wei via gtk-devel-list <[hidden email]> wrote:
Specifically what this means is that there isn’t OpenGL support in it (we need OS/platform-level support for OpenGL for creating and switching (making current) OpenGL contexts), which likely needs to be done with WebGL, which most probably needs to be done in the .js file in the broadway subdir in gdk/.  GTK+-4.x is going to switch to GL drawing, at least for the majority of the various components, which makes OpenGL support a requirement.

 

AFAIK, the backends that have the needed support are x11, Wayland, mir and Windows.

 

If you know how to do initialize OpenGL in WebGL (ie Javascript), please let the people know here, as this is what I think is mainly what needed for Broadway to stay.


WebGL is roughly equivalent to a JavaScript API for OpenGL ES 2 (not full OpenGL). Since it runs on the remote browser side, not in-process with the app, I believe you'd need support in the local (app-side) OpenGL driver to get the GL calls made in the app to actually talk to the web page.


I think there are two main possibilities:

1) Remote the OpenGL commands over the network to JS running in the Broadway renderer's HTML page, assuming that quasi-OpenGL ES 2 is enough to do GTK+'s rendering (or that any necessary bits can be emulated in WebGL).

This may require replacing the OpenGL library provider with a custom one, or digging around in Mesa3d to provide a suitable driver.


2) Use local headless GL rendering with default software or native GPU rendering, with some way to push on-screen bitmap updates as efficiently as possible over the network.

For native GPU, may require suitable permissions to access the kernel drivers.


I'm not sure how easy either is, though both should be possible.

-- brion

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Alexander Larsson
In reply to this post by Daniel Kasak-4
On ons, 2016-12-07 at 14:18 +1100, Daniel Kasak wrote:

> Hi all.
>
> I posting here in response to comments on bug:
> https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
> support likely to be removed from Gtk+4.0 ).
>
> I think it would be a massive pity to drop broadway support from gtk.
> It's been a god-send for me and those I work with - it provides the
> best remote access to gtk apps and performs way better than vnc. I've
> actually been working on an authentication + transparent proxy for
> broadway, so multiple users can access multiple apps all via https on
> port 443: https://tesla.duckdns.org/transparent-proxy-for-broadway-gt
> k3-html5-backend/

So, there are two issues with broadway.

First of all, I wrote it mostly as a proof of concept of an interesting
idea. I have zero cycles to spend on it anymore, nor do any of the
other people who currently work on Gtk+. Its still there, because it
just works and is not really a burden on the existing code unless you
use it.

Secondly, while it just keeps working in gtk3, the same is not true for
Gtk4. We're doing massive changes to the internals of the drawing
model, with the end goal of having a much more modern base targeting
how current GPU hardware works. This is very much not how broadway
works though, so there is some conflict here. For now, we have fallback
code for the rendering that keeps broadway working, so we're keeping it
around, but if at any point broadway becomes a problem to keep working
we're going to drop. I don't really forsee this happening at the
moment, but there are no guarantees.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc
       [hidden email]            [hidden email]
He's a lonely bohemian shaman on his last day in the job. She's a
beautiful psychic schoolgirl looking for love in all the wrong places.
They fight crime!
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Daniel Kasak-4
Hi Alexander. I appreciate you clarifying this for us. It was a nice surprise to read on Phoronix recently that you're still committing fixes & improvements to the broadway codebase. I'd like to understand - has anything changed in the past year that's brought you back to broadway? I know there are still a handful of users around who would love to see this continue ( some of them email me directly, and I have to answer: "sorry - I'm just a user as well" ). If throwing money at the problem works, we might be able to arrange that, maybe via a crowdfunding page, or something less formal. Would it be worth it to you or Redhat?

Dan

On Fri, Dec 16, 2016 at 2:25 AM, Alexander Larsson <[hidden email]> wrote:
On ons, 2016-12-07 at 14:18 +1100, Daniel Kasak wrote:
> Hi all.
>
> I posting here in response to comments on bug:
> https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
> support likely to be removed from Gtk+4.0 ).
>
> I think it would be a massive pity to drop broadway support from gtk.
> It's been a god-send for me and those I work with - it provides the
> best remote access to gtk apps and performs way better than vnc. I've
> actually been working on an authentication + transparent proxy for
> broadway, so multiple users can access multiple apps all via https on
> port 443: https://tesla.duckdns.org/transparent-proxy-for-broadway-gt
> k3-html5-backend/

So, there are two issues with broadway.

First of all, I wrote it mostly as a proof of concept of an interesting
idea. I have zero cycles to spend on it anymore, nor do any of the
other people who currently work on Gtk+. Its still there, because it
just works and is not really a burden on the existing code unless you
use it.

Secondly, while it just keeps working in gtk3, the same is not true for
Gtk4. We're doing massive changes to the internals of the drawing
model, with the end goal of having a much more modern base targeting
how current GPU hardware works. This is very much not how broadway
works though, so there is some conflict here. For now, we have fallback
code for the rendering that keeps broadway working, so we're keeping it
around, but if at any point broadway becomes a problem to keep working
we're going to drop. I don't really forsee this happening at the
moment, but there are no guarantees.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc
       [hidden email]            [hidden email]
He's a lonely bohemian shaman on his last day in the job. She's a
beautiful psychic schoolgirl looking for love in all the wrong places.
They fight crime!


_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Alexander Larsson
Sorry, there is no real change, I still have no time to work on broadway "for real". I just spent a couple of days converting the broadway backend to match the changes that are happening in gtk4 "for fun". Unfortunatelly it just ended up with me and a huge todo-list and no more time to work on it...

Maybe someone else is interested in consulting work on it though?

On Thu, Dec 7, 2017 at 6:13 AM, Daniel Kasak <[hidden email]> wrote:
Hi Alexander. I appreciate you clarifying this for us. It was a nice surprise to read on Phoronix recently that you're still committing fixes & improvements to the broadway codebase. I'd like to understand - has anything changed in the past year that's brought you back to broadway? I know there are still a handful of users around who would love to see this continue ( some of them email me directly, and I have to answer: "sorry - I'm just a user as well" ). If throwing money at the problem works, we might be able to arrange that, maybe via a crowdfunding page, or something less formal. Would it be worth it to you or Redhat?

Dan

On Fri, Dec 16, 2016 at 2:25 AM, Alexander Larsson <[hidden email]> wrote:
On ons, 2016-12-07 at 14:18 +1100, Daniel Kasak wrote:
> Hi all.
>
> I posting here in response to comments on bug:
> https://bugzilla.gnome.org/show_bug.cgi?id=775680 ( summary: broadway
> support likely to be removed from Gtk+4.0 ).
>
> I think it would be a massive pity to drop broadway support from gtk.
> It's been a god-send for me and those I work with - it provides the
> best remote access to gtk apps and performs way better than vnc. I've
> actually been working on an authentication + transparent proxy for
> broadway, so multiple users can access multiple apps all via https on
> port 443: https://tesla.duckdns.org/transparent-proxy-for-broadway-gt
> k3-html5-backend/

So, there are two issues with broadway.

First of all, I wrote it mostly as a proof of concept of an interesting
idea. I have zero cycles to spend on it anymore, nor do any of the
other people who currently work on Gtk+. Its still there, because it
just works and is not really a burden on the existing code unless you
use it.

Secondly, while it just keeps working in gtk3, the same is not true for
Gtk4. We're doing massive changes to the internals of the drawing
model, with the end goal of having a much more modern base targeting
how current GPU hardware works. This is very much not how broadway
works though, so there is some conflict here. For now, we have fallback
code for the rendering that keeps broadway working, so we're keeping it
around, but if at any point broadway becomes a problem to keep working
we're going to drop. I don't really forsee this happening at the
moment, but there are no guarantees.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc
       [hidden email]            [hidden email]
He's a lonely bohemian shaman on his last day in the job. She's a
beautiful psychic schoolgirl looking for love in all the wrong places.
They fight crime!




--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                Red Hat, Inc 
       [hidden email]         [hidden email] 

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: Gtk+4.x and broadway ( and other remote options )

Sébastien Wilmet-2
On Thu, Dec 07, 2017 at 08:57:46AM +0100, Alexander Larsson wrote:
> Maybe someone else is interested in consulting work on it though?

There is a list of consultancy partners here:
https://www.gtk.org/support.php
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list