Jmontleon's Projects

jmontleon/rpi5

Kernel capable of booting on the Raspberry Pi 5 This is using patches created from commits at https://github.com/6by9/linux. Primarily the mainline_2712_rp1_rc3 and mainline_2712_mmc1 branches. There are also some changes to the kernel config to enable Raspberry Pi 5 specific options.
  • Fedora 40 : aarch64

jmontleon/jellyfin-ppc64le

This repo was started to help get Jellyfin working on ppc64le. The first pass was with Fedora as a target, although the next was using AlmaLinux 8 so the number of targets had grown. While at it I decided to get it to work on other architectures as well so its grown further and the repo name is somewhat of misleading. Jellyfin 10.9.0 is set up to use dotnet 8.0 which is helpful, because 10.8.3 uses dotnet 6.0 and dotnet 6.0 is not available for ppc64le. Inspiration for gathering dependencies for offline build was taken from https://github.com/rpmfusion/jellyfin/blob/f36/jellyfin-offline.sh, although the number nupkg files that were needed to download has grown. dotnet restore --packages ./jellyfin-dependencies-10.9.0 then for the rest, for example: mkdir jellyfin-nupkg-10.9.0 cd jellyfin-nupkg-10.9.0 curl -L https://www.nuget.org/api/v2/package/runtime.unix.Microsoft.Win32.Primitives/4.3.0 > runtime.unix.microsoft.win32.primitives.4.3.0.nupkg In addition, for npm, a new dependency @esbuild needed to be downloaded for every architecture being built. The only way I could figure out to do this was to run the steps for building the cache using a container for each platform. For this to work I placed the cache outside of the jellyfin-web dir and pointed at it with each run, resetting the jellyfin-web folder each time, otherwise I got errors with npm complaining about architecture mismatches. To do this for each architecture make sure you have qemu-user-static installed and then you can use podman like so: podman run --arch aarch64 -it --entrypoint /bin/bash -v $HOME/rpmbuild:/root/rpmbuild:z quay.io/fedora/fedora From there builds are successful, however one of the downloaded assets does not contain a copy for the library for ppc64le (or s390x) and the server will fail to start because of this. https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux/2.88.7 To work around this the library build is incorporated in the jellyfin server build and the library is placed in the same location it is found on x86_64 and arm64 builds. The source was gathered by cloning the v2.88.3 branch of https://github.com/mono/skia, running python3 tools/git-sync-deps, and creating a tar archive using the --exclude-vcs option. For this to build on s390x I also needed to create a patch that now allows to build, although it's quite likely incomplete. The nodejs:20 module is also enabled for the centos stream builds.
  • Centos-stream+epel-next 8 : aarch64, ppc64le, x86_64
  • Centos-stream+epel-next 9 : aarch64, ppc64le, s390x, x86_64
  • Fedora 39 : aarch64, ppc64le, s390x, x86_64
  • Fedora 40 : aarch64, ppc64le, s390x, x86_64
  • Fedora rawhide : aarch64, ppc64le, s390x, x86_64

jmontleon/pixelbook-test

Testing packages to improve the Fedora experience when run natively on a 2017 Pixelbook.
  • Fedora 38 : x86_64
  • Fedora 39 : x86_64
  • Fedora 40 : x86_64
  • Fedora rawhide : x86_64

jmontleon/pixelbook

Packages to improve the Fedora experience when run natively on a 2017 Pixelbook.
  • Fedora 38 : x86_64
  • Fedora 39 : x86_64
  • Fedora 40 : x86_64
  • Fedora rawhide : x86_64