Re: Surprise - New Post on the GtkD Coding Blog
Another new post, a continuation of the GTK/GIO Application discussion, can be found here: https://gtkdcoding.com/2021/09/10/0113-gtk-gio-application-ids-signals.html
Re: Surprise - New Post on the GtkD Coding Blog
On Thursday, 9 September 2021 at 15:22:39 UTC, Adam D Ruppe wrote: On Thursday, 9 September 2021 at 08:52:34 UTC, Dukc wrote: I thought that the Wayland architecture is in some way fundamentally better than X architecture That's what the wayland propagandists like to say... Interesting details, thanks.
Re: Surprise - New Post on the GtkD Coding Blog
On Thursday, 9 September 2021 at 08:52:34 UTC, Dukc wrote: I thought that the Wayland architecture is in some way fundamentally better than X architecture That's what the wayland propagandists like to say (now... earlier they'd play up the similarities to make the "rewrite it" pill easier to swallow), but it isn't really true. Wayland's graphics system is a subset of X's - it takes the direct rendering component and leaves the others out - then combines the X compositor, X window manager, and X server into one component, when they then call the wayland compositor. But it is important to realize that direct rendering clients on X - which has been around since before Wayland was born - already work essentially the same way. The client gets a gpu buffer and does opengl rendering to it. Then they signal the display manager - whether X server or Wayland compositor - to show the buffer on screen and they do it when the time is right (e.g. vblank syncing). X does support other models too, but this is a good thing because it allows backward compatibility, better network efficiency, and simpler applications to just do simpler things too. Removing features people actually use in the real world is rarely that beneficial. So what is the major difference for graphics architecture? In X, the compositor is an entirely optional component. In Wayland, it is integrated into the display manager. That's the only real difference. What is a compositor? It is responsible for taking the images from each individual application and layering them on top of each other if you want additional scaling, transformation (like rotation), or transparency in between windows. Inside an individual window, you have all those things regardless of compositor. Traditional X servers can layer images without transparency or external scaling without any trouble at all. It only comes in when you want those fancier graphics things to happen without cooperation between windows. If you're thinking "that's not actually all that useful anyway", yeah me too. I've never used a compositor on my own system at all. Wayland claims that integrating this optional component provides a performance benefit by avoiding the cost of the additional context switch and synchronization. There's one place where that's legitimately true: exposing a window on a remote network connection. With core X, the server sends an expose event, then the client sends back a blit command from its buffer, or the drawing commands if it doesn't have one. Due to network latency, this can results in some visual lag and some flash as the server paints over a simple background color, then the client paints over it again. Wayland, of course, sees zero change here because it has zero support for this operation. Its network support - to the extent that there is any at all - is more like VNC screen share than X's remote commands. Anyway, even locally, that context switch thing is technically true but also almost certainly irrelevant since that cost is insignificant next to the time spent waiting for the vsync anyway if you use the direct rendering facility. It has a little more truth when comparing non-direct-rendering clients, but again Wayland sees zero benefit here because it simply has zero support for these use cases at all. Those programs just plain don't work. They must be rewritten to target Wayland which means they'd be forced to switch to a direct render system. But if you're rewriting the application anyway, you could just port the X application to the direct render infrastructure too. Anyway, just for background, since a compositor works with these older style applications a bit differently - those clients are not written with the extension apis in mind and assume they are going directly to the screen (well actually there's non-DRI clients that sync to double buffers too, you can render to pixmaps in the traditional api and blit it over (all core X functionality there) with a sync trigger which was provided as an extension in 1991, or you can use the XRender extension which provides an explicit double buffer function, which was provided as an extension in 2000) - the compositor intercepts the final draw to screen and redirects it to another buffer, then does the alpha blend etc on that before getting to the actual screen. It may need to guess which draws to screen are supposed to be immediate and which are already buffered and synced by the application which can introduce a bit of additional lag; it might vsync twice, for example. This is rare in practice, but when the implementation gets it wrong, you do get either a missed frame or mid-frame screen tear. But like that's an older API being used on a buggy implementation. Again, if your fix is to rewrite the application anyway, you can just use the different api and/or fix the bug in your existing implementation. There's no real world benefit. A
Re: Surprise - New Post on the GtkD Coding Blog
On Wednesday, 8 September 2021 at 19:35:21 UTC, Adam D Ruppe wrote: The short version is the wayland devs were hyperfocused on one use case and missed the big picture. This led them to wrongly believe that the majority of X is completely useless legacy bloat, so instead of patching up the one use case, they threw it all out. [snip the bit longer version] I thought that the Wayland architecture is in some way fundamentally better than X architecture, the same way D templates are fundamentally better than imitating them with a macro preprocessor, C or otherwise. But I think you said that it was not about anything that required a redesign from ground up. Like, redesigning the whole Phobos because `Algebraic` sucks instead of adding `SumType` would be our analogy of what Wayland devs did. I have to study differences in their approach more before I decide which I personally prefer.
Re: Surprise - New Post on the GtkD Coding Blog
On Tuesday, 7 September 2021 at 12:29:14 UTC, Dukc wrote: On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote: (i loathe and despise wayland but ill try not to rant) Have you written more about this on your blog? I have not (well not directly anyway, wayland flamewars is one of the things that directly inspired this post: http://dpldocs.info/this-week-in-d/Blog.Posted_2021_03_08.html#adam's-rant ). The short version is the wayland devs were hyperfocused on one use case and missed the big picture. This led them to wrongly believe that the majority of X is completely useless legacy bloat, so instead of patching up the one use case, they threw it all out. ...then they have spent 13 years slowly reinventing it doing extension after extension and revision after revision after revision, and still haven't actually even reliably fixed the one issue they complained about... while X actually did patch it up if you opt into it (via the dri2 and sync extensions) and it does a pretty good job. They also bring up spurious security complaints - which have been around since the 90's btw but never materialized into a real problem - which are also patched via X extensions or nested servers. It could certainly be better but a version 1.1 or 2.0 of the security extension could realistically fix that up, no need to throw everything out. (Notice how Microsoft made similar changes in Windows without a significant breakage of backward and interoperation compatibility.) So they broke everything for no benefit. Again. It is just like the broken audio stuff. And then it really annoys me that the wayland proponents are rarely well educated on X, saying things that are just untrue. So that ups the flamewars to 11.
Re: Surprise - New Post on the GtkD Coding Blog
On Tuesday, 7 September 2021 at 23:28:00 UTC, Imperatorn wrote: Welcome back! 🍀 Thanks, Imperatorn. BTW, if anyone has questions about any of the articles, GtkD Coding has a brand-spanking new commenting feature.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. [...] Welcome back! 🍀
Re: Surprise - New Post on the GtkD Coding Blog
On Tue, Sep 07, 2021 at 12:29:14PM +, Dukc via Digitalmars-d-announce wrote: > On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote: > > (i loathe and despise wayland but ill try not to rant) > > Have you written more about this on your blog? I have read more than > one piece that wishes good riddance of X in favour of Wayland, I'd > like to read something about the "but" side. I for one will *not* be happy about X being dropped in favor of Wayland, esp. since the latter is not (yet?) at feature parity (or better) with X. T -- Right now I'm having amnesia and deja vu at the same time. I think I've forgotten this before.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote: (i loathe and despise wayland but ill try not to rant) Have you written more about this on your blog? I have read more than one piece that wishes good riddance of X in favour of Wayland, I'd like to read something about the "but" side.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. I hope I haven't completely lost my good will here in the D-lang community. I'm feeling better now, the medication seems to be working, and I've got a new article... well, it was already in the works last year when I stopped posting, but I've edited the heck out of it and hopefully it's up to my usual standards. At the top of the article, I ask whether or not anyone is still interested in reading articles about GtkD 3.9 (Mike Wey released GtkD 4 a couple of weeks ago) and I explain why I'm not all that keen on making the transition. Please let me know in comments (Yes, GtkD Coding now has comments) if you think it's still worth writing articles centred around 3.9. Thanks. Here's the link: https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html Good to see another post :) Even tho I've still not used GtkD yet, I've still learned a few things from your blog posts over the years and it'll definitely be a help when/if I ever decide to use it.
Re: Surprise - New Post on the GtkD Coding Blog
On Monday, 6 September 2021 at 01:59:10 UTC, Joel wrote: Great to hear from you again. I've GUI programs that I use every day (a diary program, and a Bible program). Also sometimes use a GUI Money program. I really appreciated your help. Glad to be of help, Joel.
Re: Surprise - New Post on the GtkD Coding Blog
On Saturday, 4 September 2021 at 11:50:44 UTC, Mike Wey wrote: On 03-09-2021 20:42, M.M. wrote: I just recently visited your blog, and was wandering whether it's over now... I also visited gtkd website, and was wandering whether it's over now (the website still shows a wrapper for GTK 3.24). Happy to see you are back and well. I wonder where did you learn about a new gtkD release? Anyway, on the long run, I guess covering GTK 4 will be very welcome. The GTK 4 version still needs work and isn't released yet. I currently don't have the time to work on it, but i hope i am able to resume working on it later this year. Glad to hear you still have some work for gtkd on mind. (I recall your announcement along the lines of seeking someone to step-in for the help with gtkd.) Given the success of gtkd, it would be a pity if gtk4 did not get into it. Good luck finding time (and joy) to work on it. I appreciate the work.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. I hope I haven't completely lost my good will here in the D-lang community. I'm feeling better now, the medication seems to be working, and I've got a new article... well, it was already in the works last year when I stopped posting, but I've edited the heck out of it and hopefully it's up to my usual standards. At the top of the article, I ask whether or not anyone is still interested in reading articles about GtkD 3.9 (Mike Wey released GtkD 4 a couple of weeks ago) and I explain why I'm not all that keen on making the transition. Please let me know in comments (Yes, GtkD Coding now has comments) if you think it's still worth writing articles centred around 3.9. Thanks. Here's the link: https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html Great to hear from you again. I've GUI programs that I use every day (a diary program, and a Bible program). Also sometimes use a GUI Money program. I really appreciated your help.
Re: Surprise - New Post on the GtkD Coding Blog
On Saturday, 4 September 2021 at 11:50:44 UTC, Mike Wey wrote: The GTK 4 version still needs work and isn't released yet. I currently don't have the time to work on it, but i hope i am able to resume working on it later this year. Just FYI, don't hurry back to it on my account. :) The only explanation I can find for thinking it was out is that I must have seen (must have saw?) a gtk4 download link and misread it.
Re: Surprise - New Post on the GtkD Coding Blog
On Saturday, 4 September 2021 at 11:50:44 UTC, Mike Wey wrote: The GTK 4 version still needs work and isn't released yet. I currently don't have the time to work on it, but i hope i am able to resume working on it later this year. Thanks for the update, Mike. I still haven't found the link that led me to believe it was already out. Sorry, all, to be misleading.
Re: Surprise - New Post on the GtkD Coding Blog
On 03-09-2021 20:42, M.M. wrote: I just recently visited your blog, and was wandering whether it's over now... I also visited gtkd website, and was wandering whether it's over now (the website still shows a wrapper for GTK 3.24). Happy to see you are back and well. I wonder where did you learn about a new gtkD release? Anyway, on the long run, I guess covering GTK 4 will be very welcome. The GTK 4 version still needs work and isn't released yet. I currently don't have the time to work on it, but i hope i am able to resume working on it later this year. -- Mike Wey
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: (Yes, GtkD Coding now has comments) And now it does again. Thanks for all the good wishes, guys. It's good to be back. On Friday, 3 September 2021 at 18:42:25 UTC, M.M. wrote: Happy to see you are back and well. I wonder where did you learn about a new gtkD release? I found something about it yesterday, but can't find it now. Very odd. If/when I do come across it again, I'll reply to this thread again. On Friday, 3 September 2021 at 18:42:25 UTC, M.M. wrote: Anyway, on the long run, I guess covering GTK 4 will be very welcome. Just to be clear, I was planning to just continue with coverage of GtkD 3. Please let me know if you're for that. On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote: so if it isn't gtk's own ideology, it is now the lowest common denominator on linux. (i loathe and despise wayland but ill try not to rant) It's good to know I'm not the only one! :) On Friday, 3 September 2021 at 20:31:04 UTC, Ferhat Kurtulmuş wrote: Nice to know you are fine and active. Î was about to ask forum that what happened to Ron. Best wishes. Thanks, Ferhat.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. [...] Nice to know you are fine and active. Î was about to ask forum that what happened to Ron. Best wishes.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html "GTK team dropped window position handling" im p sure the wayland system either doesn't support it or STRONGLY discourages it if it was added in an extension. so if it isn't gtk's own ideology, it is now the lowest common denominator on linux. (i loathe and despise wayland but ill try not to rant)
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. I hope I haven't completely lost my good will here in the D-lang community. I'm feeling better now, the medication seems to be working, and I've got a new article... well, it was already in the works last year when I stopped posting, but I've edited the heck out of it and hopefully it's up to my usual standards. At the top of the article, I ask whether or not anyone is still interested in reading articles about GtkD 3.9 (Mike Wey released GtkD 4 a couple of weeks ago) and I explain why I'm not all that keen on making the transition. Please let me know in comments (Yes, GtkD Coding now has comments) if you think it's still worth writing articles centred around 3.9. Thanks. Here's the link: https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html I just recently visited your blog, and was wandering whether it's over now... I also visited gtkd website, and was wandering whether it's over now (the website still shows a wrapper for GTK 3.24). Happy to see you are back and well. I wonder where did you learn about a new gtkD release? Anyway, on the long run, I guess covering GTK 4 will be very welcome.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: (Yes, GtkD Coding now has comments) It did last time I looked, but somehow they've disappeared. I'm too tired to sort it out today, but I'll do my best to get this sorted out in the morning. Thanks for your patience.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 16:10:39 UTC, Mike Parker wrote: On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. Good to see you back, Ron. Thanks, Mike.
Re: Surprise - New Post on the GtkD Coding Blog
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote: Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. Good to see you back, Ron.
Surprise - New Post on the GtkD Coding Blog
Has it really been 15 months since I last posted an article? Um, yes. Yes, it has. I hope I haven't completely lost my good will here in the D-lang community. I'm feeling better now, the medication seems to be working, and I've got a new article... well, it was already in the works last year when I stopped posting, but I've edited the heck out of it and hopefully it's up to my usual standards. At the top of the article, I ask whether or not anyone is still interested in reading articles about GtkD 3.9 (Mike Wey released GtkD 4 a couple of weeks ago) and I explain why I'm not all that keen on making the transition. Please let me know in comments (Yes, GtkD Coding now has comments) if you think it's still worth writing articles centred around 3.9. Thanks. Here's the link: https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html