# Maintainer: Azkali Manad %undefine __brp_mangle_shebangs %global __brp_check_rpaths %{nil} %undefine _missing_build_ids_terminate_build %define _build_id_links none %define flatpak_ver 32-7-6 Name: nvidia-l4t-bsp-32.7.6 License: GPL-3.0-only Summary: Nvidia L4T BSP Version: 32.7.6 Release: %{autorelease} AutoReq: 0 Provides: libnvbuf_utils.so.1.0.0()(64bit) Provides: nvidia-l4t-bsp SOURCE1: https://gitlab.com/l4t-community/gnu-linux/switchroot-pipeline/-/archive/master/switchroot-pipeline-master.tar.gz?path=switch-l4t-configs#/switch-l4t-configs.tar.gz SOURCE2: 20-touchscreen.conf SOURCE3: display-server.conf SOURCE4: wallpaper_fedora.bmp SOURCE5: https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/t210/jetson-210_linux_r%{version}_aarch64.tbz2 SOURCE6: https://github.com/cobalt2727/L4T-Megascript/raw/refs/heads/master/assets/Flatpak/t210/org.freedesktop.Platform.GL.nvidia-tegra-%{flatpak_ver}.flatpak BuildRequires: systemd-rpm-macros # Audio Requires: pipewire-module-x11 Requires: pipewire-codec-aptx Requires: pipewire-plugin-vulkan Requires: pipewire-v4l2 Requires: pipewire-pulseaudio # Dock-hotplug/CEC Requires: v4l-utils # Upower Requires: upower # WiFi Requires: iw Requires: wpa_supplicant # Xorg Requires: xrandr Requires: xinput %description %{summary} %{version}. %prep tar xf %{SOURCE1} tar xf %{SOURCE5} %install cd %{buildroot} for deb in %{_builddir}/Linux_for_Tegra/nv_tegra/l4t_deb_packages/*.deb; do ar x ${deb}; rm -f control* debian-binary ; tar xf data.tar* -C %{buildroot}; rm -f data.tar* $deb; done rm -rf %{_builddir}/Linux_for_Tegra mkdir -p usr/lib/alsa/init/ usr/lib64/libv4l/plugins/ usr/systemd/system/ opt/l4s-overlay/ etc/X11/xorg.conf.d/ etc/sddm.conf.d/ i%{buildroot}%{_datadir}/backgrounds/ mv lib/* usr/lib/ touch %{buildroot}/etc/systemd/zram-generator.conf # Alsa mv usr/share/alsa/init/postinit usr/lib/alsa/init/ # Xorg to lib64 cp -r usr/lib/xorg usr/lib64/ cp -r %{_builddir}/switchroot-pipeline-master-switch-l4t-configs/switch-l4t-configs/nvidia-l4t-bsp/{firmware,init,nvpmodel}/* %{_builddir}/switchroot-pipeline-master-switch-l4t-configs/switch-l4t-configs/switch-*/* . install -m 755 %{SOURCE6} opt/l4s-overlay/ install -m 755 %{SOURCE2} etc/X11/xorg.conf.d/ install -m 755 %{SOURCE3} etc/sddm.conf.d/ install %{SOURCE4} %{buildroot}%{_datadir}/backgrounds/ # Setup monitors xml mv etc/skel/.config/monitors_l4t.xml etc/skel/.config/monitors.xml mv root/.config/monitors_l4t.xml root/.config/monitors.xml rm -rf {root,etc/skel/}.config/*_mainline.xml # BSP 32.6+ ln -s ../tegra21x/nv_acr_ucode_prod.bin usr/lib/firmware/gm20b/acr_ucode.bin # V4L2 ln -s /usr/lib/aarch64-linux-gnu/tegra/libv4l2_nvvidconv.so usr/lib64/libv4l/plugins/libv4l2_nvvidconv.so ln -s /usr/lib/aarch64-linux-gnu/tegra/libv4l2_nvvideocodec.so usr/lib64/libv4l/plugins/libv4l2_nvvideocodec.so ln -s /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 usr/lib64/libv4l/plugins/libv4l2.so.0 ln -s /usr/lib/aarch64-linux-gnu/tegra/libv4lconvert.so.0 usr/lib64/libv4l/plugins/libv4lconvert.so.0 # Weston #ln -sf /usr/lib/aarch64-linux-gnu/tegra/weston/hmi-controller.so usr/lib/aarch64-linux-gnu/weston/hmi-controller.so #ln -sf /usr/lib/aarch64-linux-gnu/tegra/weston/libweston-6.so.0 usr/lib64/libweston-6.so.0 #ln -sf /usr/lib/aarch64-linux-gnu/tegra/weston/libweston-desktop-6.so.0 usr/lib64/libweston-desktop-6.so.0 rm -rf usr/bin/weston* usr/lib/aarch64-linux-gnu/tegra/weston/ usr/share/weston/ # Configs echo -e "/usr/lib\n/usr/lib64\n/usr/lib/aarch64-linux-gnu/tegra\n/usr/lib/aarch64-linux-gnu/tegra-egl" >> etc/ld.so.conf.d/nvidia-tegra.conf echo "fedora4switch" > etc/hostname echo -e "bluedroid_pm\nnvhost_vi\nnvgpu\nbrcmfmac\nbtbcm" >> etc/modules # Nvpmodel sed -i 's/OnlyShowIn.*//g' etc/xdg/autostart/nvpmodel_indicator.desktop # Move services to usr/ instead of etc/ for service in etc/systemd/system/*.service; do mv $service usr/systemd/system/; done rm -rf boot/ \ usr/lib/modules/ \ lib/ \ usr/lib/systemd/system/bluetooth.service.d/ \ etc/systemd/system/multi-user.target.wants/ \ etc/systemd/nvfb.sh \ etc/systemd/system/nvfb-early.service \ etc/systemd/system/multi-user.target.wants/nvfb-early.service \ etc/systemd/system/apt-daily.timer.d \ etc/systemd/system/apt-daily-upgrade.timer.d \ etc/systemd/resolved.conf.d \ etc/systemd/timesyncd.conf.d \ opt/nvidia/l4t-usb-device-mode/ \ etc/systemd/nvzramconfig.sh \ etc/systemd/system/nvmemwarning.service \ etc/systemd/nvfb.sh \ etc/systemd/nvgetty.sh \ etc/systemd/system/nv-l4t-usb-device-mode-runtime.service \ etc/systemd/system/nv-l4t-usb-device-mode.service \ etc/systemd/system/multi-user.target.wants/nv-l4t-usb-device-mode.service \ etc/systemd/system/multi-user.target.wants/nvgetty.service \ etc/systemd/system/nvgetty.service \ etc/systemd/system/nvmemwarning.service \ etc/systemd/system/multi-user.target.wants/nvmemwarning.service \ etc/systemd/system/nvfb.service \ etc/systemd/system/multi-user.target.wants/nvfb.service \ etc/systemd/system/nvzramconfig.service \ etc/systemd/system/multi-user.target.wants/nvzramconfig.service \ opt/nvidia/l4t-bootloader-config/ \ opt/nvidia/l4t-usb-device-mode/ \ etc/systemd/system/multi-user.target.wants/nv-l4t-bootloader-config.service \ etc/udev/rules.d/99-nv-l4t-usb-device-mode.rules \ etc/udev/rules.d/99-nv-ufs-mount.rules \ etc/udev/rules.d/99-nv-wifibt.rules \ etc/systemd/nvwifibt-pre.sh \ etc/systemd/nvwifibt.sh \ etc/systemd/system/nvwifibt.service \ etc/systemd/sleep.conf \ usr/lib/firmware/brcm/BCM.hcd \ usr/share/alsa/init \ etc/xdg/autostart/nvbackground.* \ etc/xdg/autostart/nvchrome.* \ etc/xdg/autostart/nvl4t-readme.sh \ etc/xdg/autostart/nvlxde* \ etc/wpa_supplicant.conf \ etc/skel/Desktop/ for dir in $(ls %{buildroot}); do find "/%{buildroot}/${dir}" -not -type d -printf "/${dir}/%%P\n" >> %{name}.txt done %posttrans sed -i 's/Number 1/Number 0/g; s/Device 3/Device 0/g' %{_exec_prefix}/share/alsa/ucm2/Tegra/tegra-hda/tegra-hda-HiFi.conf if ! flatpak list | grep -qF "org.freedesktop.Platform.GL.nvidia-tegra-%{flatpak_ver}"; then echo "export FLATPAK_GL_DRIVERS=nvidia-tegra-%{flatpak_ver}" > /etc/profile.d/flatpak_tegra.sh echo 'Defaults env_keep += FLATPAK_GL_DRIVERS' > /etc/sudoers.d/flatpak_tegra flatpak install --system /opt/l4s-overlay/org.freedesktop.Platform.GL.nvidia-tegra-%{flatpak_ver}.flatpak -y flatpak pin --system runtime/org.freedesktop.Platform.GL.nvidia-tegra-%{flatpak_ver}.flatpak/aarch64/1.4 fi flatpak override --device=all flatpak override --share=network flatpak override --filesystem=/sys su - $SUDO_USER -c "flatpak override --user --device=all" su - $SUDO_USER -c "flatpak override --user --share=network" su - $SUDO_USER -c "flatpak override --user --filesystem=/sys" if [ ! $(grep -q "/dev/root" /etc/fstab) ]; then echo "/dev/root / ext4 defaults 0 1" > /etc/fstab fi /sbin/ldconfig %post systemctl enable nvargus-daemon nvpmodel nvphs nv nvweston nvs-service systemctl --global enable auto-rotate.service %files -f %{name}.txt %changelog %{autochangelog}