a4d9d2c1eb314bbf9d94967b7beb9c27f2b0c10f
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
.NET MAUI Linux Platform
A comprehensive Linux platform implementation for .NET MAUI using SkiaSharp rendering.
Developed by MarketAlly LLC Lead Architect: David H. Friedel Jr.
Overview
This project brings .NET MAUI to Linux desktops with native X11/Wayland support, hardware-accelerated Skia rendering, and full platform service integration.
Key Features
- Full Control Library: 35+ controls including Button, Label, Entry, CarouselView, RefreshView, SwipeView, and more
- Native Integration: X11 and Wayland display server support
- Accessibility: AT-SPI2 screen reader support and high contrast mode
- Platform Services: Clipboard, file picker, notifications, global hotkeys, drag & drop
- Input Methods: IBus and XIM support for international text input
- High DPI: Automatic scale factor detection for GNOME, KDE, and X11
Quick Start
Installation
# Install the template
dotnet new install Microsoft.Maui.Linux.Templates
# Create a new project
dotnet new maui-linux -n MyApp
cd MyApp
# Run
dotnet run
Manual Installation
dotnet add package Microsoft.Maui.Controls.Linux --prerelease
Supported Controls
| Category | Controls |
|---|---|
| Basic | Button, Label, Entry, Editor, CheckBox, Switch, RadioButton |
| Layout | StackLayout, ScrollView, Border, Page |
| Selection | Picker, DatePicker, TimePicker, Slider, Stepper |
| Display | Image, ImageButton, ActivityIndicator, ProgressBar |
| Collection | CollectionView, CarouselView, IndicatorView |
| Gesture | SwipeView, RefreshView |
| Navigation | NavigationPage, TabbedPage, FlyoutPage, Shell |
| Menu | MenuBar, MenuFlyout, MenuItem |
| Graphics | GraphicsView, Border |
Platform Services
| Service | Description |
|---|---|
ClipboardService |
System clipboard access |
FilePickerService |
Native file open dialogs |
FolderPickerService |
Folder selection dialogs |
NotificationService |
Desktop notifications (libnotify) |
GlobalHotkeyService |
System-wide keyboard shortcuts |
DragDropService |
XDND drag and drop protocol |
LauncherService |
Open URLs and files |
ShareService |
Share content with other apps |
SecureStorageService |
Encrypted credential storage |
PreferencesService |
Application settings |
BrowserService |
Open URLs in default browser |
EmailService |
Compose emails |
SystemTrayService |
System tray icons |
Accessibility
- AT-SPI2: Screen reader support for ORCA and other assistive technologies
- High Contrast: Automatic detection and color palette support
- Keyboard Navigation: Full keyboard accessibility
Requirements
- .NET 9.0 SDK or later
- Linux (kernel 5.4+)
- X11 or Wayland
- SkiaSharp native libraries
System Dependencies
Ubuntu/Debian:
sudo apt-get install libx11-dev libxrandr-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev
Fedora:
sudo dnf install libX11-devel libXrandr-devel libXcursor-devel libXi-devel mesa-libGL-devel fontconfig-devel
Documentation
Sample Application
using Microsoft.Maui.Platform;
var app = new LinuxApplication();
app.MainPage = new ContentPage
{
Content = new VerticalStackLayout
{
Spacing = 10,
Children =
{
new Label
{
Text = "Welcome to MAUI on Linux!",
FontSize = 24
},
new Button
{
Text = "Click Me"
},
new Entry
{
Placeholder = "Enter your name"
}
}
}
};
app.Run();
Building from Source
git clone https://github.com/open-maui/maui-linux.git
cd maui-linux
dotnet build
dotnet test
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Architecture
┌─────────────────────────────────────────────────┐
│ .NET MAUI │
│ (Virtual Views) │
├─────────────────────────────────────────────────┤
│ Handlers │
│ (Platform Abstraction) │
├─────────────────────────────────────────────────┤
│ Skia Views │
│ (SkiaButton, SkiaLabel, etc.) │
├─────────────────────────────────────────────────┤
│ SkiaSharp Rendering │
│ (Hardware Accelerated) │
├─────────────────────────────────────────────────┤
│ X11 / Wayland │
│ (Display Server) │
└─────────────────────────────────────────────────┘
Roadmap
- Core control library (35+ controls)
- Platform services integration
- Accessibility (AT-SPI2)
- Input method support (IBus/XIM)
- High DPI support
- Drag and drop
- Global hotkeys
- Complete Wayland support
- Hardware video acceleration
- GTK4 interop layer
License
Copyright (c) 2025 MarketAlly LLC. Licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- MarketAlly LLC - Project development and maintenance
- SkiaSharp - 2D graphics library
- .NET MAUI - Cross-platform UI framework
- The .NET community
MIT License Copyright (c) 2025 MarketAlly LLC Lead Architect: David H. Friedel Jr. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Description
A comprehensive Linux platform implementation for .NET MAUI.
http://www.openmaui.net
Releases
1
Languages
C#
100%