<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta" -->

---
title: Keeping Xamarin.Forms Alive on Linux: A GTK-Only...
description: Xamarin.Forms reached end-of-life in May 2024, and .NET MAUI offers no GTK backend, leaving Linux desktop users without a migration path. This post details a...
canonical: https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Keeping Xamarin.Forms Alive on Linux: A GTK-Only Maintenance Fork on .NET 10 | daily.dev
og:description: Xamarin.Forms reached end-of-life in May 2024, and .NET MAUI offers no GTK backend, leaving Linux desktop users without a migration path. This post details a...
og:url: https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta
og:image: https://api.daily.dev/og/posts/CBRoefcta.png
og:image:alt: Keeping Xamarin.Forms Alive on Linux: A GTK-Only Maintenance Fork on .NET 10
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Keeping Xamarin.Forms Alive on Linux: A GTK-Only Maintenance Fork on .NET 10

**[C\# Corner](https://daily.dev/sources/csharpcorner)** · 12 min read · 2 upvotes · 1 comments

## Summary

Xamarin.Forms reached end-of-life in May 2024, and .NET MAUI offers no GTK backend, leaving Linux desktop users without a migration path. This post details a maintenance fork of Xamarin.Forms 5.0.0 that strips everything except the GTK platform backend, retargets it to .NET 10, migrates tests from NUnit to xUnit v3, and publishes packages under the Net4x. prefix on NuGet. Key engineering decisions covered include: pruning all non-GTK platform projects to eliminate untestable dead code, handling optional native dependencies (WebKitGTK, OpenGL) via runtime degradation rather than build-time switches, a custom GTK test harness (GtkTestHost) with hard-won rules around event-loop pumping and Xvfb quirks, and MSBuild tripwires that turn previously silent packaging bugs into hard build failures. The post is candid about scope — it is not a replacement for MAUI on mobile — but argues the fork is genuinely useful for existing Forms codebases needing a Linux desktop target or a modern SDK while a MAUI migration proceeds.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.csharp.com/article/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10>

## Community discussion

Top comments from developers on daily.dev.

**@emmanjr** · 0 upvotes

> doesn't even bother to mention or share the actual repository.

## Similar posts on daily.dev

- [New Maui.Gtk Project Provides A GTK4 Backend For Microsoft's .NET MAUI](https://daily.dev/posts/new-maui-gtk-project-provides-a-gtk4-backend-for-microsoft-s-net-maui-0lmhu1l5k) · Phoronix · 3 upvotes · 0 comments
- [Build Modern .NET MAUI Apps with .NET 11 \[Webinar Show Notes\]](https://daily.dev/posts/build-modern-net-maui-apps-with-net-11-webinar-show-notes--wlsnsznb2) · Syncfusion · 9 upvotes · 0 comments
- [How to Transition to Cross-Platform Development](https://daily.dev/posts/how-to-transition-to-cross-platform-development-uga1o4nlv) · Telerik · 0 upvotes · 0 comments
- [.NET MAUI Moves to CoreCLR in .NET 11](https://daily.dev/posts/net-maui-moves-to-coreclr-in-net-11-mnv8fdq81) · .NET Blog · 14 upvotes · 1 comments

---

Tags: [#linux](https://daily.dev/tags/linux), [#.net](https://daily.dev/tags/.net), [#xamarin](https://daily.dev/tags/xamarin)

[View this post on daily.dev](https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Keeping Xamarin.Forms Alive on Linux: A GTK-Only Maintenance Fork on .NET 10","url":"https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta"},"datePublished":"2026-08-04T04:42:38.610Z","dateModified":"2026-08-24T07:07:14.271Z","description":"Xamarin.Forms reached end-of-life in May 2024, and .NET MAUI offers no GTK backend, leaving Linux desktop users without a migration path. This post details a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/81f698b062e81502c45df6b257ae3843?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/81f698b062e81502c45df6b257ae3843?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"C# Corner","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"C# Corner","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ada2d584df6241748fc4e71878dc70a3","url":"https://daily.dev/sources/csharpcorner"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"linux,.net,xamarin","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"C# Corner","item":"https://daily.dev/sources/csharpcorner"},{"@type":"ListItem","position":3,"name":"Keeping Xamarin.Forms Alive on Linux: A GTK-Only Maintenance Fork on .NET 10"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/keeping-xamarin-forms-alive-on-linux-a-gtk-only-maintenance-fork-on-net-10-cbroefcta","comment":[{"@type":"Comment","text":"doesn’t even bother to mention or share the actual repository.","datePublished":"2026-08-06T03:09:56.447Z","url":"https://daily.dev/posts/CBRoefcta#c-90FXxMQhn","author":{"@type":"Person","name":"J.","url":"https://daily.dev/emmanjr","image":"https://avatars.githubusercontent.com/u/176351546?v=4"}}]}
```

