Using a Spare Laptop as a Dedicated Music Source for the Office
This writeup is about setting up an old laptop as a music player that boots straight into a full screen experience, ready to send music to a USB DAC and headphone amp. Given that it uses a consumer laptop and USB it’s not going to be the king of audio quality, but I thought some might find it interesting or useful.
Background
I was using Bluetooth headphones or a Sony DAP to listen to music at the office for a few years after I started going back in post-pandemic. The DAP sounds great but I had to charge it and remember to bring it and it’s really only meant for IEMs or efficient headphones. I don’t like wearing IEMs for extended periods and I wanted more flexibility in my headphone choices. The Bluetooth headphones were actually my office headset and though they’d go loud they always sounded dull regardless of volume. I’d rather have something that sounds dynamic and engaging even at low volume.
At home though I have more gear sitting idle than is really reasonable, because I never get rid of anything. I had my old Lyr 3 with the multibit card sitting on a shelf and so I brought that into the office. I took the SD card from my Sony player, dropped a portable installation of foobar2000 on it, and plugged it into my work laptop.
But that laptop is awful, and between its general terribleness, my need to run large GIS models, the at least two pieces of garbage security software slowing things down, and other unknown corporate malware, I didn’t really like using it for music.
Android and iOS both support USB audio so I tried both an inexpensive android tablet and my iPhone, but neither really work well. The iPhone loves to duck the audio to beep notifications at you, and the Android tablet is just a crappy experience all around.
Then I remembered that among the other crap I have laying around was a 2013 11” Macbook Air, my travel laptop from back in the day. It’s been on the shelf for years, except for the time late last fall when I set up Linux Mint on it for the hell of it. After a few days playing with Mint it went back on the shelf. So why not give it a purpose again and set that up as the music source and just leave it in a drawer at the office?
The Hardware
The hardware for this setup is all things that were sitting idle on the shelf. The Macbook Air is a 1.3 GHz Intel machine with 4 GB of ram and a 256 GB SSD. It still has a working battery, though it’s certainly at lower capacity now. 4 GB of ram isn’t much in 2025, but it boots Mint quickly and runs just fine with plenty of memory to spare.
The 256 GB internal drive was a problem, because I don’t want to carefully curate a subset of my collection, I just want to copy my entire music library over and re-sync it occasionally to catch the new stuff. Looking through the shelves I found a 2 TB portable spinning hard drive I used to use for backups, which was long since retired and big enough to hold my library. That also allows me to take the drive home occasionally to re-sync, which is fairly convenient.
Last was the Lyr 3, which was in storage only because I don’t have the working space to keep all my amps active all the time. It has the multibit DAC card and an old US made Tung Sol tube.
The Software
This is the interesting part. The repurposed hardware was what I had laying around, but what did I want to use for software? My criteria were not complicated, and may change over time as I use this more:
- Bitperfect audio to the DAC
- Proper tag support
- Album Artist tag support (rarer than it should be)
- Album sort by release date within an artist’s album list (also rarer than it should be)
- Keyboard shortcuts (whether dedicated or media keys)
- Good playlist support including simple append to playlist
I already had a working Linux Mint installation on the machine and had done the stupid dance to get the Broadcom wifi card working, so I kept that as the base OS.
I started with Strawberry, as it meets all the above requirements and is easy to use. That worked great and I probably could have stuck with it, but it also feels pretty mouse focused and still made the laptop feel like an ordinary computer. It probably sounds stupid, but I wanted something a bit more like an appliance.
I added full screen music only view (no task bar, window borders, and so on) and full keyboard support to my list. I also thought it would be good to set it so the music player launched full screen on login.
I used to use Moode Audio on a Raspberry Pi with a touchscreen for something similar, and I thought about setting that up again, but the touch screen was too limiting and accessing it over the network from a PC was out of the question at the office. But its use of MPD as the music server with a frontend had real merit. I could set up MPD and then find the right frontend client to meet the rest of my needs.
MPD Setup
First up was getting MPD running. It’s in the Mint software archive so step one was to install it using apt:
sudo apt update sudo apt install mpd
Easy, but configuring it was less so, as I had never done it by hand before. I started with running it at the system level but quickly ran into permissions issues with the USB drive which was auto mounted by the system. I didn’t want to dive in and manually set up mount points for an external drive, and I’m the only user anyways, so I changed over to a user hosted installation using a systemd user service.
First up was creating a local configuration folder and copying over a sample config file.
mkdir ~/.config/mpd cp /usr/share/doc/mpd/mpdconf.example.gz ~/.config/mpd/ gunzip mpdconf.example.gz mv mpdconf.example mpd.conf
Then editing the config file to set the key parameters. Specifically a music directory, data file locations, and audio device. I left most of the rest at the default settings. The music directory is the path that Mint automounts the external hard drive to and the name of the music folder. The audio device is the hardware address of the Schiit Multibit card so that I’m bypassing any system mixer. The system audio still goes to the laptop speakers.
I got the hardware address using the alsa command line tool aplay
. This shows the Schiit DAC as Card 1, Device 0. In alsa’s cryptic syntax this can be accessed directly at hw:1,0
.
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: CS4208 Analog [CS4208 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Multibit [Schiit USB Multibit], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 card 2: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0
Aside: This is a bit fragile, as when I plugged the DAC in after the system was running for a while it showed up as hw:2,0, but when it was plugged in at boot it showed up at hw:1,0. But it seems stable if everything is plugged in when the system boots and that works for me. I don’t want a big menu and I don’t want to involve the system mixer, so I’ll take occasionally having to update a config file for now.
music_directory "/media/username/drive/Music" # music folder playlist_directory "~/.config/mpd/playlists" # playlist folder db_file "~/.config/mpd/database" # music database state_file "~/.config/mpd/state" # save/restore state on shutdown auto_update "yes" # update library automatically restore_paused "yes" # start up in paused mode audio_output { type "alsa" name "Schiit Lyr 3 Multibit" device "hw:1,0" }
I also needed to create the playlists directory.
mkdir ~/.config/mpd/playlists
After this I set up mpd to start on login as a systemd service under my user account. This is the easiest way to have it autostart, and it logs to the systemd log so querying log files is easy too. If you don’t like systemd there are plenty of other ways to handle this.
systemctl --user enable mpd.service systemctl --user start mpd.service
At this point I could verify mpd was running by checking the logs or querying from a client such as mpc
, e.g.:
$ mpc status Updating DB (#1) ... volume: n/a repeat: off random: off single: off consume: off
Not much there, but it shows the server is online and updating the music database.
MPD Client Setup
OK so the server is running, building a library, and is configured to output bitperfect audio (as much as it can) straight to the DAC in the Lyr 3. But that’s no good without a front end. The basic mpc
client is fine for scripting but pretty bare bones for normal use. Definitely not what I wanted. The various graphical clients looked interesting but I kind of felt if I was going that route then I should just stick with Strawberry. There are web interfaces like what Moode uses, but web browsers are pretty heavyweight, so that also didn’t feel right.
But what about a TUI (text user interface)? Somewhere between a GUI and a command line, they run in the terminal, but have a full user interface. Like an old full-screen DOS app. They’re meant to be fully keyboard driven, though many include mouse support as well. I looked into a few. I tried ncmpcpp (a truly easy to type name for sure). It’s full featured and works well, and can be set up with album art support. I also tried rmpc, which has album art support as a first class feature, mouse support, and a full set of keyboard shortcuts. I decided to stick with rmpc for now. I downloaded the generic Linux binaries from the releases page and dropped them in /opt/rmpc
.
I first tried running rmpc in the default Mint terminal. Everything worked, but the album art came in as blocks of color.
This was kind of awesome in a retro way, but I wanted the real art, so I needed a terminal with better graphics support. I installed the kitty terminal from the system repositories instead, which is one of the well supported terminals for the graphical features.
sudo apt update sudo apt install kitty
Running rmpc from kitty gave me what I was looking for.
Putting it All Together
So at this point I had all the pieces, hardware and software. Now it was time to put it all together. The amp is on the desk under a monitor, the magsafe power cable sits off to the right of another. I plug in the laptop, plug in the USB cable to the DAC, and plug in the external hard drive, then power the system on.
When it boots, I log in, and the external hard drive auto-mounts at a consistent location, so that’s set. MPD is set to run at login as a user-account systemd service and use the Schiit DAC as output, so that’s set. Last piece is to launch straight into rmpc in full screen.
First hurdle there was to add a launcher for rmpc to the app menu so I could easily add it to the startup apps list. The Kitty install added it to the app menu, and this was all going to run in Kitty, so I copied the entry and pasted it into the Music folder, renamed it to rmpc, then added /opt/rmpc/rmpc to the command line options of the .Desktop
file. But it still launched in a window and showed the taskbar and window decorations. Next was to add the option to launch full screen. The process and final file looked like what is shown below, with the key line being Exec=kitty --start-as fullscreen /opt/rmpc/rmpc
in the application .Desktop entry:
I then added this to Mint’s list of Startup Apps:
Last was to turn off the screensaver and power save options while running on wall power so the system doesn’t lock and the display doesn’t turn off while it’s in use.
Now when the system boots and I log in, the drive mounts, MPD starts, and rmpc launches full screen. And there it is, a dedicated music player, with a completely overkill complicated and somewhat stupid configuration. But it meets all my criteria, is using hardware that was otherwise idle, and avoids distraction. As a user it just appears as a simple and effective dedicated keyboard driven music player with bitperfect audio, album art, and playlist support.
So now when I come into the office I pull the laptop and hard drive out of a drawer, plug 3 cables in, turn it and the Lyr 3 on, and in a minute or so I’m ready to go. It takes about a minute to boot, log in, and launch the player; about as long as it takes the Lyr 3 to power up and switch on its headphone output.
Is this overkill? Overly complex? Stupid? A waste of time?
Probably.
But no regrets. It cost me nothing but some free time, and was an interesting problem to solve.
Next up is getting to a color scheme I really like. I made a start but this is just 10 minutes of work. More tweaking to come.
Recent Posts
- Spare Laptop as a Dedicated Music Source — 25 June 2025
- Notes on the Miyoo Flip — 09 April 2025
- I Don't Want Your AI — 12 March 2025
- Darktable Notes — 26 February 2025
- Some Brief Linux Gaming Notes — 11 December 2024
Recent Photo Galleries
- Pearl Street
- Ledges Park
- Missouri
- Arizona Trip
- Garden of the Gods
- West Coast Motorcycle Tour
- Looking for Horses
- California Camping
Playlists
Hi, I’m Steve Block. I like to hike, cycle, and take pictures. Most of my writing is in a journal, though the best ideas find their way here. My photography is a long ongoing hobby. My main photo site is at ev-15.
— Steve