Music streaming for BSD

areyouevenreal@lemm.ee to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 46 points –

Hello based people of lemmy,

I have recently started trying out BSDs as an alternative to Linux and found out that Spotify isn't supported. Before you say try it in a browser this doesn't work as spotify has DRM that doesn't work on BSD OSes.

Now is there a way to stream music similar to Spotify? I know there is a downloader program available.

Furthermore do you know what self-hosted options are available? I already have a basic *arr stack and am always up for convoluted server and Linux hijinks.

60

You are viewing a single comment

Hi, I am currently on GhostBSD but that could change so I didn't want to be too specific in the post. I have tried installing spotify the way you suggest and it just crashes before I can get to a login screen. Do you think there is a way to make it work?

I do not use GhostBSD and am not familiar with it. It can be done on vanilla FreeBSD, you need to bootstrap an Ubuntu base system which is somewhat involved since there is not a package for it. Google is your friend.

I already have an Ubuntu system bootstrapped. It doesn't work. I think I messed it up somehow. Do you have a specific guide?

https://www.micski.dk/2022/01/19/how-to-install-spotify-on-freebsd/ https://www.micski.dk/2021/12/21/install-ubuntu-base-system-into-freebsds-linux-binary-compatibility/

If it is crashing, you should probably figure out why. man ktrace man lldb. Linux coredumps are supported now, too.

Those steps are outdated. I specifically had to lookup spotify's directions for installing on Ubuntu as the public key has changed I think. It's also just sort of freezes, it doesn't close or anything. There is a message about the GPU drivers I don't really understand and probably can't fix as that's a kernel issue.

Spotify is just an electron app. You can disable any GPU access just like you can with chrome via a flag.

My point is, unless spotify is trying to call a heretofore unimplemented syscall, it can be made to run. The linuxulator is basically as good as native.

Yeah tbh I made a mess of the Linux environment. I am gonna reinstall and see what happens. There are other potentially GPU related things going on on this system though so IDK. Like I could disable it for that one application but that wouldn't fix the other issues if that makes sense.

The Linuxulator is cool but I kind of don't trust it. Maybe I will try Linux containers.

My advice is to ditch GhostBSD, you are basically putting yourself further into the corner than you already are by trying to use FreeBSD on the desktop.

Linux binaries run just by a syscall shim. There's not much to trust or distrust. If all the syscalls are implemented and mapped to native FreeBSD syscalls, the thing works. Otherwise, it doesn't.

Oh I am sure the kernel support is great. I am more having issues working with chroots directly. I am much more at home managing docker and lxc which are more isolated. I just broke something trying to remove a couple chroots while stuff was still mounted - I think I nuked /home. You don't really have that issue with docker containers or lxc, it's a simple command to remove.

More isolated in which way? You should probably read up on how all this stuff is actually implemented, it will clarify your understanding of what is going on rather than just throwing commands at the wall and seeing what sticks.

I mean docker and especially lxc do a lot more than just chroot. They use cgroups, namespaces, and other stuff that's beyond my paygrade. LXC remaps user IDs for example. That's without getting into tech like gvisor and runsc that further isolates them by restricting system calls and re implementing some of them to increase security. Obviously there are things like privileged containers which have fewer restrictions, but those are the exception not the rule. From what I understand of chroot it only really restricts what files it can see; there is a reason why android supports chroots + termux but not a full docker install. Chroots to me are mainly used for bootstrapping systems and recovering systems. They aren't meant for real virtualization or server work by themselves if you catch my drift.

I know how docker and lxc work and the difference between them and chroots. But you're talking about persistence of changes breaking things. You are right that chroot only operates on the VFS namespace. Jails are the kind of isolation you are after, and in fact were in FreeBSD before containerization was even a word.

Things like remapping user IDs start to pervert the line between userspace and what the kernel gives a shit about. Linux containerization technologies are many things, but elegant they are not.

You can run a Linux Jail/Container in FreeNAS, right?

I am aware jails exist, I had bastille installed before I bricked my system to play with.

1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...
1 more...

Oh and GhostBSD uses FreeBSD packages essentially. It's like how Endeavour OS is to Arch linux of that makes sense.

I am sure they have muddied the waters with some garbage "user-friendly" configuration.

Honestly I haven't found them to do anything daft yet. From my understanding FreeBSD is a pain to configure for desktop usage as it's designed more for servers. Tell me if I am wrong.

Yes, you are wrong. FreeBSD is a general purpose operating system. You install what you need and configure what you need. GhostBSD and its ilk are for weenies.

Now you sound like an Arch kid. I say this as someone who used to be an Arch kid sort of.

I use Arch too. I've been using FreeBSD for 21 years, though. I run everything on it, even this Lemmy instance.

Okay I will probably move to FreeBSD proper eventually. I am still new to this though and likely to break things. I don't want to have to go through a whole process every time I mess up to get a usable working system until I actually know what I am doing.

Install on ZFS root, snapshot a known good, then you can rollback as you wish.

Yeah this might be the way. I have created a FreeBSD current USB drive to install off of. I am thinking the newer slightly less stable version has less GPU issues as that seems to be the main factor.

That almost certainly untrue. Do not run CURRENT, it has INVARIANTS and WITNESS enabled that will make it painfully slow.

That's good to know. Is there also a way to suppress error messages in the installer? They fill the whole screen from one repeating message and I can't actually install it because of that.

14 more...
14 more...
14 more...
14 more...
14 more...

Out of curiosity what do you use Linux for and what do you use FreeBSD for? Do you use FreeBSD as a desktop or only as a server?

Linux on laptops, and certain other servers (TV headend/DVR, APCO P25 SDRtrunk host), and video transfer workstation. FreeBSD on any other servers, routers, and workstations, including my home automation controller (I maintain a fork of Home Assistant for FreeBSD).

14 more...
14 more...
14 more...
14 more...
14 more...
14 more...
15 more...
15 more...