website/blog/posts/2023-11-28_retro-gaming-on-an-old-laptop/index.md

170 lines
7.8 KiB
Markdown

---
title: Retro Gaming on an Old Laptop
description: How to convert an old laptop into a retro gaming station.
tags:
- linux
- gaming
- guide
---
Throughout the years I have amassed a collection of laptops. Most of which are unused and collecting dust in storage. If you're reading this, chances are you're in the same situation. Like me, you're also trying to find some new purpose for that old, yet functional, piece of electronic heap. The answer: RetroPie. In this guide, I will show you how to turn an old laptop into a retro gaming station with RetroPie.
The [RetroPie Setup Instructions for Debian](https://retropie.org.uk/docs/Debian) forms the foundation for this guide. You may refer to that documentation as a supplement.
> If you get stuck, the best place to get help is by visiting the [RetroPie forum](https://retropie.org.uk/forum).
{.info}
## What is RetroPie?
[RetroPie](https://retropie.org.uk) allows you to turn a computer into a retro gaming station. It is mainly targeted for the [Raspberry Pi](https://www.raspberrypi.com) series of single-board computers; hence its name. Don't let that fool you, though. RetroPie can be used just as well to convert a PC or laptop into a retro gaming station.
## Prerequisites
- Laptop with [Debian 12.2](https://www.debian.org/News/2023/20231007) installed. Any [Debian](https://www.debian.org)-based distribution such as [Ubuntu](https://ubuntu.com) and [Linux Mint](https://www.linuxmint.com) should also work.
If you have multiple laptops to choose from, then I suggest selecting the fastest one available. The laptop's performance determines the types of emulators its able to run. On slow laptops, you will experience low framerates when running more demanding emulators such as [PCSX2](https://pcsx2.net) and [Dolphin](https://dolphin-emu.org).
- Familiarity with Linux and its command line interface.
- Internet connection.
- A gaming controller. You can connect more after the installation.
I have tried using an [8BitDo Pro 2](https://www.8bitdo.com/pro2) and an Xbox 360 controller. RetroPie has great support for both of them.
- ROMs
I will not be going over how and where to obtain ROMs in this guide. For simplicity, I will be using a Gameboy Advance ROM in the examples.
## RetroPie Setup
### Setup Debian
Update the system and packages:
``` sh
sudo apt update && sudo apt upgrade
```
Install RetroPie dependencies:
``` sh
sudo apt install git dialog unzip xmlstarlet
```
### Install RetroPie
Download the latest RetroPie script:
``` sh
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
```
Enter the RetroPie directory:
``` sh
cd RetroPie-Setup
```
Execute the script:
``` sh
sudo ./retropie_setup.sh
```
The main menu should appear on the screen like the one below:
![Screenshot of installation main menu](021af5d6-cc50-4ac7-8734-750d2a2e3789.png)
Select **Basic Install** and press <kbd>Enter</kbd>. On the next screen, select **Yes** to start the installation process.
> The installation process compiles most of the emulators from source. This can take an hour or more on a slow laptop.
{.info}
You will be taken back to the main menu once the installation is complete. After the installation process has finished, exit the main menu and proceed to installing ROMs.
### Install ROMs
Before running RetroPie, we should install some ROMs. ROMs are located in `~/RetroPie/roms`. It contains subdirectories for each supported system (GBA, Playstation, etc.).
For example, to install Gameboy Advance ROMs, place any ROM file in `~/RetroPie/roms/gba`:
``` sh
cp pokemon-emerald.zip ~/RetroPie/roms/gba/
```
> The default Gameboy Advance emulator, **lr-mgba**, accepts ROM files in the following formats: `.7z`, `.gba` and `.zip`. Refer to [the documentation](https://retropie.org.uk/docs/Game-Boy-Advance) for a complete list.
{.info}
## RetroPie First Startup
### Start RetroPie
Select RetroPie on the app dashboard to launch it.
![RetroPie on the GNOME app dashboard](be60a03a-aa41-48f9-b02f-5c8c728e66f6.png)
At first launch, Retropie will look for connected controllers and configure them. Connect your controller now and follow the on-screen instructions to configure it.
> Alternatively, if you don't have a controller, you can press and hold the <kbd>A</kbd> key on your keyboard to configure your keyboard as your controller.
{.info}
![RetroPie controller setup](706ae312-eecc-470b-8b3a-429c220962af.png)
### Launch a Game
The main menu will display only the systems for which there are available ROMs. Since we installed a Gameboy Advance ROM in a previous step, the Gameboy Advance system should be displayed on the menu.
![RetroPie main menu](14701639-0179-4d2c-934f-ad3a63e6f85e.png)
Our game should appear within the Gameboy Advance game selection screen. Launch the game by selecting it then pressing the <kbd>A</kbd> button (or the equivalent) on your controller.
![Gameboy Advance game selection screen](6b9c2f7a-773d-4bac-a6f8-69668fba80dc.png)
## Conclusion
Hopefully, the installation went well and your old laptop is now a bonafide retro gaming station capable of playing a variety of classic games.
If you are having issues, refer to the [Troubleshooting section](#troubleshooting), the [RetroPie forums](https://retropie.org.uk/forum) or the [RetroPie documentation](https://retropie.org.uk/docs).
For some ideas on what you can do after installing RetroPie, checkout the [Post Installation section](#post-installation).
[Contact me](/#contact-me) for any comments or suggestions regarding this guide.
## Post Installation
A few things you can do after installing RetroPie:
- If your laptop has an HDMI or DisplayPort port, connect it to a TV or an external monitor for a larger screen.
- Add your installed PC games from [Steam](https://store.steampowered.com) or [GoG](https://www.gog.com).
RetroPie can launch installed PC games directly from the RetroPie menu without leaving or closing its window. This involves adding a custom system which launches the games via a shell script. I'll be creating separate guide on how to do this. So stay tuned!
- Setup Debian to [auto login at boot](https://retropie.org.uk/docs/Debian/?h=autologin#ubuntu-does-not-autologin) and RetroPie to [auto launch at login](https://retropie.org.uk/docs/Debian/#configure-retropie). This removes the manual intervention needed to log in and launch RetroPie after booting up.
- Use the [scraper](https://retropie.org.uk/docs/Scraper/?h=scraper) to populate the meta information and artwork for your games.
- Adjust the power settings for a better gaming experience. For example, you can prevent the screen from turning off or prevent the laptop from going to sleep when it's idle.
- Install more ROMs and build your retro game collection.
- Connect more controllers for multiplayer.
## Troubleshooting
This section goes over how to resolve issues not available in the [FAQ section of the Debian installation instructions](https://retropie.org.uk/docs/Debian/?h=debian#faq).
### Top Bar Cuts Off Window When Fullscreen
On Debian 12.2, the top bar still occupies space even when the RetroPie window is fullscreen. This pushes the RetroPie window downwards cutting off its bottom portion.
![RetroPie fullscreen cut-off](300394f7-bd14-4ffa-8cc6-2eaf6966d728.png)
This seems to be caused by the default display protocol, Wayland. So a simple solution is to switch the display protocol from Wayland to Xorg.
Begin by logging out to get to the login screen. On the login screen, select your user.
![Debian login screen](ced2816f-7ffd-478f-b86d-e5062caa970b.png)
Click the gear icon at the bottom-right of the screen to open a menu. Select **GNOME on Xorg**.
![Display server settings](1450cb87-24e7-468f-b136-42bb6b989615.png)
Log back in then launch RetroPie. Its window should now be displayed in its entirety.
![RetroPie fullscreen no cut-off](14701639-0179-4d2c-934f-ad3a63e6f85e.png)