Skip Navigation

Milestone 10: Media Platform

For this milestone, you will install multimedia software to convert your desktop platform into a multimedia platform.

Page Contents

First Steps

  1. Boot the Pi and run updates, just as you have done at the start of previous milestones. If the linux-tealpi5 package gets updated, be sure to reboot onto the new kernel.
  2. Log in as your regular user, and start KDE Plasma.
  3. Open this website in LibreWolf or Falkon on your KDE Plasma desktop.

Milestone Worksheet

On your KDE Plasma desktop running on your Raspberry Pi, use one of the browsers to download the following worksheet for Milestone 10. Right-click the link and select “Save Link As,” then download the file to your Downloads folder. Note that the file for this milestone is in Open Document Format and has a .odt extension. ODT is the native format for LibreOffice Writer.

Unlike previous milestones, all the material needed to complete the worksheet for Milestone 10 is included on this page.

FreeTube

FreeTube is a private interface to YouTube, which allows local subscriptions to YouTube channels without having to sign into the YouTube service. Maintaining the channel set locally instead of signing in improves your privacy, considering that Google is one of the largest collectors of personal data on the planet. While FreeTube can be installed via Flatpak, I have found the aarch64 Flatpak build to have some bugs. Instead, install the Alpine Linux native package, which can be found in the testing repository. Since this package is in testing, we need to add the package tag when installing, like so:

doas apk add freetube@testing

Once FreeTube is installed, it should appear under the Internet category in the start menu. In some cases, it might be necessary to restart KDE Plasma to make newly installed applications show up properly. At the time of this writing, the FreeTube icon was not working properly with the Alpine package, resulting in a placeholder icon in the menu.

Start FreeTube, then go into its Settings on the left side. Scrolling down will allow you to move through all available settings. These are the ones I recommend changing:

  1. Disable “Check for updates,” since apk does that.
  2. Disable “Check for latest blog posts,” since the project really doesn’t blog that often.
  3. Change the base theme to one of the dark themes.
  4. Disable “Remember Watch History” and “Remember Search History” in the Privacy section.
  5. Enable SponsorBlock.

After completing the configuration, search for Coastal Carolina University in the search box. Find the Coastal Carolina University channel, which is a result with a Subscribe button below it. Subscribe to that channel. Click Subscriptions on the left side to go to the subscription feed. Click on one of the videos to check that the player is working properly.

VLC

For downloaded video files, VLC is a good choice of player, since it can handle just about any file format. To install VLC, run:

doas apk add vlc vlc-qt

Note that the user interface to VLC is in the vlc-qt package! If you install the vlc package alone, you will only get the command line player, which doesn’t come with a menu entry. Once installed, VLC should appear under the Multimedia section of the start menu. Restart KDE Plasma if it is missing.

SuperTuxKart

To add an arcade game to our multimedia platform, we can install SuperTuxKart, which is an open source clone of Mario Kart. In testing, SuperTuxKart seems to run on the Pi, at least in windowed mode. You may need to experiment with the settings, especially if you’re good at Mario Kart and want more things to work.

Installing SuperTuxKart is straightforward:

doas apk add supertuxkart

Once the game finishes installing, it should appear in the Games category under the start menu. After starting it, create a local account, then work your way to running a local single player game. The basic controls are the arrow keys for direction (hold up to keep moving), N for nitrous (boost), space bar to use an item, and B to look back.

If you have a game controller that can be connected via USB or Bluetooth, you might consider trying to connect it before starting SuperTuxKart, as the game play seems a bit easier than it is with the keyboard.

Special Note for PS5 DualSense

If you happen to have a PS5 DualSense controller and want to try pairing it with your Raspberry Pi, edit /etc/bluetooth/input.conf:

doas vi /etc/bluetooth/input.conf

Scroll down to the UserspaceHID item, uncomment it, and set:

UserspaceHID=false

Save and exit vi, then run:

doas rc-service bluetooth restart

The PS5 controller driver requires the kernel HID driver instead of the userspace alternative, so we need to make this change to enable it with Bluetooth devices. I don’t have any other controllers on hand to test, but it’s possible that other Bluetooth controllers might also need this setting.

More Games and Multimedia

Unfortunately, the hardware on the Raspberry Pi isn’t the best for playing a lot of games or running intensive multimedia applications. 4K video tends to result in a lot of dropped frames, while even 1080p video playback isn’t always perfect. Some of these issues may improve with time as the software stack matures. However, if your long-term plan is to have a home-built game console or multimedia box, I recommend using an x86_64 mini PC with better hardware specifications. Such a device will, of course, cost a lot more than a Pi. However, it will also be more capable for multimedia use.

The x86_64 version of Alpine Linux could be used on a TV-connected mini PC, and the setup instructions will be quite similar to those used on the Pi. Actually, most of the things you have done over the course of this project will generalize to other hardware and even to other Linux distributions. Hopefully, completion through this milestone has enabled you to see how the various components and software layers of the system work together to create a platform, which is a combination of hardware and a software stack that enables execution of specific types of applications.

Submission Guidelines

Open a Konsole window by going to the start menu, then the System category, and pick Konsole. Alternatively, press CTRL+ALT+T. In the Konsole window, run the following commands:

rehash
hostname
date
which freetube
which vlc
which supertuxkart

Check Your Work

Verify the following:

  1. Your CCU username is part of your hostname in the Konsole window.
  2. The date and time are set correctly.
  3. FreeTube is installed.
  4. VLC is installed.
  5. SuperTuxKart is installed.

Prepare Your Submission

To take a screenshot, press the Prt Scn (Print Screen) key on your keyboard. The KDE screenshot tool (Spectacle) will appear, and it should show that the entire desktop has been captured, including the Konsole window. Click the Save As button at the top of the Spectacle dialog. By default, the screenshot will be saved into a Screenshots folder inside your Pictures folder.

Edit the worksheet in LibreOffice Writer to replace the placeholder screenshot with the screenshot you just took. Save the file, then export it into PDF format.

Using either LibreWolf or Falkon in your KDE Plasma desktop environment, log into Moodle (visit moodle.coastal.edu to go directly there from your Pi). Upload the PDF file you created as your submission to the Milestone 10 assignment activity.

The procedure for completing the worksheet in LibreOffice is documented below:

ABET Assessment

Successful completion of this assignment satisfies the following performance indicator: