This is a cache of https://developer.ibm.com/tutorials/awb-build-linux-dist-as-a-ms-windows-screen-saver/. It is a snapshot of the page as it appeared on 2025-11-15T03:39:25.045+0000.
Build Linux distribution as a Microsoft Windows screen saver - IBM Developer

Tutorial

Build Linux distribution as a Microsoft Windows screen saver

Generate marketing novelties with your brand logo

By

Chris Ward

Introduction

This tutorial describes how to build Linux distributions as screen savers for Microsoft Windows, with your choice of boot screen and wallpaper. The intent of this tutorial is to construct items containing your logos which can be distributed as marketing novelties. Most businesses have controls as to when their logos can be used, so be sure to get the permission you need.

All required software and data are available as open source resources and is accessible on the public internet.

Prerequisites

Make sure that the following prerequisites are fulfilled before you start building Linux distributions as screen savers for Microsoft Windows:

  • Hardware: A PC running Microsoft Windows 10 or a later version, which is capable of running Windows Subsystem for Linux 2 (WSL2). WSL2 runs only on some CPUs and requires a BIOS setting to enable virtualization.

  • Internet: An internet connection with the need to download up to 10 GB of data in all cases, and up to 100 GB of data if you choose to download all the source code.

  • Editor: Inkscape (an open source item available for Linux, Apple Mac, and Microsoft Windows) or commercial products such as the ones sold by Adobe to edit the required Scalable Vector Graphic (SVG) files.

For the purpose of this tutorial, I have set up a screen saver with a Debian logo. For details, refer https://www.debian.org/logos/ . Also, refer to a video from the screen saver kicking in to the point where you can watch the kstars at: https://www.youtube.com/watch?v=J7Jc7uPmLx8

alt

Build Linux as Windows screen saver

Perform the following steps to build Linux distribution as a Microsoft Windows screen saver:

  1. Install WSL2 with Debian.
    alt

  2. Install Cygwin from https://cygwin.com/ with git.
    alt

    alt

    alt

  3. Install Inno Setup from https://jrsoftware.org/isinfo.php.
    alt

  4. Install QEMU for Windows from https://qemu.weilnetz.de/w64/.
    alt

  5. Clone my repository https://github.com/tjcw/screensavers.git under cygwin.
    alt

  6. Clone the https://github.com/tjcw/screensavers.git repository under WSL2 into the ~/eclipse-workspace/ directory.
    $ mkdir ~/eclipse-workspace;cd ~/eclipse-workspace; git clone https://github.com/tjcw/screensavers.git

  7. Install live-build under WSL2.
    $ sudo apt install live-build
    alt

    tjcw@DESKTOP-96STVF3 ~
    $ cd eclipse-workspace/
    
    tjcw@DESKTOP-96STVF3 ~/eclipse-workspace
    $ cd screensavers/
    
    tjcw@DESKTOP-96STVF3 ~/eclipse-workspace/screensavers
    $ cd packaging/
    
    tjcw@DESKTOP-96STVF3 ~/eclipse-workspace/screensavers/packaging
    $ mkdir qemu
    
    tjcw@DESKTOP-96STVF3 ~/eclipse-workspace/screensavers/packaging
    $  cp -r "/cygdrive/c/Program Files/qemu/." qemu
    tjcw@DESKTOP-96STVF3 ~/eclipse-workspace/screensavers/packaging
    $ ./package-qemu-open.sh >fr2-open.iss
    
    tjcw@DESKTOP-96STVF3 ~/eclipse-workspace/screensavers/packaging
    $
  8. Customize the selection of software to go in the isos (WSL2 commands). There are approximately 65000 packages available in Debian Linux. I chose a few thousand packages for each of the two screensavers, one with an educational theme and one with an open source games theme.

    tjcw@DESKTOP-96STVF3:~/lb$ vi ~/eclipse-workspace/screensavers/lb-package-lists/freeduc-bookworm.list.chroot
    
    tjcw@DESKTOP-96STVF3:~/lb$ vi ~/eclipse-workspace/screensavers/lb-package-lists/gk-bookworm.list.chroot
  9. Install an SVG editor (here Inkscape from the Microsoft Store) and edit the SVG files you want to use for boot splash and wallpaper.
    alt

  10. Copy the SVG files to be used as boot splash screen and wallpaper.

    tjcw@DESKTOP-96STVF3:~/eclipse-workspace/screensavers$ cp splash.svg svgs/splash.svg
    tjcw@DESKTOP-96STVF3:~/eclipse-workspace/screensavers$ cp wallpaper.svg content/common-files/home/user/face
  11. Run build-both under WSL2 to generate the isos.
    tjcw@DESKTOP-96STVF3:~/lb$ sudo ~/eclipse-workspace/screensavers/bin/build-both
  12. Set up the installation script for Inno Setup (Cygwin commands).

  13. Run Inno Setup to create the installers.
    alt

    alt

  14. After opening the ‘fr2.iss’ file, click Build --> Compile.

  15. Transfer the installers and ‘Qemu for Windows’ to WSL2.

  16. Set up the extracted files by running the setup_assembly command.

    tjcw@DESKTOP-96STVF3:~/eclipse-workspace/screensavers/bin$ cat setup_assembly
    #!/bin/bash -x
    mkdir -p ~/assembly/QemuSaverOpen/unzip/extras ~/assembly/GamesKnoppix2/unzip/extras
    mv ~/eclipse-workspace/screensavers/packaging/qemu ~/assembly/QemuSaverOpen/unzip/
    cp ~/eclipse-workspace/screensavers/packaging/Output/QemuSaverOpenSetup.exe ~/assembly/QemuSaverOpen/unzip/
    cp ~/eclipse-workspace/screensavers/packaging/fr2.scr ~/assembly/QemuSaverOpen/unzip/extras/
    ln ~/lb/isos/freeduc-bookworm.iso ~/assembly/QemuSaverOpen/unzip/extras/fr2.iso
    
    cp ~/eclipse-workspace/screensavers/packaging/Output/GamesKnoppix2Setup.exe ~/assembly/GamesKnoppix2/unzip/
    cp ~/eclipse-workspace/screensavers/packaging/gk2.scr ~/assembly/GamesKnoppix2/unzip/extras/
    ln ~/lb/isos/gk-bookworm.iso ~/assembly/GamesKnoppix2/unzip/extras/gk2.iso
    tjcw@DESKTOP-96STVF3:~/eclipse-workspace/screensavers/bin$

    alt

    Compress the ISO files, the installers, and ‘QEMU for Windows’

  17. Transfer the ZIP files from WSL2 to Windows.

Test

Extract each ZIP file and run the installer executable files. Sometimes the installers are detected as malware, but they are not malware. So, if necessary, add the QemuSaverOpen and GamesKnoppix2 directories to the exclusion list.

Go to screensaver settings and select fr2 or gk2.

If you want, you can gain confidence that the installers aren’t malware by uploading them to https://virustotal.com

alt

alt

Source code

Optionally, run the ~/eclipse-workspace/bin/fetch_source command to fetch the source code for all the components. You will need the source code if you propose to distribute the screensavers, as recipients may ask you for it. The fetch_source command downloads more than 100 GB of data, which may stress the available internet connection.

#!/bin/bash
# Fetch the qemu source
git clone https://repo.or.cz/qemu/ar7.git
# Fetch the inno setup source
git clone https://github.com/jrsoftware/issrc.git
# Fetch the rufus source
git clone https://github.com/pbatard/rufus.git
# Fetch the Debian source
iso_dir=http://cdimage.debian.org/debian-cd/current/source/iso-dvd
wget ${iso_dir}/SHA512SUMS
while read sha512 name
do
  wget ${iso_dir}/${name}
done <SHA512SUMS
# Check the checksums
sha512sum -c SHA512SUMS#!/bin/bash
# Fetch the qemu source
git clone https://repo.or.cz/qemu/ar7.git
# Fetch the inno setup source
git clone https://github.com/jrsoftware/issrc.git
# Fetch the rufus source
git clone https://github.com/pbatard/rufus.git
# Fetch the Debian source
iso_dir=http://cdimage.debian.org/debian-cd/current/source/iso-dvd
wget ${iso_dir}/SHA512SUMS
while read sha512 name
do
  wget ${iso_dir}/${name}
done <SHA512SUMS
# Check the checksums
sha512sum -c SHA512SUMS

Summary

This tutorial explained how to build Linux as a screen saver for Microsoft Windows systems, with your logo integrated. Now all you need to do is distribute to your potential customers as an aid to developing your business.

Bibliography