openSUSE

How To Install Feishin on openSUSE

Install Feishin on openSUSE

Feishin represents the future of self-hosted music streaming, offering openSUSE users a modern and powerful alternative to traditional music players. This comprehensive guide will walk you through every step of installing Feishin on your openSUSE system, ensuring you can enjoy your music library with style and functionality.

Whether you’re running openSUSE Leap or Tumbleweed, this guide covers multiple installation methods to suit different user preferences and technical requirements. From simple AppImage deployment to advanced Docker containerization, you’ll discover the perfect installation approach for your setup.

What is Feishin and Why Choose It for openSUSE

Feishin stands out as a cutting-edge, self-hosted music player built with TypeScript and designed for modern Linux distributions like openSUSE. Unlike traditional music players, Feishin focuses on streaming music from your own server, giving you complete control over your audio library while maintaining accessibility across multiple devices.

The application serves as a spiritual successor to Sonixd, offering enhanced performance and a more intuitive user interface. Feishin’s architecture supports various backend music servers, including Jellyfin and Navidrome, making it incredibly versatile for different self-hosted setups.

Key advantages of choosing Feishin for your openSUSE system include seamless desktop integration, support for modern audio codecs, and robust streaming capabilities. The player excels at handling large music libraries while maintaining responsive performance, even on older hardware configurations.

Core Features and Capabilities

Feishin’s feature set distinguishes it from other music players available in openSUSE repositories. The application supports multiple audio backends, with MPV integration providing excellent format compatibility and high-quality playback. Built-in lyrics fetching enhances the listening experience, while cross-platform synchronization ensures your playlists and preferences remain consistent across devices.

The modern interface adapts well to different openSUSE desktop environments, including KDE Plasma, GNOME, and XFCE. System integration features include media key support, desktop notifications, and proper session management, making Feishin feel like a native openSUSE application.

Advanced users will appreciate Feishin’s support for custom themes, extensive keyboard shortcuts, and detailed audio configuration options. The player’s architecture allows for plugin extensions and customization, making it highly adaptable to specific workflow requirements.

Prerequisites and System Requirements

Before installing Feishin on your openSUSE system, ensure your environment meets the necessary requirements for optimal performance. These prerequisites apply to both openSUSE Leap 15.x and openSUSE Tumbleweed distributions.

Hardware Requirements

Your openSUSE system should have at least 4GB of RAM for comfortable Feishin operation, though 8GB is recommended for handling large music libraries. Storage requirements include approximately 1GB for the application itself, plus additional space for cached album artwork and temporary files.

A dual-core processor provides adequate performance for most use cases, while quad-core systems deliver enhanced responsiveness when streaming high-quality audio formats. Network connectivity is essential for streaming from remote servers and downloading metadata.

Software Dependencies

Update your openSUSE system before beginning the installation process. Open a terminal and execute the following commands:

sudo zypper refresh
sudo zypper update

Install essential development tools and libraries that Feishin requires:

sudo zypper install -y curl wget git gcc make

For audio playback functionality, install MPV media player, which serves as Feishin’s primary audio backend:

sudo zypper install -y mpv libmpv2

Additional multimedia codecs enhance format compatibility:

sudo zypper install -y gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly

Installation Method 1: Desktop Client via AppImage

The AppImage installation method provides the most straightforward approach for installing Feishin on openSUSE. This method includes all necessary dependencies within a single executable file, simplifying deployment and maintenance.

Downloading the Feishin AppImage

Navigate to your Downloads directory and fetch the latest Feishin release:

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

Verify the download completed successfully by checking the file size and integrity. The AppImage should be approximately 100-150MB depending on the version.

Making AppImage Executable

Grant execution permissions to the downloaded AppImage:

chmod +x Feishin-0.14.0-linux-x86_64.AppImage

Alternatively, use your file manager to modify permissions. Right-click the AppImage file, select Properties, navigate to the Permissions tab, and enable “Allow executing file as program.”

Installing System Dependencies

While the AppImage contains most required libraries, install additional packages for full functionality:

sudo zypper install -y libappindicator3-1 ffmpeg

These packages enable system tray integration and extended media format support. Without libappindicator, Feishin may not display properly in your system tray.

Creating Permanent Installation

Move the AppImage to a permanent location for easier access:

sudo mkdir -p /opt/feishin
sudo mv ~/Downloads/Feishin-0.14.0-linux-x86_64.AppImage /opt/feishin/
sudo chmod +x /opt/feishin/Feishin-0.14.0-linux-x86_64.AppImage

Create a symbolic link for command-line access:

sudo ln -s /opt/feishin/Feishin-0.14.0-linux-x86_64.AppImage /usr/local/bin/feishin

Desktop Integration Setup

Create a desktop entry file for application menu integration:

sudo tee /usr/share/applications/feishin.desktop > /dev/null <<EOF [Desktop Entry] Name=Feishin Comment=Modern self-hosted music player Exec=/opt/feishin/Feishin-0.12.3-linux-x86_64.AppImage Icon=multimedia-player Type=Application Categories=AudioVideo;Audio;Player; StartupNotify=true EOF

Update the desktop database to recognize the new application:

sudo update-desktop-database

Installation Method 2: Docker Container Deployment

Docker installation provides excellent isolation and simplified updates for Feishin. This method is particularly beneficial for users who prefer containerized applications or run multiple services on their openSUSE system.

Installing Docker on openSUSE

Install Docker using the zypper package manager:

sudo zypper install -y docker

Start and enable the Docker service for automatic startup:

sudo systemctl enable --now docker

Add your user to the docker group to run containers without sudo:

sudo usermod -aG docker $USER

Log out and back in for group changes to take effect, then verify Docker installation:

docker --version
docker info

Deploying Feishin Container

Create a directory for Feishin data persistence:

mkdir -p ~/.config/feishin

Run Feishin in a Docker container with proper volume mounting:

docker run -d \
  --name feishin \
  -p 9180:9180 \
  -v ~/.config/feishin:/app/data \
  --restart unless-stopped \
  jeffvli/feishin:latest

Access the containerized Feishin instance by opening your web browser and navigating to http://localhost:9180.

Docker Compose Configuration

For advanced setups, create a docker-compose.yml file:

version: '3.8'
services:
  feishin:
    image: jeffvli/feishin:latest
    container_name: feishin
    ports:
      - "9180:9180"
    volumes:
      - ~/.config/feishin:/app/data
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin

Deploy using Docker Compose:

docker-compose up -d

Installation Method 3: Web Version Access

The web version offers immediate access to Feishin without any local installation. This approach works well for evaluation purposes or when installation restrictions prevent local deployment.

Accessing the Official Web Client

Open your preferred web browser and navigate to the official Feishin web interface at https://feishin.vercel.app. The web version provides most core functionality while requiring no local installation.

Firefox and Chromium-based browsers offer optimal compatibility with the Feishin web interface. Ensure your browser supports modern JavaScript features and WebAudio API for full functionality.

Browser Optimization

For the best web experience, consider these browser optimizations:

  • Enable hardware acceleration in browser settings
  • Increase memory limits for JavaScript applications
  • Install uBlock Origin or similar ad blockers for improved performance
  • Configure browser to allow notifications from feishin.vercel.app

Creating a Progressive Web App

Modern browsers support installing web applications as desktop applications. In Chromium-based browsers, click the install icon in the address bar when visiting the Feishin web interface. This creates a standalone application window with its own launcher icon.

Music Server Setup and Configuration

Feishin requires a compatible music server to function properly. The two most popular options for openSUSE users are Jellyfin and Navidrome, both offering excellent compatibility with Feishin’s streaming capabilities.

Jellyfin Server Installation

Install Jellyfin on your openSUSE system using the generic Linux archive method. Download the latest stable release:

cd /tmp
wget https://repo.jellyfin.org/files/server/linux/stable/v10.9.9/amd64/jellyfin_10.9.9-amd64.tar.xz
wget https://repo.jellyfin.org/files/server/portable/ffmpeg/v6.0.1-8/jellyfin-ffmpeg_6.0.1-8_portable_linux64-gpl.tar.xz

Extract the archives to the appropriate directories:

sudo mkdir -p /opt/jellyfin
sudo tar -xzf jellyfin_10.9.9-amd64.tar.xz -C /opt/jellyfin/
sudo tar -xzf jellyfin-ffmpeg_6.0.1-8_portable_linux64-gpl.tar.xz -C /usr/share/

Create necessary directories and symlinks:

cd /opt/jellyfin
sudo ln -s jellyfin_10.9.9 jellyfin
sudo mkdir -p data cache config log

Create a startup script for Jellyfin:

sudo tee /opt/jellyfin/jellyfin.sh > /dev/null <

Navidrome Alternative Setup

For users preferring a lightweight alternative, Navidrome offers excellent performance with minimal resource usage. Download and install Navidrome:

wget https://github.com/navidrome/navidrome/releases/download/v0.52.5/navidrome_0.52.5_linux_amd64.tar.gz
sudo mkdir -p /opt/navidrome
sudo tar -xzf navidrome_0.52.5_linux_amd64.tar.gz -C /opt/navidrome/

Create a configuration file for Navidrome:

sudo tee /opt/navidrome/navidrome.toml > /dev/null <

Post-Installation Configuration

After successfully installing Feishin, configure the application for optimal performance on your openSUSE system. These configuration steps ensure seamless integration with your desktop environment and audio setup.

Initial Application Setup

Launch Feishin for the first time. The application will prompt you to configure your music server connection. Enter your server details:

  • Server URL: The address of your Jellyfin or Navidrome server
  • Username: Your music server username
  • Password: Your music server password

Test the connection to ensure Feishin can communicate with your music server. Successful connection will display your music library within the Feishin interface.

Install Feishin on openSUSE

Audio Backend Configuration

Navigate to Feishin’s settings and configure the audio backend. Specify the MPV binary path if automatic detection fails:

/usr/bin/mpv

Adjust audio quality settings based on your preferences and network bandwidth. Higher quality settings provide better audio fidelity but require more bandwidth and storage space.

Configure audio output device selection if you use multiple audio interfaces. Feishin respects system audio settings but allows override for specific use cases.

Desktop Environment Integration

Enable desktop integration features for seamless openSUSE experience:

  • Media Key Support: Configure keyboard media keys for playback control
  • System Notifications: Enable notifications for track changes and system events
  • System Tray Integration: Configure system tray behavior and appearance

For KDE Plasma users, additional integration options include plasma widgets and KDE Connect support for mobile device control.

Advanced Configuration and Customization

Feishin offers extensive customization options for advanced users who want to tailor the application to their specific workflow and aesthetic preferences.

Performance Optimization

Optimize Feishin performance by adjusting cache settings and buffer sizes. Increase cache size for better performance with large libraries:

Cache Size: 1000 MB
Buffer Size: 32 MB
Prefetch: 3 tracks

Configure network timeout settings based on your server location and connection quality. Local servers can use shorter timeouts, while remote servers may require extended timeout values.

Theme Customization

Feishin supports custom themes and appearance modifications. Access theme settings through the application preferences and choose from available themes or create custom color schemes.

Adjust font sizes and spacing for better readability on high-DPI displays common in modern openSUSE installations. The application scales well across different screen resolutions and DPI settings.

Keyboard Shortcuts

Configure custom keyboard shortcuts for frequently used functions:

  • Space: Play/Pause toggle
  • Ctrl+Right: Next track
  • Ctrl+Left: Previous track
  • Ctrl+Up: Volume increase
  • Ctrl+Down: Volume decrease

Advanced users can configure additional shortcuts for playlist management, search functions, and library navigation.

Troubleshooting Common Issues

Even with proper installation, you may encounter issues when running Feishin on openSUSE. This section addresses common problems and provides practical solutions.

Application Launch Problems

If Feishin fails to start, check the following:

Permission Issues: Ensure the AppImage has execute permissions:

chmod +x /path/to/Feishin.AppImage

Missing Dependencies: Install required system libraries:

sudo zypper install -y libappindicator3-1 mpv

Library Conflicts: Update system libraries to resolve compatibility issues:

sudo zypper update

Audio Playback Troubleshooting

No Audio Output: Verify MPV installation and configuration:

which mpv
mpv --version

Crackling or Distorted Audio: Adjust audio buffer settings in Feishin preferences or install additional audio codecs:

sudo zypper install -y gstreamer-plugins-bad-codecs gstreamer-plugins-ugly-codecs

Format Compatibility Issues: Install comprehensive codec packages:

sudo zypper install -y ffmpeg-4 libavcodec58 libavformat58

Server Connection Issues

Authentication Failures: Verify server credentials and ensure the music server is running and accessible.

Network Connectivity: Test server connectivity using curl:

curl -I http://your-server:port/ping

Firewall Restrictions: Configure firewall rules to allow Feishin traffic:

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

Maintenance and Updates

Keeping Feishin updated ensures access to the latest features and security improvements. Different installation methods require different update procedures.

AppImage Updates

Check for new releases on the Feishin GitHub repository regularly. Download new versions and replace the existing AppImage:

wget https://github.com/jeffvli/feishin/releases/download/v0.13.0/Feishin-0.13.0-linux-x86_64.AppImage
sudo mv Feishin-0.13.0-linux-x86_64.AppImage /opt/feishin/
sudo rm /opt/feishin/Feishin-0.12.3-linux-x86_64.AppImage

Update symbolic links and desktop entries to reference the new version.

Docker Container Updates

Update Docker containers using standard Docker commands:

docker stop feishin
docker rm feishin
docker pull jeffvli/feishin:latest
docker run -d --name feishin -p 9180:9180 -v ~/.config/feishin:/app/data --restart unless-stopped jeffvli/feishin:latest

For Docker Compose deployments:

docker-compose pull
docker-compose up -d

Backup Configuration

Regularly backup your Feishin configuration to prevent data loss:

tar -czf feishin-backup-$(date +%Y%m%d).tar.gz ~/.config/feishin/

Store backups in a secure location, preferably on a different system or cloud storage service.

Performance Optimization for openSUSE

Optimize Feishin performance specifically for openSUSE systems by leveraging distribution-specific features and configurations.

System Resource Management

Monitor Feishin resource usage using system tools:

top -p $(pgrep -f feishin)
systemctl --user status feishin.service

Adjust process priority if necessary:

renice -n -5 $(pgrep -f feishin)

Desktop Environment Optimization

KDE Plasma: Enable compositor effects for smooth animations and configure KWin rules for Feishin windows.

GNOME: Install GNOME Shell extensions for enhanced system integration and notification management.

XFCE: Configure panel plugins for media control integration and system tray customization.

Network Performance Tuning

Optimize network settings for better streaming performance:

echo 'net.core.rmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
echo 'net.core.wmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Configure Quality of Service (QoS) rules to prioritize audio traffic if you experience network congestion.

Congratulations! You have successfully installed Feishin. Thanks for using this tutorial for installing the Feishin modern self-hosted music player on openSUSE Linux 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