7 ms·
I hope I dont sound bitter, but most decent graphics engine developers have created renderers that are a couple of generations ahead of the open source GUI tool
by smallstepforman 3y ago
I hope I dont sound bitter, but most decent graphics engine developers have created renderers that are a couple of generations ahead of the open source GUI toolkit renderers. There are several of us that can truely bring next gen rendering to the open source desktop, however we’re working for gamedev companies (they pay our bills), and we have no time to contribute to open source stacks. If the community can organise a regular budget to pay for such devs, then you’d see a significant rendered snd toolkit updates. Same with other open source apps.
- devnonymous 3y agoThe ^community^ here are people like you - those who also have to pay bills but contribute anyways, in whatever way they can by using the software and occasionally contributing code. While yes it would be great if a community could raise funds, that coordination job itself would have to become someone's not-paying-the-bills work. As much as I love Open source/Free/Libre software and am grateful it exists (and contributing to it, when possible), I've a long held belief that it is the pursuit of the privileged. You need to have the privilege of free time and then the privilege of being able to choose to spend that free time on something that doesn't improve your standard of living and then the privilege of being able to do it consistently.
- throwaway89988 3y agoSadly I totally agree: Open Source is the playground of people who can afford it. I benefited a lot of Open Source in my career, life so I am very thankful for all contributors (and try to give back in money/time, when I can afford one or the other). What really annoys me, that my government does not mandate that software build with tax money must be Open Source. That would go a long way to fund Open Source and improve the quality.
- notyoutube 3y agoWhat government is that?
- red_trumpet 3y agoI dunno, all of them? Which governments mandate open source software when calling for bids?
- germandiago 3y agoI do not think it should be mandated. But it should be promoted
- neoberg 3y agoBulgaria does. https://git.egov.bg/explore/projects https://git.egov.bg/explore/projects
- notyoutube 3y ago(I wasn't trying to make a point.) As far as I know, that's what the initiatives like PMPC¹ are for. I think in Switzerland, a law recently passed that seems to go in that direction² (Open Source should by default but some leniency as far as I can interpret the text). According to this³ OSOR report, something similar happened in Italy in 2019. So, I think we're slowly going in that direction in Europe. ¹: https://download.fsfe.org/campaigns/pmpc/PMPC-Modernising-with-Free-Software.pdf https://download.fsfe.org/campaigns/pmpc/PMPC-Modernising-wi... ²: https://www.admin.ch/gov/fr/accueil/documentation/communiques.msg-id-98828.html https://www.admin.ch/gov/fr/accueil/documentation/communique... ³: https://joinup.ec.europa.eu/sites/default/files/inline-files/OSS%20Country%20Intelligence%20Report_IT_0.pdf https://joinup.ec.europa.eu/sites/default/files/inline-files...
- coldtea 3y ago>The ^community^ here are people like you - those who also have to pay bills but contribute anyways In principle, yes. In practice, most of the "community" is paid developers for companies like RedHat. So while they do have to pay the bills, they do so by those FOSS contributions.
- devnonymous 3y agoTrue. I recognize that my statement was a bit simplistic. That said, in the context of what the OP was saying, unfortunately, this is a chicken-and-egg situation. For someone, like the OP, who would like to get paid to do OSS, they'd need to have a reasonably active OSS presence prior to being hired at places like Red Hat. Which is another aspect of my original point of contributing to FLOSS being the pursuit of the privileged.
- seftggedf 3y agoWhat do you want the community to do? Pitch in with money from their day jobs so a gamedev savior can come in and make things render slightly faster? At the expense of hideous unmaintable code that only a gamedev genius could understand ?
- pid-1 3y agoSome open source projects hire full time developers with donations / sponsor money (e.g. python, zig). I'm not saying that's the correct approach for GTK, just noting is not an absurd idea.
- coldtea 3y agoYeah, because there aren't well maintained pro rendering engines /s And FOSS devs always create non-hideous maintanable code that everybody understands /s
- olau 3y agoSome of the people working on GTK are funded by Red Hat or otherwise. If you're really interested, you could try talking to people. Edit: In particular, Matthias Clasen, the guy blogging here, has been with Red Hat for many years.
- bmitc 3y agoWhy don't you get your company to pay for it?
- lukan 3y agoWhy should they, if they are interested in releasing games or a game engine?
- bmitc 3y agoThen why should this happen? > If the community can organise a regular budget to pay for such devs, then you’d see a significant rendered snd toolkit updates. Same with other open source apps.
- lukan 3y agoErm, if the linux community comes together - then it can happen. But the employer of a game engine dev is not part of that community and probably simply does not care. So if you care and feel the call, go organize something. I care, but have other duties.
- deleted 3y ago[deleted]
- themerone 3y agoHow many of these game engines are abstracted at a level where you can swap in a pdf or svg backend? How many of them support cmyk and and print units? I'm only scratching the surface of things a gui renderer needs that a game engine doesn't. I'm very skeptical that a bunch of game developers are going to whip together something that crushes Skia in performance without sacrificing a ton of capabilities.
- lukan 3y ago"swap in a pdf or svg backend" I am not sure, if I understand you right, but do you mean rendering to pdf or svg instead of the GPU? If so, are there real world use cases? "crushes Skia in performance without sacrificing a ton of capabilities" Same question, what of those capabilities are really in use and needed? Linux GUIs in general are really not a beacon of light, in terms of performance or usability. I strongly suspect things could be better, if some bloat would be removed. I am amazed with what is possible with PixiJS, a renderer for the Web, using WebGL and soon WebGPU. Having something simple, but powerful as the base, would be my way to go.
- hmry 3y agoSaving websites as PDF comes to mind. If taking screenshots of windows as SVG was possible I would definitely use it.
- lukan 3y agoA screenshot of a rasterized image saved in SVG is not something I see any use for. It will be a bloated monstrosity. SVG is vector graphics, when you already have pixels - there is no clear way going back.
- chris_wot 3y agoI think he means taking the scenegraph and saving it directly to SVG. Pretty much how it would be done for PDF.
- mananaysiempre 3y ago> [M]ost decent graphics engine developers have created renderers that are a couple of generations ahead of the open source GUI toolkit renderers. Step one: get the knowledge out there. Have those developers at least, I don’t know, talked about what makes those toolkits better at GDC?
- lynx23 3y agoThat sounds a lot like modern extortion. I sincerely hope this attitude does not creep into FLOSS and Open Source more then it already did. Imagine a volunteer firefighter who has found a well paying job announcing "If you'd pay me more, your house wouldn't have burnt down."
- coldtea 3y agoA better analogy is volunteer firefighters not cutting it, houses burning down left and right, and a professional firefighter saying "I'd like to come work in your district and help with firefighting, and I could do a much better job than the volunteer guys, but I need to get paid to work". >I sincerely hope this attitude does not creep into FLOSS and Open Source more then it already did If you took away people working on FOSS because they're paid to, that wouldn't contribute or drop to 1/10th the rate otherwise, you removed the most prolific and important maintainers and contributors of lots of huge FOSS projects.
- PaulDavisThe1st 3y agoSince I just recently completed my certification as a Firefighter I/II (also Wildland FF 2), and have been an open source developer for more than 35 years, with the last 25 years of that being full time and the last 15 having FLOSS as my actual income source, I'd like to comment. The primary difference between professional firefighters and their volunteer counterparts is hours on the job. When I graduated from the state academy, I knew as much as about firefighting as any of my fellow graduates and had been through precisely the same training requirements. However, the gap is going to open up very rapidly since the career guys will be doing regular shifts every week, whereas I will be answering 1-3 calls a month on average, most of which will not be fire-related. A year from now, the career guys will be even more familiar with everything we learned during our certification training and more, while I will be working hard to remember any of it. So the question is: how well does this analogy hold for s/w development? It doesn't. First of all, the gap between most proprietary development outcomes and their FLOSS equivalents has more to do with UI/UX design questions than actual coding skills. At the source code level, it's generally proprietary projects that are "burning down left and right" (shoddily and quickly built, with inadequate attention to engineering and insufficient caring about one's work due to marketing deadlines). Secondly, the difference between proprietary developers and their FLOSS equivalents in terms of hours of experience is not deterministic. It's going to be a function of employers, personalities, life situation. Plenty of (typically younger) FLOSS developers squeeze in more quality hours on their FLOSS work than their proprietary cousins do. Thirdly, a firefighter only gets to put out the fires that actually happen. A software developer can pick their own problems and goals and work on them at any time. There's no relationship between the outside world and your ability to advance your skills and knowledge.
- Const-me 3y agoCouple times in the past I have implemented GPU-targeted GUI renderers, here’s an example: https://github.com/Const-me/Vrmac?tab=readme-ov-file#vector-graphics-engine https://github.com/Const-me/Vrmac?tab=readme-ov-file#vector-... https://github.com/Const-me/Vrmac/blob/master/Vrmac/Draw/VAA.md https://github.com/Const-me/Vrmac/blob/master/Vrmac/Draw/VAA... 2D graphics have very little in common with game engines. The problem is very different in many regards. In 2D, you generally have Bezier and other splines on input, large amount of overdraw, textures coming from users complicate VRAM memory management. OTOH, game engines are solving hard problem which are irrelevant to 2D renderers, like dynamic lighting, volumetric effects, and dynamic environment.
- lukan 3y agoThere is PixiJS, a 2D web graphic engine. It is really, really fast. I can imagine something like this, as the base.
- Jasper_ 3y agoPixiJS is the easy problem, blitting a bunch of premade textures to the screen. The much harder problem is getting curveTo() and text and gradients and strokes, etc.
- lukan 3y agoThat is all or mostly possible with PixiJS or an extension to my knowledge. Edit: but then again, Pixi uses the HTML canvas element for text drawing, which uses the browsers text capabilities. So yes, at some point and somewhere those functionalities need to be implemented
- interactivecode 3y agoSure canvas can render text, but its filled with problems and limitations. It doesn’t do linewrapping or any of the font rendering correctly. Doesn’t do aliasing correctly. It needs so much hand holding and manual handling to render semi decent that basically all canvas apps just opt out and use html to render text on top of canvas. Canvas is almost always the wrong choice if you want to do layouts.
- Jasper_ 3y agoI'd be very skeptical about that. I work in the game industry, and while our 3D renderers are very good, I have not seen a 2D UI renderer I would feel is at all competive. What are you using for path and pattern rendering?
- germandiago 3y agoI am using rmlui in ly own small game. Not sure how good it is.
- aulin 3y agoThere are several companies employing devs for this kind of free software work. If you think you could contribute you can apply for them. I guess you will probably find there are already brilliant and competent people working on this stuff and the problem is not so easy as you believe.
- BlueTemplar 3y agoGame engines can afford to be generations ahead : they might even be targeting specific hardware (single console release), they typically assume a sandboxed environment that they are in total control of (at best, they'll make a limited and tightly controlled GUI framework for modders), they might have restricted themselves to a limited number of inputs/outputs (single screen with a specific resolution, gamepad only), they don't have to worry about unknown unknown uses by other developers... None of these apply to a generalist renderer, therefore it can only "lag behind" the game ones. (Unless maybe if we're talking about the "human side of the question" : what are the best designs, layouts for a generalist human/machine interface ? Here it's the generalist GUIs that I would expect to be a couple of generations ahead (Xerox' labs, Apple's Macintosh, IBM's Common User Access standard, CERN's World Wide Web...)
- BlueTemplar 3y agoThe recent "The things nobody wants to pay for in open source (lwn.net)" https://news.ycombinator.com/item?id=39151000 https://news.ycombinator.com/item?id=39151000 comes to mind...
- maeln 3y agoI am a bit skeptical about this. I feel like game UI toolkit and desktop GUI framework live in two separate world with different expectation. At least, in my humble experience, having to have used both in my career. GTK/Qt are usually good/very good with their integration with the OS, accessibility feature, keyboard navigation, handling of features like copy/paste, ... These are the kinds of things that game ui toolkit tend to completely forgo since they don't need it, and focus instead on performance, theming, integration with a game engine, ... Theoretically, you could say that the renderer is agnostic with this, but in practice, it is not completely true. And also with the simple fact that you have a limited budget to work on feature, and they both rather work on different feature. Having a very fast and accurate renderer is just not as important for desktop GUI framework than for game UI toolkits.
- bsder 3y agoText is the sine qua non of GUIs. Text is also the bane of renderers--there is a reason why we have exactly 3 text shaping engines--Windows, Apple, Harfbuzz. Text is a beast to deal with and is often ill-specified. Text is also the bane of GPUs--we don't have good GPU-only algorithms for taking a string of text, handing that to the GPU, and having the GPU render that directly to a buffer. Text is also something that games suck at rendering. SDF (signed distance fields) are considered a good rendering of text in the 3D world and they are blurry as hell. I do think that the modern GUI world is going in a lot of wrong directions, but you must deal with text accurately to call yourself a real GUI.
- thisislife2 3y agoYou may be surprised to know that the open source Godot game engine has also been adopted by some developers as a GUI toolkit (See Standalone Tools and Applications Made with Godot GUI - https://alfredbaudisch.com/blog/gamedev/godot-engine/standalone-applications-made-with-godot-gui-softwares-tools/ https://alfredbaudisch.com/blog/gamedev/godot-engine/standal... ).
- johnnyanmac 3y agogame devs are already relatively underpaid for the value they bring to companies. I don't know how an open source initiative can even afford a single professional graphics developer. Also, you say they are a couple of generations ahead, but do these kinds of software need to be bleeding edge? Even many games don't, the kinds of software in research labs that do pay even better than gamedev (and of course require PhD's and whatnot).
- deleted 3y ago[deleted]
- stonogo 3y agoI can't think of a segment of user interfaces worse for accessibility than game development. Generally speaking, the game-centric UI toolkits and immediate-mode GUIs are very pretty but completely lack any accessibility hooks, including the ability for a screen reader to even know there is text present. If GNOME switched to gamedev-style UIs, I would probably just go buy a Macbook.