-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Has anyone been able to get Sunshine to build on Fedora-based distros? #267
Comments
I don't know what is different between F33 and F35, but have you seen this? #50 (comment) |
I did see it. Instead of using When I run |
I guess you are trying to build this yourself because the .deb packages don't work? If so, I built Sunshine as an AppImage. I think it will work on Fedora, but I haven't tested it myself. https://github.com/RetroArcher/sunshine.build/releases |
Hmm I get this as well, normally errors like that lead me to think of I installed the following packages on Fedora to get CMake initially happy:
Initially I get this output:
I messed with the build system a bit (see this patch: pulseaudio-patch.txt) to see if I could get cmake to link the right libraries and I seem to get a bit further (I think). I get this when linking:
Which means for some reason Fedora's version of PulseAudio doesn't include this function? This could be why ld is considering that library incompatible. Currently Fedora packages PulseAudio 15, do any Ubuntu distros package that version to test if it's just down to Fedora's version being weird? |
Ubuntu 21.10 uses the same version. https://packages.ubuntu.com/impish/pulseaudio 20.04LTS uses version 13.99 |
@ReenigneArcher
|
@thatsysadmin might be an issue with AppImage in general. I found these similar issues when searching for
And a possible solution that I will look into (seems I need to package this is a bit differently) https://bbs.archlinux.org/viewtopic.php?pid=1994258#p1994258 |
Fedora 35:
Could you make a official package? |
I'm looking into automating the build on Fedora, Thanks! |
Just tested building sunshine in a Ubuntu 21.10 docker container and was able to link without issues. There appears to be some issue with Fedora's distribution of PulseAudio.. |
Fedora is using fork of pusleaudio PipeWire, it works without issue with Sunshine for me 🤔 |
I've now successfully built sunshine in Fedora 33 and 35 using docker. Still researching how to make an rpm package file. Required dependencies from my testing are below. Fedora 33 (https://github.com/ReenigneArcher/Sunshine/runs/4577019646?check_suite_focus=true#step:4:196) dnf -y update && \
dnf -y group install "Development Tools" && \
dnf -y install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
dnf -y install \
boost-devel \
boost-static.x86_64 \
cmake \
ffmpeg-devel \
libevdev-devel \
libxcb-devel \
libX11-devel \
libXfixes-devel \
libXrandr-devel \
libXtst-devel \
openssl-devel \
opus-devel \
pulseaudio-libs-devel \
&& dnf clean all \
&& rm -rf /var/cache/yum Fedora 35 (https://github.com/ReenigneArcher/Sunshine/runs/4577019666?check_suite_focus=true#step:4:192) dnf -y update && \
dnf -y group install "Development Tools" && \
dnf -y install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
dnf -y install \
boost-devel \
boost-static.x86_64 \
cmake \
ffmpeg-devel \
gcc-c++ \
libevdev-devel \
libxcb-devel \
libX11-devel \
libXcursor-devel \
libXfixes-devel \
libXinerama-devel \
libXi-devel \
libXrandr-devel \
libXtst-devel \
mesa-libGL-devel \
openssl-devel \
opus-devel \
pulseaudio-libs-devel \
&& dnf clean all \
&& rm -rf /var/cache/yum |
Interesting, I wonder what is installed that causes it to link correctly in Fedora's docker image as opposed to on a Workstation install..
This application still links to the pulseaudio library and is a pulseaudio application. |
@ProjectSynchro EDIT: When running it I got an access denied error when it tried to connect to "Pulseaudio". Might have to check SELinux. |
I have default selinux and it works. I had to manually change Sink tho - autodetection didn't catch it
|
It looks like I was running into multi-arch dependency hell.. After checking through and ensuring I've got the 64bit libs installed, I could link correctly. Seems I wasn't too far off in #267 (comment) |
We have Dockerfiles in SunshineStream's Sunshine repo that build fedora 33 and 35 now. If anyone wants to contribute on packaging into an rpm that would be welcome. https://github.com/SunshineStream/Sunshine/tree/master/scripts |
@ReenigneArcher Haven't got any experience in RPM packaging. I could try, but when I cloned the repo as of today, cmake complains. Seems like same commit between 29 days ago and today. Was able to build it 29 days ago.
EDIT: clarity
|
Note: It's a different repo than Loki's (this one), as we don't have any ability to maintain Loki's repo. Doesn't appear that you've ever forked it. The scripts in the link I posted build in docker. |
No I cloned Loki's to my local machine. |
@ReenigneArcher
EDIT: Forget it. I forked the repo and the cmake command worked. Maybe it was because it was not my own fork. Whatever it was, it works now. |
Future people: Moving this to LizardByte/Sunshine#7 |
Are there any instructions on how to build Sunshine for Fedora 35/RHEL derivatives? Thanks!
I tried to build Sunshine on F34 a while ago, but gave up. If I recall, it seemed like it wanted a specific version of GCC.
The text was updated successfully, but these errors were encountered: