A nearly pixel-perfect Windows XP Total Conversion for XFCE

Johnnie Rios
5 min readMar 6, 2023

Linux has an exceptional ability to be customized. This includes modifying your desktop environment to resemble other operating systems.

Photo by Tadas Sar on Unsplash

I am a Linux user but like many others I miss late 90s/early 2000s windows, windows games and the internet of that era.

When the top games were Myst, Half-life, Quake and Starcraft. We downloaded music on Napster and played it on Winamp. And it wasn’t unusual to dial into a friend’s house to play a multiplayer game.

We had choices of search engines besides google too. There was Yahoo, Excite, Ask Jeeves, Lycos and others. They all offered email and some offered dial-up internet access. No one whipped out a phone and googled things on the spot, so it was common to say we’d “google that” at home or the library.

Newer is not always better. But all is not lost. Your computer can be a kind of time machine with the ultimate windows xp theme for xfce.

Screenshot by the author
WinClassic theme for Discord

How?

For two decades Linux has been on par with windows — for some it is the better choice. Linux stands on thousands of opensource projects. Many enhancing its ability to be customized. This includes modifying your desktop environment to resemble other operating systems.

I will walk you through reproducing a project that aims for a pixel perfect re-creation of windows xp. It is a work in progress.

The Guide

This guide assumes you’re using Xubuntu or another Debian/Ubuntu based Distro with the XFCE desktop environment.

You’ll need to copy and paste these commands into the terminal.

You can reference these steps while following along with this video. The YouTuber makes extra modifications for arm64 support, you can simply ignore those steps if you’re doing this on an amd64 machine (typical laptop/desktop).

I’ve combined all prerequisite package installs into one step.

Update.

sudo apt update

Install the necessary packages.

sudo apt install neofetch -y
sudo apt install git -y
sudo apt install fakeroot rename gettext pkg-config libglib2.0-dev gtk+-3.0 gtk-doc-tools xfce4-dev-tools libxfce4panel-2.0-dev -y
sudo apt-get install libgarcon-1.0-dev -y
sudo apt-get install libgarcon-gtk3-1-dev -y
sudo apt-get install libexo-2-dev -y
sudo apt-get install libwnck-3-dev -y
sudo apt-get install ruby-sass -y
sudo apt-get install build-essential -y

Clone the Git hub repository.

git clone https://github.com/rozniak/xfce-winxp-tc --recurse-submodules

Navigate into the xfce-winxp-tc directory or open a new terminal window from within that directory.

Package and install shared libraries.

cd packaging/deb/libs
./packlibs.sh comgtk
sudo dpkg -i libcomgtk.deb
./packfnts.sh exec
sudo dpkg -i libexec.deb
./packfnts.sh shllang
sudo dpkg -i libshllang.deb

Build panel.

cd ../../../submodules/xfce-winxp-tc-panel/packaging/
./pack-libxfce4panel-2.0.sh
sudo dpkg -i libxfce4panel-2.0-4.deb
./pack-xfce4-panel.sh
sudo dpkg -i xfce4-panel.deb

cd ../../../packaging/deb/panel/
./packplug.sh shell/start shell/systray
sudo dpkg -i shell-start-plugin.deb
sudo dpkg -i shell-systray-plugin.deb

Package and install fonts.

cd ../../../packaging/deb/fonts
./packfnts.sh
sudo dpkg -i wintc-fonts-xp.deb

Package and install cursors.

cd ../cursors/
./packcurs.sh no-shadow/standard with-shadow/standard
sudo dpkg -i cursor-theme-no-shadow-standard.deb
sudo dpkg -i cursor-theme-with-shadow-standard.deb

Package and install run utility and winver.

cd ../programs/
./packprog.sh shell/run shell/winver
sudo dpkg -i shell-run.deb
sudo dpkg -i shell-winver.deb

Sounds. I skipped this portion as it seems to not work on Xubuntu 22.10.

cd ../sounds/
./packsnds.sh
sudo dpkg -i wintc-sound-theme-xp.deb

Install icons from feat-72 branch.

cd ../../..
git checkout feat-72
cd packaging/deb/icons
./packicon.sh luna
sudo dpkg -i icon-theme-luna.deb

cd ../../..
git checkout master

Reboot your PC. Now for the easy part. Apply the theme assets in the XFCE settings as shown in the below video. Skip to 26:20.

We lose the audio widget on the task bar but can adjust volume via start menu > all programs > Pulse audio volume control.

Wine

Here are the steps to install Wine, a compatibility layer allowing you to run many windows applications and games on Linux. This should work on Debian, Ubuntu and Ubuntu based distros.

First check if your Linux Distro still includes 32bit support by default. In terminal use:

dpkg --print-foreign-architectures

If “i386” is not shown in response, run the following command.

sudo dpkg --add-architecture i386

Then install wine

sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources
sudo apt update
sudo apt install --install-recommends winehq-stable

When you use the following command to configure Wine you should be prompted you to install mono or gecko, accept.

wine winecfg

Then run wine’s built in browser. If prompted to install gecko, accept.

wine iexplorer

Then install Winamp.

Screenshot by Martin Brinkmann

For wallpapers goto Windows XP HD Wallpaper Pack By WindowsAesthetics

What about windows 95?

For that, you can try Chicago95.

Medium is a great platform to write and share your stories. If you’re interested in joining Medium, here’s my affiliate link for you to get started!

If I’ve inspired you to join please leave a comment so I can read your work!

--

--

Johnnie Rios

Travel light. Pack only the essentials. leave no trace. #solarpunk XMPP: rbegenesis@movim.eu