LinuxFiles is an independent Linux-only file manager built with C#/.NET 10 and Uno Platform's Skia desktop host. Alpha8 prefers native Wayland through the forked Uno 6.7.135-wayland.7 packages and falls back to X11/XWayland, without Windows or Wine.
Based on Files by the Files Community and its contributors, this fork is not affiliated with or endorsed by the Files Community. LinuxFiles has no Windows support or upstream sync. Individual upstream fixes may be brought over selectively with attribution; see the upstream policy.
Status: alpha. Expect missing features and rough edges. Keep backups and report problems in this fork's issue tracker.
- Tabs, Home and sidebar navigation, Details/List/Grid/Cards layouts, sorting and grouped views.
- Copy, move, rename, delete, trash and restore; file clipboard and native Wayland or X11 drag and drop.
- Archive browsing and extraction, search, file previews, tags and a Properties window with POSIX permissions.
- UDisks2 drive mounting and ejecting, GVfs network/MTP locations, desktop file launchers and KDE service menus.
- Open with, templates, terminals, desktop portal pickers and FileManager1 integration.
- Appearance settings, system colours and optional polkit-authenticated root operations in supported native packages.
See the showcase for screenshots and packaging details for integration requirements.
- The native Wayland host is new; please report compositor, scaling, input or packaging issues. Audio/video previews on Wayland and X11 need optional
mpv(libmpv), with play/pause, seek and volume; nothing is decoded until Play, and network, scripts and playlists are disabled. HTML previews need optionalwebkit2gtk-4.1for scrollable snapshots in WebKit's bubblewrap sandbox, with JavaScript off and no network; without the sandbox they fall back to text (#198). NixOS packages lack mpv/WebKitGTK and use fallbacks; the release notes page still uses the fallback. Touch-started drags are untested; Wayland has no "link" drag action. X11 drag and drop with other apps: Uno's X11 host now starts drags itself with a drag icon and cursors, and drops from Wayland apps such as Dolphin on KDE arrive on XWayland (#197). Force X11/XWayland withUNO_SKIA_HOST=x11; see Troubleshooting. - AT-SPI accessibility is not implemented. X11/XWayland fallback can show soft text under fractional compositor scaling. LCD text needs opaque windows and a known subpixel order: compositor monitor info, then fontconfig, KDE
kdeglobalsXftSubPixelor GNOME settings; otherwise text stays grayscale, as does rotated text. SetUNO_SKIA_TEXT_LCD=auto|on|off(defaultauto) orUNO_SKIA_TEXT_RGBA=rgb|bgr|vrgb|vbgr|none. Works with the alpha6 gamma fix (UNO_SKIA_TEXT_GAMMA=skiarestores the previous gamma rendering); see Uno 6.7.135-wayland.7. - Select-all in folders with around 10,000 items remains slow because of Uno selection handling.
- Tags use Linux extended attributes and a local database. Extended-attribute writes can fail on read-only files or unsupported filesystems; alpha4 preserves edits in the database across reloads and restarts, but those edits cannot be written back to the file when xattrs fail.
- Release packages target x86_64. arm64 publishing is wired but untested. Network/MTP browsing requires a working GVfs session.
- AppImage, Flatpak and plain Nix installs disable root actions; see Root actions.
Note
0.1.0-alpha8 is the eighth public alpha release. Expect rough edges and missing features, and keep backups of anything you care about. Please report problems in the issue tracker.
Grab the assets from the 0.1.0-alpha8 release page. Requirements: x86_64 Linux with Wayland or X11/XWayland; the packages are self-contained, so no .NET install is needed.
yay -S linuxfiles-bin # or: paru -S linuxfiles-binThis installs the polkit helper for optional root actions; polkit and a session authentication agent are required.
nix run github:MemerGamer/LinuxFiles # try it
nix profile install github:MemerGamer/LinuxFilesThe flake exports overlays.default (adds pkgs.linuxfiles) and nixosModules.default. Plain nix run/profile installs keep all root actions disabled. NixOS administrators can import the module and opt in:
# Add inputs.linuxfiles.nixosModules.default to your NixOS modules.
programs.linuxfiles = {
enable = true;
rootActions = true; # default: false
};This installs a patched helper, a matching polkit action and trusted deployment manifest, and enables the pkexec wrapper. A session authentication agent is required. The flake pins alpha8, which supports this opt-in. A runtime-capability assertion rejects incompatible or unmarked package overrides. See Nix packaging details.
curl -LO https://github.com/MemerGamer/LinuxFiles/releases/download/linux-v0.1.0-alpha8/Files-x86_64.AppImage
chmod +x Files-x86_64.AppImage
./Files-x86_64.AppImageRoot actions remain disabled in the AppImage. Administrators can separately provision a matching native host helper, but this alone does not enable AppImage elevation.
curl -LO https://github.com/MemerGamer/LinuxFiles/releases/download/linux-v0.1.0-alpha8/Files-x86_64.flatpak
flatpak install --user ./Files-x86_64.flatpak
flatpak run io.github.memergamer.LinuxFilesThe bundle needs the org.freedesktop.Platform//25.08 runtime and a configured Flathub remote to obtain it. It is a downloadable bundle, not a Flathub app listing. Root actions remain disabled. An optional companion host-helper installer provisions the native host only; this bundle has no host-spawn bridge and keeps its sandbox permissions unchanged.
curl -LO https://github.com/MemerGamer/LinuxFiles/releases/download/linux-v0.1.0-alpha8/files-linux-x64.tar.gz
tar xzf files-linux-x64.tar.gz
./linux-x64/Files # run it in placeTo install it for your user (menu entry, icons, files launcher in ~/.local), use the script from a clone of this repository, which also supplies the desktop entry and icons:
git clone https://github.com/MemerGamer/LinuxFiles.git
cd LinuxFiles
scripts/linux/install-local.sh --from /path/to/linux-x64files-packaging.tar.gz holds only the desktop entry, metainfo, icons, launcher and licence, for packagers (the AUR package consumes it together with the tarball above). scripts/linux/uninstall-local.sh reverses a local install.
Optional. Open in terminal as root uses a trusted run0, sudo or pkexec in native packages that allow elevation. Polkit-authenticated Delete/Rename/Paste-as-root requires the installed trusted helper: AUR, an opted-in local tarball install, or the NixOS module with a release containing its runtime support. AppImage, Flatpak and plain nix run keep all root actions disabled. In a supported native installation, start a root-mode window with:
files --rootor pick Open in Root Mode from the launcher's desktop actions. Each action asks for authentication for that exact operation, and the GUI itself stays unprivileged. See the elevation threat model.
Download SHA256SUMS next to the files you fetched and check them (missing files are reported, not fatal, with --ignore-missing):
sha256sum -c --ignore-missing SHA256SUMSEvery merge to main publishes a tarball and AppImage to the rolling nightly pre-release. It is untested bleeding edge. Run it with:
curl -LO https://github.com/MemerGamer/LinuxFiles/releases/download/nightly/LinuxFiles-nightly-x86_64.AppImage && chmod +x LinuxFiles-nightly-x86_64.AppImage && ./LinuxFiles-nightly-x86_64.AppImage- CHANGELOG.md: what is in each release
- Showcase: screenshots and the feature checklist
- Packaging details and the roadmap
Choose a host (alpha8): UNO_SKIA_HOST=x11 files forces X11/XWayland; UNO_SKIA_HOST=wayland files requires native Wayland. The default chooses Wayland when available and falls back to X11 when Wayland host probing fails or WAYLAND_DISPLAY is unset. Restart Files when switching. See host and package details.
Soft text or icons with X11/XWayland fallback on niri / xwayland-satellite: Enable Detect display scale from the compositor (experimental) in Settings > Appearance and restart Files to use niri's focused output scale when no Uno, Xft, GDK or Qt scale hint is present and both NIRI_SOCKET and WAYLAND_DISPLAY are set. Check stderr for [display-scale] to see whether IPC or CLI detection succeeded. Detection defaults off and may double-scale on some setups. FILES_NIRI_SCALE=1 forces it on and FILES_NIRI_SCALE=0 forces it off, overriding the saved preference. Launch with UNO_DISPLAY_SCALE_OVERRIDE=1.25 files to select a scale manually (replace 1.25 with your output scale). The scale is chosen at startup. See display scale details.
Install the .NET 10 SDK and the native Linux dependencies: fontconfig, FreeType, Wayland client/cursor/EGL libraries, xkbcommon, X11 libraries (Xcursor, Xrandr, Xi and Xext), Mesa/OpenGL/EGL and GLib. Run with a Wayland compositor or X11/XWayland. Fetch the pinned Uno fork packages from its public GitHub Release before restoring (Bash, Python 3, curl, coreutils and util-linux required). See the AUR recipe for Arch package names and package setup for the initial publisher step.
git clone https://github.com/MemerGamer/LinuxFiles.git
cd LinuxFiles
build/fetch-uno-wayland.sh
build/clear-uno-wayland-cache.sh
dotnet build src/Files.App -f net10.0-desktopTo build with upstream X11 packages, use dotnet build src/Files.App -f net10.0-desktop -p:UseUnoWayland=false; no fork fetch is needed. scripts/linux/publish.sh --x11 provides the same opt-out for publishing.
For self-contained publishing and a user-local install:
scripts/linux/publish.sh
scripts/linux/install-local.shPublishing the Native AOT elevation helper also requires clang and zlib development files. See packaging for package builds and helper installation, and CONTRIBUTING.md for validation instructions.
- Linux bugs and Linux feature requests: open an issue in this fork.
- Security issues: use this fork's private Security Advisories. See SECURITY.md.
Submit focused pull requests to main in MemerGamer/LinuxFiles, using the PR template. Disclose AI-assisted work and include Co-Authored-By trailers for co-authors. See CONTRIBUTING.md for development, validation and attribution requirements.
- Files Community and all upstream contributors: the Files app, its design, code and translations (via Crowdin) that this port is built on. Files is licensed under the MIT License, with some files under the Mozilla Public License 2.0 (MPL-2.0), Copyright (c) 2018 - present Files Community.
- Uno Platform: WinUI on Skia for Linux, including the native Wayland fork, which makes this port possible.
- SkiaSharp, Selawik (UI font) and Uno.Fonts.Fluent (icons).
- Tmds.DBus, TagLibSharp, Markdig, ColorCode, LibGit2Sharp, FluentFTP, SharpCompress, 7-Zip and the .NET Community Toolkit.
The full list of third-party components and licenses is in NOTICE.md and .github/NOTICE.md. "Files" and its logo are the Files Community's; they are used here to identify the upstream project and its Linux port, with no endorsement implied.
LinuxFiles is licensed under the MIT License and the Mozilla Public License 2.0, like Files. Files that carry a Mozilla Public License header are covered by LICENSE-MPL, and changes to those files stay under MPL-2.0. All other code, including the LinuxFiles additions, is covered by LICENSE-MIT: Copyright (c) 2018 - present Files Community; Copyright (c) 2026 LinuxFiles contributors (Linux modifications). Preserve both licenses, applicable file headers, contributor attribution and NOTICE.md, including the inherited third-party notices.
