In my living room I have an old PC that I use for family entertainment. I plugged a Rii keyboard and mouse to it and used it like any ordinary PC for several years — watching DVDs, playing steam games, and browsing the web.
Despite it’s age, it’s still very capable, but it runs on windows 10, it can’t be upgraded to windows 11, and the recent updates has made it unbearably slow to use.
It’s either throw away this great machine or try and save it by putting Linux on it. So I chose the latter and rebuilt my entire PC on Linux. The result — a whole new entertainment system that you can customize in any way that you want.
If you have an old similar PC or laptop this is a perfect project to bring it back to life. We will be using an open-source program called Kodi for the interface.

What You Need to get Started
- Old PC or Laptop with HDMI port
- A TV
- USB Stick
- USB keyboard and mouse
- Ethernet or Wifi connection
We begin by loading the Debian live image onto the USB stick. This can be done on the old computer if there’s enough space to download the image. You can follow the setup below if you are running windows.
- Download the latest Debian Gnome Live ISO.
- Next, go download and run the boot drive utility Rufus.
- Open the Rufus utility and select the drive for the USB stick and load the Debian ISO.
- Double check the settings and hit Start. After several minutes the drive is ready to be unplugged.
- After inserting the USB stick, we need to configure the UEFI to boot from USB. In Dell computers, this is done by repeatedly pressing F2 during the boot process.
- When prompted, select the live image to test out the Debian OS on your computer, for sound, video, input etc. If it’s to your liking, start the installer and install the new OS!
KodiTV account
Once the OS installation is complete, we begin by creating the kodiTV user account. This account will be used to launch Kodi program automatically on boot so you can interact with it using a simple interface. The idea is to make it as close to a console experience as possible.
To do this, follow these steps:
- On your main account, make sure you have sudo access. Type the commands below in a Terminal and replace “username” with your main account and then reboot the computer
susudo usermod -aGsudo usernamegroups username
- After gaining sudo access, install kodi:
sudo apt updatesudo apt upgradesudo apt install kodi
- Now you can add a new user called kodi. Give it access to groups needed for playing videos, music, joystick input, and games, but leave out sudo for safety.
sudo useradd -m -G kodi,cdrom,audio,video,plugdev,users,pipewire,render,input kodiTVsudo passwd kodiTV
- To make the user login automatically on boot, you have to modify the
daemon.conffile.
sudo nano /etc/gdm3/daemon.conf
- Add these lines to the config file. Then press Ctrl + x to save.
[daemon]AutomaticLoginEnable=TrueAutomaticLogin=kodi
- After a reboot, you should see the computer automatically login to the kodiTV account. While we are in this account, we can make the kodi program launch on startup. Create this desktop file in this path.
nano ~/.config/autostart/kodi.desktop
- Write this to the file:
[Desktop Entry]Version=1.0Name=KodiGenericName=Media CenterComment=Manage and view your mediaExec=kodi -fsIcon=kodiTerminal=falseType=ApplicationCategories=AudioVideo;Video;Player;TV;Actions=Fullscreen;Standalone;[Desktop Action Fullscreen]Name=Open in fullscreenExec=kodi -fs
- Final quirk – if you are using a gnome desktop, the computer launches into the activities overview first, this makes it overtake the kodi screen on launch. The easiest way to take care of this is to use the log back into your main account and type this into the terminal:
sudo apt install gnome-shell-extension-manager
- After the install is complete, log back into the kodiTV account, run the extension manager and install the no overview on start-up extension.
NVIDIA Graphics Card Setup
If your computer has a dedicated proprietary video card like mine, you’ll have to do some extra steps to properly install it on the machine and have it work with Kodi. Without these steps, you may notice hardware acceleration is disabled or there is screen tearing when you watch movies.
These instructions are for a NVIDIA GeForce RTX 3060:
- First make sure that the non-free firmware is enabled in the sources list. Log into your main account and use the command below to open the file and add
contrib non-free non-free-firmwareat the end of each line beginning withdebordeb-src.
sudo nano /etc/apt/sources.list
- Next install the NVIDIA proprietary firmware.
sudo apt updatesudo apt install nvidia-driver firmware-misc-nonfree
- Once that is done, log back into the kodiTV account and if you notice screen tearing then you may have to force the graphics card to composite the full frame to match the refresh rate of your TV. Run this in the terminal to see if it fixes the issue.
nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
- Make this permanent by adding this command on startup. Create the following file:
nano ~/.config/autostart/nvidiaStopTearing.desktop
- Then add the following lines and press Ctrl + X to save. Reboot computer to see the results.
[Desktop Entry]Type=ApplicationName=Nvidia Force Full CompositionExec=nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"Hidden=falseNoDisplay=falseX-Gnome-Autostart-enabled=true
Launching Custom Programs
If you want to use your computer for more than just watching movies or listening to music, you’ll want to launch the programs directly from Kodi. The non-third party way of doing this is by adding a shortcut in favourites. We’ll be writing some scripts, and using the SystemExec function in Kodi.
- Create a folder for launching scripts
mkdir ~/Scripts
- Next, create the launch.sh that will pause Kodi and launch programs.
nano ~/Scripts/launch.sh
- Copy and paste the following code and press Ctrl+X to save when done.
kodi-send --action="ToggleFullScreen"kodi-send --action="PlayerControl(Stop)"kodi-send --action="ActivateWindow(busydialog)"$1 &$2sleep 2killall -STOP kodi.binwaitsleep 2killall -CONT kodi.binkodi-send --action="Dialog.Close(busydialog)"
- Make the launch.sh executable
chmod +x ~/Scripts/launch.sh
- Now if we want to launch a program, all we have to do is run a few lines of code. See below for an example of launching Firefox.
~/Scripts/launch.sh firefox-esr
- Lastly we have to modify the kodi
favourites.xmlfile so we can launch it from the program.
nano ~/.kodi/userdata/favourites.xml
<favourites> <favourite name="Launch Firefox" thumb="/home/kodi/Icons/launch_firefox.png"> System.Exec("/home/kodi/Scripts/launch_firefox.sh")</favourite></favourites>

Leave a Reply