35 comments

[ 2.5 ms ] story [ 52.3 ms ] thread
I wish they support Linux wholeheartedly, a lot of toolkits and GUI frameworks do it by half-assing things, mostly because Wayland is difficult to understand.

In Wayland you have multiple ways to render windows, not just the XDG top level window. It works via surfaces, and here is a list I've discovered so far:

  - XDG Top Level Window
  - Child Window
  - Popup Surface
  - Layer surface (like task-bars, shell overlays)
  - Subsurface (region in another surface)
  - IME Panel Surface (surface that follows text cursor)
There probably is others too.

It is diffifcult to find high-level toolkits that support all of the above.

In X11 we kept things simple by offering:

* Core protocol drawing (lines, rectangles, arcs, the classics)

* XRender for compositing and alpha

* XShm for shared-memory blits

* GLX if you felt like bringing a GPU to a 2D fight

* XVideo for overlay video paths

* Pixmaps vs Windows, because why have one drawable when you can have two subtly different ones

* And of course, indirect rendering over the network if you enjoy latency as a design constraint

Wayland is a mess.

Perhaps https://github.com/X11Libre/xserver can revive the older ecosystem. Almost nobody writes for wayland. About two years ago I tried to switch, then gave up when I realised how many things are missing on wayland. And then I noticed that barely anyone wrote software for wayland. It feels like a corporate advertisement project really. GNOME and KDE push for wayland now.

lol, has it ever occoured to you that the ones who ACTUALLY do write software, such as for example KDE, GNOME, actually prefer wayland?

not to mention GTK and Qt, both supporting wayland.

Most software vendors never talked to X directly either. You seem extremely misinformed

Why is Wayland so complicated? I thought half the reason for breaking with X11 was to produce a simpler window server. I was flabbergasted when I realized that there were competing compositors for seemingly no benefit to anyone.
it's not just "difficult to understand". It's that it doesn't allow the functionality the apps need. And you can't have a generic library targeting each wayland compositor implementation separately.
Microsoft adding Linux support for yet another framework nobody asked for while WinForms still exists in 2026 is very on brand.
Excited for this. I do wonder how much effort it will be to get an existing app working with this.
What is unclear to me, is how does it work with Avalonia pricing wise? If I am having commercial application for Windows, Android, MacOS, iOS (Microsoft MAUI range) then according to [1] I would need to dish out 125000 EUR per application. But it was never clear to me what are the conditions which actually triggers the difference between free and paid plan.

[1] https://avaloniaui.net/xpf/pricing

avalonia xpf is xplat wpf runtime on top avalonia, paid. avalonia maui is xplat maui runtime on top avalonia, mit for now. avalonia have they own ui called avaloniaUI also xplat, free.
The rewrite from Xamarin.Forms into MAUI, has given a bad taste to many in the community, and kudos to Avalonia to make it happen on GNU/Linux.

By the way on macOS MAUI uses Catalyst as backend, not native macOS APIs.

Also it is kind of interesting that Miguel de Icaza, nowadays completely switched into Swift ecosystem, and is the responsible for making game development on iPad with Godot a reality. Or porting old .NET ideas of his into Swift.

> By the way on macOS MAUI uses Catalyst as backend, not native macOS APIs.

What does this mean? Mac Catalyst is native. It’s just a thin bridge between iPhone’s UIKit and AppKit on MacOS, which are really the only two divergent frameworks in the entirety of the massive Apple SDK.

(comment deleted)
From a quick look, I can't find a reason. why? Even MS doesn't fully believe in Maui, as it seems they reblessed WPF. For Avalonia to do the work of MS seems weird, their own free regular WPF-like Avalonia UI toolkit is already the standard for cross desktop development.

I was looking for the line: Microsoft sponsored us. Even then I would not understand why they would spend effort on a doomed project. I know Avalonia being a small company has a big task ahead of porting Avalonia UI to Wayland, which makes porting MS semi-abandonware all the more confusing.

But since these people aren't idiots, I gladly assume I am missing something.

> But since these people aren't idiots, I gladly assume I am missing something.

Microsoft politics. Someone who’s aware please confirm but I want to say it’s something like…

Different orgs jockey for power and you can see when the wrong orgs and initiatives influence different products.

What I can’t tell is whether it’s established teams scrambling to stay relevant. Or if it’s new teams and products imposing their influence where they shouldn’t.

But the Windows team doesn’t want to see Linux get traction, so they’ll do their part to hamper any OS shims or any native-first functions in Office.

The Office org wants to expand beyond Windows but for political reasons, the only add-in tech without platform lock-in is JS so they ally with the Azure/Cloud team to allow third parties to create add-ins.

Because of this partnership, rather than making a streamlined add-in store, publishers are required to learn the full complexities of Entra and the Partner centers.

I imagine the UX and .NET orgs are caught in similar political battles; but without any direct income or product to influence.

If I had to guess, they were in the Windows team at one point; but with the platform-independent initiatives (good) it’s been a shitshow over the past 20+ years for desktop developers (bad).

> Even MS doesn't fully believe in Maui

Source: I made it up.

Between MAUI and Avalonia, Avalonia is the superior framework when it comes to technical quality as well as community response. What Avalonia doesn't have is the enterprise component libraries MAUI has. As part of this move Avalonia is about to reel in these libraries, as well as a whole bunch of MAUI teams.

In other words; Avalonia is coming for MAUIs turf.

Accessibility bridging between .NET MAUI and Avalonia is currently limited.

Nowhere near production ready, got it.

Almost nobody needs accessibility; let's be realistic, it's obviously not a priority. The priority is to put this out the door (MVP style).
This is the first preview release. It’s targeting a preview of .NET 11, which should help you understand that it’s not intended to be used in production right now.

We don’t expect this to graduate from a preview until November. There’s plenty of time to sort out Accessibility.

A question I'm sure you might have been asked before - will this support mobile too? It would be nice if it did. I would certainly like to try it. It does feel like being able to use Avalonia and MAUI in mobile would be extremely beneficial.
Nice, I love MAUI but hate that it has no support for Linux. The only option I have is Avalonia and Photino. I love .NET but when I want to make a GUI I reach for other languages because Microsoft despite reinventing their .NET GUI stack every few years, they never add Linux support. Personally I prefer to use their built-in stuff as much as possible.
I’ve been using Claude to build native versions of a couple of apps and what was once unthinkable (maintaining multiple code bases) is now fairly trivial. And Electron/Tauri implementations are high quality.

I’m not sure platforms like Maui are necessary anymore.

I did note the comment “if you don’t want Liquid Glass” as a direct response to GenAI native development.

Time will tell.

This is a relatively opaque article for someone who isn't up on dotnet's GUI frameworks.

So am I understanding correctly that Avalonia, the OSS project, is contributing an AvaloniaUI backend upstream to Microsoft's MAUI library, which is itself OSS? Ergo, someone using MAUI can now use its integrated AvaloniaUI backend to target platforms that were previously not available using MAUI, mainly Linux?

Happy to be corrected if I'm misunderstanding something.

I read the title and thought it was odd that the MAUI project "is coming to Linux", because I had it in mind the KDE project with that name, https://mauikit.org/. Looks like what is announced in the article is something different.
Wonder how would it looks like if we run MAUI over Avalania over Flutter Impeller over browser's WebGPU.
I am a big fan of MAUI, but I'd really wish they fixed existing issues instead of extending it further. 3.9k open issues and counting. I've got 5 open, verified bugs, some from 2023 :(
Microsoft, please keep your shit out of Linux