Epoch: 1 Name: chromium-nvdec Version: 1.0 Release: %{autorelease} License: GPL-3.0 Summary: L4S Chromium integration: Fedora Chromium with Tegra NVDEC hardware video decoding # Fedora's chromium links the system ffmpeg (libavcodec-free), which on L4S ships # the nvv4l2 NVIDIA V4L2 decoders registered ahead of the software ones, so # chromium gets hardware video decode for free. The only extra needed is to run # chromium with --no-sandbox so the renderer can open /dev/nvhost-nvdec (the # sandbox otherwise blocks that device, falling back to software decode). Requires: chromium Requires: libavcodec-free # /dev/nvhost-nvdec + the libv4l2 nvvideocodec plugins come from the BSP/configs Requires: nvidia-l4t-bsp BuildArch: noarch Source1: google-chrome.svg Source2: chrome-remote-desktop.svg Source3: chromium-streaming.desktop %description %{summary}. This package turns Fedora's Chromium into the L4S hardware-accelerated browser: it enables NVDEC video decode (via the nvv4l2 system ffmpeg) by disabling the Chromium sandbox so the GPU process can reach /dev/nvhost-nvdec, and adds the "Chromium Streaming" launcher (Chrome OS user-agent) for cloud gaming. %prep %install mkdir -p %{buildroot}%{_datadir}/icons install -p -m0644 %{SOURCE1} %{SOURCE2} %{buildroot}%{_datadir}/icons/ mkdir -p %{buildroot}%{_datadir}/applications install -p -m0644 %{SOURCE3} %{buildroot}%{_datadir}/applications/chromium-streaming.desktop %post # nvv4l2 HW decode needs --no-sandbox so the renderer can open /dev/nvhost-nvdec. CONF=/etc/chromium/chromium.conf if [ -f "$CONF" ] && ! grep -q "L4S nvv4l2 HW decode" "$CONF"; then printf '%s\n' 'CHROMIUM_FLAGS="${CHROMIUM_FLAGS} --no-sandbox" # L4S nvv4l2 HW decode' >> "$CONF" fi %postun if [ "$1" = 0 ]; then sed -i '/L4S nvv4l2 HW decode/d' /etc/chromium/chromium.conf 2>/dev/null || : fi %files %{_datadir}/icons/google-chrome.svg %{_datadir}/icons/chrome-remote-desktop.svg %{_datadir}/applications/chromium-streaming.desktop %changelog %{autochangelog}