Skip to content

Instantly share code, notes, and snippets.

@rojenzaman
Created Jun 18, 2021
Embed
What would you like to do?
Spotify Adblock Fedora 34

Spotify Adblock Fedora 34

Install Spotify

First install the spotify package from negativo17's repository.

Enable negativo17 repo:

dnf config-manager --add-repo=https://negativo17.org/repos/fedora-spotify.repo

Then install:

dnf install spotify-client

Build Adblock

Install the dependencies:

dnf install rust cargo

Clone and build:

git clone https://github.com/abba23/spotify-adblock.git
cd spotify-adblock
make

Install to system path:

sudo make install

Usage - Important Last Step

Normally on other GNU/Linux distribution users add the LD_PRELOAD value to the desktop file, but this method didn't work on Fedora 34 (I really don't know why). So we will add LD_PRELOAD to spotify's executable: /usr/bin/spotify.

Add LD_PRELOAD value to /usr/bin/spotify:

export LD_PRELOAD=/usr/local/lib/spotify-adblock.so

Look like this:

#!/usr/bin/sh
# Wrapper script for Spotify.

# The spotify binary has a RUNPATH of its origin folder. It requires a few
# librares compiled with minimum options (no external dependencies).
# The FFMpeg library is loaded ONLY on the system path libraries, ignoring the
# RUNPATH.

# So remove the RUNPATH from the binary, put all the libraries in its private
# folder and make sure that only the spotify binary can access them.

export LD_LIBRARY_PATH="/usr/lib64/spotify-client${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export SCALE_FACTOR="$(/usr/lib64/spotify-client/get-scale-factor.py)"
#HERE
export LD_PRELOAD=/usr/local/lib/spotify-adblock.so

exec /usr/lib64/spotify-client/spotify --force-device-scale-factor=$SCALE_FACTOR "$@" &
exec /usr/lib64/spotify-client/set-dark-theme-variant.py &

That's all! Run it.

spotify ss

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment