RHEL BasedRocky Linux

How To Install Feishin on Rocky Linux 10

Install Feishin on Rocky Linux 10

Feishin is a modern, self-hosted music player designed for users who want complete control over their music streaming experience. Built as a complete rewrite of Sonixd, Feishin offers a sleek interface with powerful features for managing personal music libraries. This comprehensive guide walks through every step needed to install and configure Feishin on Rocky Linux 10, from initial system preparation to advanced optimization techniques. Whether managing a home music server or setting up a professional audio workstation, this tutorial provides the complete roadmap for getting Feishin running smoothly on the latest Rocky Linux release.

What is Feishin?

Feishin represents the evolution of desktop music players for self-hosted environments. Written in TypeScript and built on the Electron framework, this application delivers a modern streaming experience while maintaining compatibility with popular music server backends. The application supports three major server types: Navidrome, Jellyfin, and any OpenSubsonic-compatible server, making it versatile enough for various deployment scenarios.

The feature set distinguishes Feishin from traditional music players. At its core, the application utilizes MPV as its primary audio backend, ensuring high-quality playback with extensive codec support. A web player backend serves as an alternative for systems where MPV isn’t available. The user interface adapts to different screen sizes while maintaining responsiveness and visual appeal.

Advanced features include a smart playlist editor specifically designed for Navidrome servers, allowing complex filtering and automated playlist generation. Scrobbling support ensures listening history synchronizes with compatible services. Both synchronized and unsynchronized lyrics display within the player interface, enhancing the listening experience. The transition from Sonixd to Feishin brought significant improvements in stability, performance, and feature completeness, making it the preferred choice for self-hosted music enthusiasts.

Prerequisites and System Requirements

Installing Feishin on Rocky Linux 10 requires meeting specific hardware and software requirements. The system needs a 64-bit x86_64 architecture processor, which is standard for modern computers. Memory requirements are modest—at least 2GB of RAM ensures smooth operation, though 4GB or more provides better performance when handling large music libraries. Storage needs depend on cache settings and offline downloads, but reserving 500MB initially covers the application and basic operation.

Rocky Linux 10 must be properly installed and updated before proceeding with Feishin installation. The system requires MPV media player as an essential dependency, as Feishin relies on it for audio playback. Download utilities like wget or curl facilitate retrieving the installation files. A desktop environment—whether GNOME, KDE Plasma, XFCE, or another option—provides the graphical interface needed to run Feishin effectively.

An active internet connection enables downloading packages and connecting to music servers. While Feishin functions as a standalone player, it achieves full potential when connected to a music server running Navidrome, Jellyfin, or an OpenSubsonic-compatible platform. User accounts need sudo or root privileges for installing system-level dependencies, though Feishin itself runs under regular user permissions for security.

Pre-Installation Steps

Updating Rocky Linux 10 System

System updates form the foundation of a stable installation. Outdated packages can cause compatibility issues or security vulnerabilities that affect Feishin performance. Open a terminal and execute the following command to refresh package repositories:

sudo dnf update -y

This command contacts Rocky Linux repositories and checks for available updates. The -y flag automatically confirms installation, streamlining the update process. After repository updates complete, upgrade all installed packages:

sudo dnf upgrade -y

Verify the Rocky Linux version and architecture match requirements:

cat /etc/rocky-release
uname -m

The first command displays the Rocky Linux version, which should show “Rocky Linux release 10.x”. The second command outputs the system architecture—expect “x86_64” for 64-bit systems. If kernel updates were installed during the upgrade process, reboot the system to ensure all changes take effect:

sudo reboot

Installing Required Dependencies

MPV media player serves as Feishin’s audio engine. Rocky Linux 10 requires enabling EPEL (Extra Packages for Enterprise Linux) repository to access MPV packages. Install EPEL first:

sudo dnf install epel-release -y

With EPEL enabled, install MPV and its dependencies:

sudo dnf install mpv -y

The installation process downloads MPV along with required multimedia libraries and codecs. Address any dependency warnings immediately—some installations report missing libuchardet or similar libraries. Verify the MPV installation succeeded:

mpv --version

This command should display version information, confirming MPV installed correctly. Note the binary location for later configuration:

which mpv

Typically, this returns /usr/bin/mpv. Install wget if not already present, as it simplifies downloading Feishin:

sudo dnf install wget -y

Additional multimedia codecs may enhance playback compatibility for various audio formats. Install common codec packages:

sudo dnf install ffmpeg-free -y

Installation Method 1: AppImage Installation (Recommended)

Downloading Feishin AppImage

AppImage format offers significant advantages for Rocky Linux users. This self-contained package includes all dependencies except system libraries, eliminating complex installation procedures. AppImages don’t require root permissions for installation and won’t interfere with system packages. They also simplify updates—simply replace the old file with the new version.

Navigate to the Downloads directory:

cd ~/Downloads

Download the latest Feishin AppImage from GitHub releases:

wget https://github.com/jeffvli/feishin/releases/latest/download/Feishin-linux-x86_64.AppImage

This command fetches the most recent stable release automatically. The download size typically ranges from 150MB to 200MB depending on the version. Monitor the download progress—interrupted transfers require restarting the wget command. Alternatively, visit the Feishin GitHub releases page through a web browser to download manually.

Verify the download completed successfully:

ls -lh Feishin-linux-x86_64.AppImage

The file size should match the expected range. While GitHub doesn’t always provide checksums for Feishin releases, checking the file isn’t corrupted or truncated prevents issues during execution.

Making the AppImage Executable

Linux treats downloaded files as non-executable by default for security. Grant execution permissions through the command line:

chmod +x Feishin-linux-x86_64.AppImage

The chmod command modifies file permissions, and +x adds executable status. Verify permissions were applied:

ls -l Feishin-linux-x86_64.AppImage

Look for -rwxr-xr-x at the beginning of the output, indicating executable permissions. Graphical file managers provide an alternative method. Right-click the AppImage file, select Properties, navigate to the Permissions tab, and enable “Allow executing file as program”. Click Apply or OK to save changes.

First Launch and MPV Configuration

Launch Feishin from the terminal initially to monitor startup messages:

./Feishin-linux-x86_64.AppImage

The application opens and immediately requests the MPV binary path. This critical configuration step determines which audio backend Feishin uses for playback. Enter the full path to MPV:

/usr/bin/mpv

Click Save or Apply to store this configuration. Feishin remembers this setting for future launches. The main window appears after MPV configuration completes. During first run, the AppImage may prompt about desktop integration—accepting these prompts creates menu entries and file associations automatically.

Watch the terminal output for error messages. Common issues include missing libraries or incorrect MPV paths. If errors appear, verify MPV installation and path accuracy before proceeding.

Creating Permanent Installation and Desktop Integration

Moving the AppImage to a permanent location prevents accidental deletion and organizes applications properly. Create a local binary directory if it doesn’t exist:

mkdir -p ~/.local/bin

Move the AppImage to this location and rename it for convenience:

mv ~/Downloads/Feishin-linux-x86_64.AppImage ~/.local/bin/feishin

This shortened name simplifies launching from terminal. Ensure the local bin directory is in the system PATH:

echo $PATH | grep -q "$HOME/.local/bin" || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Now launch Feishin from anywhere by typing:

feishin

Installation Method 2: Manual Desktop Entry Creation

Creating Desktop Entry File

Desktop entries integrate applications into system menus following freedesktop.org standards. Create the applications directory:

mkdir -p ~/.local/share/applications

Open a text editor to create the desktop entry file:

nano ~/.local/share/applications/feishin.desktop

Paste the following content, replacing USERNAME with the actual username:

[Desktop Entry]
Type=Application
Name=Feishin
Comment=Modern self-hosted music player
Exec=/home/USERNAME/.local/bin/feishin
Icon=/home/USERNAME/.local/share/icons/feishin.png
Categories=AudioVideo;Audio;Player;
Terminal=false
StartupWMClass=feishin
MimeType=audio/mpeg;audio/mp4;audio/flac;audio/ogg;

Each field serves a specific purpose. Type=Application identifies this as an application launcher. Name=Feishin sets the display name in menus. Comment provides tooltip text when hovering over the icon. Exec specifies the full path to the executable—adjust this according to where the AppImage resides. Icon points to the application icon file. Categories determines menu placement under AudioVideo applications. Terminal=false prevents a terminal window from opening. StartupWMClass helps window managers identify running instances.

Save the file by pressing Ctrl+O, then Enter, and exit nano with Ctrl+X.

Extracting and Installing Application Icon

AppImages contain embedded icons that can be extracted. Use the AppImage’s built-in extraction feature:

~/.local/bin/feishin --appimage-extract

This creates a squashfs-root directory containing all AppImage contents. Create an icons directory:

mkdir -p ~/.local/share/icons

Copy the high-resolution icon:

cp squashfs-root/usr/share/icons/hicolor/512x512/apps/feishin.png ~/.local/share/icons/

Alternatively, extract just the icon without full extraction:

~/.local/bin/feishin --appimage-offset

This method is more efficient but requires additional steps. After copying the icon, remove the extraction directory:

rm -rf squashfs-root

Updating Desktop Database

Register the new desktop entry with the system:

update-desktop-database ~/.local/share/applications/

Refresh the desktop environment cache. For GNOME:

killall -HUP gnome-shell

For KDE Plasma:

kbuildsycoca5

If the application doesn’t appear in menus immediately, log out and back in, or restart the desktop environment. Some systems require updating icon cache:

gtk-update-icon-cache ~/.local/share/icons/

Initial Configuration and Server Setup

Launching Feishin for the First Time

Access Feishin through the application menu or terminal. The welcome screen prompts for server configuration. Feishin cannot browse local files directly—it requires connection to a compatible music server backend. This design ensures library management happens server-side while Feishin focuses on playback and interface.

Three server types are supported. Jellyfin provides comprehensive media server functionality beyond music. Navidrome specializes in music streaming with Subsonic API compatibility. OpenSubsonic-compatible servers offer flexibility through standardized APIs. Choose the server type matching the backend infrastructure.

Install Feishin on Rocky Linux 10

Connecting to Music Server

Click “Add Server” or the configuration icon. Select the appropriate server type from the dropdown menu. Fill in connection details carefully. The server URL must include the protocol (http:// or https://) and port number if non-standard. For example:

https://music.example.com:4533

Enter username and password exactly as configured on the music server. Spaces or capitalization errors cause authentication failures. The server name field is optional but helps identify multiple server configurations.

Click “Test Connection” before saving to verify credentials and network connectivity. A successful test confirms the server responds and accepts the provided credentials. Save the configuration after testing passes. Connection errors require troubleshooting. Verify the server URL accessibility through a web browser. Check firewall rules allow connections on the specified port. Confirm username and password accuracy on the server side.

Switching between servers is straightforward—Feishin supports multiple server profiles simultaneously. Access server management through settings to add, edit, or remove server connections.

Basic Settings Configuration

Navigate to Settings from the main menu. Audio playback configuration appears first. Choose between MPV and web player backends. MPV offers superior quality and performance for most scenarios. The web player serves as fallback when MPV encounters issues.

Theme selection affects interface appearance. Light and dark modes accommodate different lighting conditions and personal preferences. Some versions include additional theme options or custom color schemes.

Audio quality settings balance bandwidth usage and sound fidelity. Higher bitrates consume more network resources but deliver better audio quality. Local network connections typically support maximum quality settings without buffering. Remote connections may require lower bitrates for smooth streaming.

Interface language defaults to system settings but can be changed manually. Cache settings determine how much disk space Feishin uses for temporary files. Larger caches reduce server requests and improve performance but consume storage. Configure download locations if planning to use offline playback features. Keyboard shortcuts customize control schemes—review and modify shortcuts matching workflow preferences.

Optimizing Feishin Performance

MPV Audio Configuration

Advanced MPV settings unlock high-fidelity playback capabilities. Access MPV configuration within Feishin settings. The audio device selection determines which sound output MPV uses. Multiple audio interfaces require specifying the correct device.

Custom MPV parameters accept command-line arguments directly. Add parameters in the designated field:

--audio-device=pulse/alsa_output.pci-0000_00_1f.3.analog-stereo

This example directs output to a specific PulseAudio device. Buffer settings affect latency and stability. Increase buffer size for network streaming:

--cache=yes --demuxer-max-bytes=500M

Hardware acceleration reduces CPU usage when available:

--hwdec=auto

Gapless playback eliminates silence between tracks. Enable with:

--gapless-audio=yes

Audio format preferences specify output parameters:

--audio-format=s24le --audio-samplerate=96000

These advanced configurations require understanding audio fundamentals. Incorrect settings may cause playback failures or quality degradation.

System Resource Optimization

Adjust cache size based on available storage and usage patterns. Larger caches benefit users streaming extensive libraries:

Settings > Playback > Cache Size: 1024 MB

Network streaming optimization reduces buffering during playback. Enable pre-buffering:

Settings > Playback > Pre-buffer: Enabled

Lower-end systems benefit from disabling visual effects and animations. Navigate to interface settings and reduce animation complexity. Background playback continues when Feishin window minimizes. Disable this feature to conserve resources when not actively listening.

Library scanning frequency determines how often Feishin checks for new music. Reduce scanning frequency on large libraries:

Settings > Library > Scan Interval: Manual

Manual scanning provides complete control over when library updates occur, preventing resource consumption during active listening sessions.

Using Feishin Features

Music Library Navigation

Browse music by artists, albums, or individual songs through the navigation menu. List and grid views accommodate different browsing preferences. Grid view displays album artwork prominently, while list view shows more items simultaneously.

Search functionality accepts queries for artists, albums, songs, or composers. Real-time filtering narrows results as typing progresses. Advanced search supports filtering by genre, year, or other metadata fields.

Sorting options organize content by name, date added, release year, or play count. Reverse sort order by clicking column headers repeatedly. Album view modes include standard grid, compact list, and detailed view with extended metadata.

Creating and Managing Playlists

Create new playlists by clicking the plus icon in the playlist section. Name playlists descriptively for easy identification. Add songs through drag-and-drop or right-click context menus.

Smart playlist functionality appears for Navidrome servers. Define rules based on criteria like genre, rating, play count, or last played date. Smart playlists update automatically as library content changes.

Playlist synchronization ensures server-side playlists match Feishin’s local view. Changes made in Feishin propagate to the server and vice versa. Import and export playlists in M3U or PLS formats for compatibility with other applications.

Playback Features

Queue management provides fine control over playback order. Add songs to the end of the queue or play next. Clear queue to start fresh or shuffle queue for randomized playback.

Shuffle mode randomizes playback within the current context—album, artist, or entire library. Repeat modes include repeat all, repeat one, and no repeat.

Lyrics display shows synchronized lyrics when available. Unsynchronized lyrics appear as static text. Not all tracks include lyrics metadata—availability depends on server-side tagging.

Scrobbling records listening history to the music server. Enable scrobbling in settings to track play counts and last played timestamps. Crossfade settings smooth transitions between tracks. Adjust fade duration in seconds:

Settings > Playback > Crossfade: 3 seconds

Equalizer options vary depending on the audio backend. MPV supports parametric equalization through custom parameters.

Updating Feishin

Regular updates deliver bug fixes, new features, and security improvements. Visit the Feishin GitHub releases page periodically to check for updates. The releases page lists all versions with changelogs describing changes.

Before updating, backup current configuration to prevent data loss:

cp -r ~/.config/feishin ~/.config/feishin.backup

Download the latest AppImage:

cd ~/Downloads
wget https://github.com/jeffvli/feishin/releases/latest/download/Feishin-linux-x86_64.AppImage

Rename the current version for rollback capability:

mv ~/.local/bin/feishin ~/.local/bin/feishin.old

Move the new version into place:

chmod +x ~/Downloads/Feishin-linux-x86_64.AppImage
mv ~/Downloads/Feishin-linux-x86_64.AppImage ~/.local/bin/feishin

Launch Feishin and verify functionality. User settings and server configurations persist across updates automatically. If issues arise, roll back to the previous version:

mv ~/.local/bin/feishin ~/.local/bin/feishin.broken
mv ~/.local/bin/feishin.old ~/.local/bin/feishin

Remove old versions after confirming the update succeeded:

rm ~/.local/bin/feishin.old

Consider subscribing to GitHub release notifications for automatic update alerts. Click Watch > Custom > Releases on the Feishin repository page.

Troubleshooting Common Issues

MPV-Related Problems

“MPV binary not found” errors indicate incorrect path configuration. Verify MPV installation:

which mpv

Reconfigure the path in Feishin settings using the output from this command. Some Rocky Linux configurations install MPV to non-standard locations—check /usr/local/bin/mpv if /usr/bin/mpv fails.

MPV dependency issues manifest as crashes or playback failures. Install missing libraries:

sudo dnf install libuchardet libva

Audio device problems prevent sound output despite successful playback. List available audio devices:

mpv --audio-device=help

Configure Feishin to use a specific device from this list. Codec issues affect certain file formats. Install additional codec support:

sudo dnf install gstreamer1-plugins-good gstreamer1-plugins-bad-free

Server Connection Issues

Connection failures have multiple causes. Verify server accessibility through web browser navigation to the server URL. If the browser can’t connect, the problem lies with server configuration or network connectivity rather than Feishin.

Double-check username and password accuracy. Case sensitivity matters—ensure credentials match exactly. Server URL must include protocol and port:

https://music.domain.com:4533

Firewall rules may block connections. Open necessary ports on Rocky Linux:

sudo firewall-cmd --permanent --add-port=4533/tcp
sudo firewall-cmd --reload

SSL certificate problems occur with self-signed certificates. Some server configurations require accepting certificate warnings or installing certificates system-wide. Switching between server types requires selecting the correct API during configuration. Jellyfin and Navidrome use different authentication methods—verify server type selection matches actual server software.

AppImage Execution Problems

Permission denied errors result from missing executable permissions. Reapply permissions:

chmod +x ~/.local/bin/feishin

FUSE-related issues prevent AppImage execution on some systems. Install FUSE:

sudo dnf install fuse fuse-libs

Older Rocky Linux versions may require enabling FUSE:

sudo modprobe fuse

Missing system libraries cause cryptic error messages. Install common dependencies:

sudo dnf install libXScrnSaver gtk3

Desktop integration failures prevent menu entries from appearing. Manually update desktop database:

update-desktop-database ~/.local/share/applications/

Check system logs for detailed error messages:

journalctl --user -b | grep -i feishin

Security Best Practices

Download Feishin exclusively from the official GitHub repository to avoid malware or compromised versions. Verify URLs match exactly:

https://github.com/jeffvli/feishin

GitHub provides release authenticity through repository ownership. Check file sizes and compare against previous releases—significant deviations warrant investigation.

Use HTTPS for all server connections to encrypt data in transit. Configure music servers with valid SSL certificates. Self-signed certificates require manual trust establishment but still provide encryption.

Protect server credentials by avoiding password reuse across services. Consider using password managers to generate and store complex passwords. Feishin stores credentials in configuration files—secure these files with appropriate permissions:

chmod 600 ~/.config/feishin/config.json

Keep Rocky Linux 10 updated with security patches. Enable automatic security updates:

sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer

Configure firewall rules restrictively, allowing only necessary connections. Review open ports regularly:

sudo firewall-cmd --list-all

AppImages run in user context, limiting potential damage from vulnerabilities. Avoid running Feishin with elevated privileges—normal user permissions suffice for all functionality. Regularly review configuration files for unexpected changes:

ls -la ~/.config/feishin/

Uninstalling Feishin

Complete removal requires deleting multiple files and directories. Remove the AppImage:

rm ~/.local/bin/feishin

Delete the desktop entry:

rm ~/.local/share/applications/feishin.desktop

Remove the application icon:

rm ~/.local/share/icons/feishin.png

Delete configuration files and cached data:

rm -rf ~/.config/feishin

Clear any remaining cache directories:

rm -rf ~/.cache/feishin

Update the desktop database to remove menu entries:

update-desktop-database ~/.local/share/applications/

MPV can be removed if no other applications require it:

sudo dnf remove mpv

Verify complete removal by searching for remaining files:

find ~ -iname "*feishin*"

Any results indicate leftover files that can be manually deleted. Clean package cache to free additional space:

sudo dnf clean all

Congratulations! You have successfully installed Feishin. Thanks for using this tutorial for installing the Feishin modern self-hosted music player on Rocky Linux 10 system. For additional help or useful information, we recommend you check the official Feishin website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button