# xfce-winxp-tc: rebuilding the Windows XP desktop on Xfce, program by program

> A single-maintainer project that treats the Luna look as a packaging problem rather than a theming problem, and is honest about how far along it is.

**rozniak/xfce-winxp-tc** — Windows XP stuff for XFCE

- Repository: https://github.com/rozniak/xfce-winxp-tc
- Stars: 2,298 · Forks: 83
- Language: C
- License: NOASSERTION
- Published: 2026-10-07 · Updated: 2026-10-07 · Language: en
- Canonical page: https://hysenlabs.com/projects/rozniak-xfce-winxp-tc

## The difference between a theme and a desktop reconstruction

The distinction this project is built on is the one worth understanding before reading anything else in the repository. Existing themes that reproduce the Windows XP look stop at what a GTK theme engine can reach: window borders, button rendering, panel styling, colour palettes. They cannot produce a Start menu, because the Start menu is not a theme, it is a program that happens to be drawn with themed widgets.

The README states the goal as pixel-perfect replication of the whole XP experience, themes and programs and the shell itself, and the GitHub description is deliberately blunt about it: Windows XP stuff for XFCE. The top-level tree shows how much of that is code rather than artwork:

```text
base/
cursors/
docs/
enduser/
fonts/
icons/
packaging/
private/
shared/
shell/
sounds/
themes/
tools/
wallpapers/
windows/
```

`themes/`, `icons/`, `cursors/`, `fonts/`, `sounds/` and `wallpapers/` are the part a theme pack would ship. `shell/`, `windows/`, `enduser/`, `base/` and `tools/` are the part that would not exist otherwise. GitHub reports the primary language as C, which is a fair signal for the size of the native code involved, though the majority of the repository by any honest measure is asset data and build infrastructure.

One detail in the README settles the philosophical question. The author is explicit that there is no attempt to pretend the system is not Linux, and that this is Windows XP on the Linux kernel, which means you will not find a `C:` drive sitting under My Computer. The project is a costume, not an emulation layer, and it is honest about that boundary.

## Why one maintainer abandoned Windows 7 customisation for Linux

The origin story is short and it explains the technical choices. The author previously used Luna theme ports on Windows 7. That operating system lost support, and on Windows 10 customisation was effectively wiped out by Windows Update. Moving to Linux was the response.

That history explains why this is not a port of an existing XP toolkit. Existing XP themes on Linux, in the author's assessment, are either lacking or only go so far, so the approach became writing the missing programs rather than importing the missing artwork. It also explains the Adwaita decision further down the tree, since a from-scratch theme inherits nothing from either platform.

The repository is not archived and the last push was on 2026-09-21. There are 2,298 stars and 164 open issues against a project the README describes as one person's chipping-away spot. The author pre-empts the obvious friction in the first section: please do not complain that a particular program is missing or that something does not look 100% like XP. That framing tells you what kind of feedback the issue tracker is actually set up for, and the release notes confirm it, since the first published build asks for bug reports through Discussions rather than the issue tracker.

The README also asks readers not to install this on their parents' or grandparents' computer as a gentle path into Linux. It is written for enthusiasts, which shapes every expectation you should have about stability.

## Deriving the GTK3 theme from Adwaita instead of starting from blank

Building an XP-flavoured GTK3 theme from scratch would mean maintaining a full widget stylesheet against a toolkit that changes underneath it. The project took the opposite route. The theme is now based directly from Adwaita, chosen to maximise compatibility and to make theme bugs easier to fix, and the repository carries a refactored form of Adwaita pulled from the upstream GTK 3 sources specifically so the theme can be rebased and patched.

This is a real engineering decision with real consequences. Adwaita is the reference theme for GTK, so anything already anchored to it, including the subclasses that ordinary themes usually break on, has a better chance of rendering correctly when the XP theme is a fork of it rather than a parallel invention.

The README is also blunt about the residual risk. Themes in GTK3 are not supported upstream, this project is under development, and programs can look broken. The instruction to file those reports in this repository rather than with the program authors is a deliberate policy decision about who owns the bug. The stated goal is coverage for standard GTK widgets across the board, with subclassed widgets handled case by case, which is an admission that full coverage is not on the table.

If you hit a rendering bug, the useful first question is whether the widget is a subclass. That single distinction covers most of the cases the author describes as unavoidable.

## Why the licence field says one thing and the README says another

GitHub reports the license for this repository as NOASSERTION, which means the automatic detection found nothing it could map to a standard identifier. The README then explains the actual arrangement in two halves. Text files such as SASS, C and Bash source are licensed under GPL 2.0. Assets lifted from Windows and Office, images, sounds and fonts, remain Microsoft's copyright, and the packaging marks any component using them as `non-free`.

Both statements are true at once, and the split is not a defect. This is a distribution of a proprietary operating system's appearance, so the reimplemented source code and the copied assets cannot share one grant. The practical consequence lands on whoever wants to package or redistribute it: a Debian-style repository built from `packaging/` will carry non-free components, and anyone redistributing this needs to deal with that rather than reading the GitHub license field and moving on.

The author's own comment on including the Microsoft assets is that they are in the repository because of laziness. That is worth knowing before you build anything commercial on top of it. The check to run is not the GitHub license field, it is the non-free marking in the packaging metadata, which is where the author put the real distinction.

## The one published release and what it actually installs

There is a single GitHub release, tagged `rel-547-test` and named Test Release - Build 547, published on 2026-02-17. Its notes are more useful than the tag name suggests. This is a first test release whose stated purpose is testing the setup process rather than shipping a finished desktop. A proper release preview is promised later. Setup is described as the first working release of that component and therefore potentially unreliable.

The platform restriction is the part that matters for anyone deciding whether to try this. Setup is restricted to testing on Debian amd64 with systemd, with support for other systems to follow. Two images are published: `wintc-547-amd64-deb-chk.iso` as a checked or debug build, and `wintc-547-amd64-deb-fre.iso` as a free or release build.

The procedure is minimal because the image is meant to be mounted or extracted. Start from the root of the mounted image, run `sudo ./setup.sh`, and the release insists you do this from a TTY. Autorun is explicitly not implemented yet, which is why the notes explain that setup starts in text mode.

The release also carries the warning that it should not be tested on a machine you cannot afford to break, and strongly recommends a virtual machine. Given a Debian-only, amd64-only, TTY-only installer produced by one person, that is not excessive caution, it is accurate advice. If you are on Ubuntu, Fedora or Arch, the wiki installation page is the place to look, because the published image will not help you.

## Where the README stops and the wiki takes over

The README is unusually short for a project of this size, and the reason is that it refuses to document things twice. Installation instructions live in the wiki. The current completion state of the project lives in a separate wiki page titled Project progress and status. Anything about how far along a specific program is has an owner, and that owner is not the README.

The roadmap section says the same thing more casually. There is no roadmap document because the list would be too long, and the summary is that if something was in Windows XP, it is on the author's mind. Two concrete ambitions are named: a setup application and process comparable to XP's own, and possibly an out-of-box experience, the author notes, mostly for the nostalgic music. The first of those has now partially arrived as the `setup.sh` installer described above, which is a reasonable sign that the ambitions track what actually gets built.

That leaves the repository itself as the best source for the state of any individual piece. The directory names are the map: `shell/` for the Start menu and taskbar work, `windows/` for individual XP applications, `enduser/` for what ships to the end user, `tools/` for build and packaging utilities, `private/` for work in progress that should not be packaged.

For a reader deciding whether to install this, the wiki status page is the single most useful link in the repository, more so than the README itself.

## Conclusion

What makes this repository worth reading is that it does not pretend to be a theme pack. The tree separates the parts of a desktop that GTK themes cannot reach, and the README names those parts out loud. Try it in a virtual machine first, because the only published image targets Debian amd64 with systemd and the author asks twice that you do. Then read the wiki installation page before touching your own machine, and judge the project on whether the shell replacement is enough for you rather than on whether the wallpaper looks right.

## FAQ

### Can I install the Windows XP theme on Xfce safely?

Treat it as a hobby installation, not a desktop replacement. The only published installer targets Debian amd64 with systemd and starts from a TTY, and the release notes ask you to use a virtual machine rather than a machine you care about. On other distributions the README points to a wiki installation page instead.

### Will this make my Linux system look like Windows XP without any Windows parts?

Yes, and the author is explicit that this is the intent. There is no attempt to disguise the underlying system, so no `C:` drive appears under My Computer. What you get is a reimplemented XP shell, windows and widget theme running on a Linux kernel, which is a costume rather than an emulation.

### Is the artwork in this repository free to redistribute?

Not all of it. Text files such as SASS, C and Bash source are under GPL 2.0, but images, sounds and fonts taken from Windows and Office remain Microsoft's copyright. The packaging marks anything using those components as `non-free`, so a redistribution has to carry them separately.

### Why do some programs look broken when I apply the theme?

The theme is a fork of Adwaita, and GTK3 theming is not supported upstream. Standard widgets are covered, but subclassed widgets are handled case by case and can render incorrectly. The README asks that these reports go to this repository rather than to the affected program's developers.

## Sources

- [Issues](https://github.com/rozniak/xfce-winxp-tc/issues)
- [README](https://github.com/rozniak/xfce-winxp-tc/blob/master/README.md)
- [Releases](https://github.com/rozniak/xfce-winxp-tc/releases)
- [rozniak/xfce-winxp-tc on GitHub](https://github.com/rozniak/xfce-winxp-tc)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/rozniak-xfce-winxp-tc
