if USE="video_cards_nvidia" is enabled, nvidia-cuda-toolkit is required at build time at least, otherwise build will failed with: unable to find nvcc Reproducible: Always
Haven't looked at the package myself, but note that this should use USE=cuda rather than video_cards_nvidia if it actually needs nvidia-cuda-toolkit.
yes, i haven't run this package yet, so don't know whether nvidia-drivers is required.
When I tried to build on my new machine with video_cards_nvidia and with nvidia-cuda-toolkit installed but without USE=cuda, I got compilation failures (I guess because the xpra ebuild only sets NVCC_PREPEND_FLAGS when USE=cuda but the build process tries to build CUDA code anyway), but with USE=cuda it builds without error (though its test phase fails some tests).
I am using [ebuild N ~] x11-wm/xpra-6.0.1-r1::gentoo USE="X client clipboard crypt cups dbus examples gstreamer gtk3 html jpeg lz4 lzo opengl pulseaudio server sound systemd trayicon udev vpx webp x264 xdg xinerama -avif -brotli -csc -cuda -debug -doc -ibus -mdns -minimal -oauth -openh264 -pinentry -qrcode -test -webcam" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11" VIDEO_CARDS="nvidia" 0 KiB but the package fails to build with unable to find nvcc failed to rebuild the cuda kernels ['XRGB_to_NV12', 'XRGB_to_YUV444', 'BGRX_to_NV12', 'BGRX_to_YUV444', 'BGRX_to_RGB', 'RGBX_to_RGB', 'RGBA_to_RGBAP', 'BGRA_to_RGBAP'] There is something weird because cuda should be disabled in according to the setup configuration while the setup.py assumes it is enabled!
This is the first part of the build log: * Building the wheel for xpra-6.0.1 via setuptools.build_meta python3.12 -m gpep517 build-wheel --prefix=/usr --backend setuptools.build_meta --output-fd 3 --wheel-dir /var/tmp/portage/x11-wm/xpra-6.0.1-r1/work/xpra-6.0.1_python3.12/wheel --config-json {"--build-option": ["--with-PIC", "--without-avif", "--without-brotli", "--with-audio", "--with-client", "--with-clipboard", "--without-csc_cython", "--without-csc_libyuv", "--without-cuda_rebuild", "--without-cuda_kernels", "--with-dbus", "--without-debug", "--without-docs", "--without-evdi", "--with-example", "--with-gstreamer", "--with-gstreamer_audio", "--with-gstreamer_video", "--with-gtk3", "--with-http", "--without-mdns", "--with-nvidia", "--without-nvdec", "--without-nvenc", "--without-nvfbc", "--with-opengl", "--without-openh264", "--with-printing", "--without-pandoc_lua", "--without-qrencode", "--without-quic", "--with-sd_listen", "--with-server", "--with-service", "--with-shadow", "--with-vpx", "--without-webcam", "--with-webp", "--with-x11", "--with-Xdummy", "--without-tests", "--with-strict", "--pkg-config-path=/var/tmp/portage/x11-wm/xpra-6.0.1-r1/work/xpra-6.0.1/fs/lib/pkgconfig", "--with-jpeg_encoder", "--with-vpx_encoder", "--without-openh264_encoder", "--without-nvjpeg_encoder", "--without-avif_encoder", "--with-webp_encoder", "--without-spng_encoder", "--with-vpx_decoder", "--without-openh264_decoder", "--without-nvjpeg_decoder", "--with-jpeg_decoder", "--without-avif_decoder", "--with-webp_decoder", "--without-spng_decoder"]} 2025-03-11 20:18:51,150 gpep517 INFO Building wheel via backend setuptools.build_meta /usr/lib/python3.12/site-packages/gpep517/__main__.py bdist_wheel --dist-dir /var/tmp/portage/x11-wm/xpra-6.0.1-r1/work/xpra-6.0.1_python3.12/wheel/.tmp-kzs8f1go --with-PIC --without-avif --without-brotli --with-audio --with-client --with-clipboard --without-csc_cython --without-csc_libyuv --without-cuda_rebuild --without-cuda_kernels --with-dbus --without-debug --without-docs --without-evdi --with-example --with-gstreamer --with-gstreamer_audio --with-gstreamer_video --with-gtk3 --with-http --without-mdns --with-nvidia --without-nvdec --without-nvenc --without-nvfbc --with-opengl --without-openh264 --with-printing --without-pandoc_lua --without-qrencode --without-quic --with-sd_listen --with-server --with-service --with-shadow --with-vpx --without-webcam --with-webp --with-x11 --with-Xdummy --without-tests --with-strict --pkg-config-path=/var/tmp/portage/x11-wm/xpra-6.0.1-r1/work/xpra-6.0.1/fs/lib/pkgconfig --with-jpeg_encoder --with-vpx_encoder --without-openh264_encoder --without-nvjpeg_encoder --without-avif_encoder --with-webp_encoder --without-spng_encoder --with-vpx_decoder --without-openh264_decoder --without-nvjpeg_decoder --with-jpeg_decoder --without-avif_decoder --with-webp_decoder --without-spng_decoder Xpra version 6.0.1 found Cython version 3.0.11 found pkg-config version: 2.3.0 using PKG_CONFIG_PATH=/var/tmp/portage/x11-wm/xpra-6.0.1-r1/work/xpra-6.0.1/fs/lib/pkgconfig:/var/tmp/portage/x11-wm/xpra-6.0.1-r1/temp/python3.12/pkgconfig:/usr/share/guile-data/2.2/pkgconfig ARCH='x86_64' using INCLUDE_DIRS=['/usr/include'] CC='x86_64-pc-linux-gnu-gcc' CPP='x86_64-pc-linux-gnu-gcc -E' which shows the config options, I patched the setup to print the value of 4 variables during the script execution and I get: nvenc_ENABLED: True nvdec_ENABLED: False nvjpeg_encoder_ENABLED: True nvjpeg_decoder_ENABLED: True but this is weird. In fact, looking at the code: DEFAULT = True nvidia_ENABLED = DEFAULT and not OSX and BITS==64 nvjpeg_encoder_ENABLED = nvidia_ENABLED and pkg_config_ok("--exists", "nvjpeg") nvjpeg_decoder_ENABLED = nvidia_ENABLED and pkg_config_ok("--exists", "nvjpeg") nvenc_ENABLED = nvidia_ENABLED and pkg_config_version("10", "nvenc") nvdec_ENABLED = False I cannot see how that works because I don't have nvjpeg or nvenc pkg-config modules installed: $ pkg-config --list-all | grep ^nv <empty> At the end the script fails during compile phase: unable to find nvcc failed to rebuild the cuda kernels ['XRGB_to_NV12', 'XRGB_to_YUV444', 'BGRX_to_NV12', 'BGRX_to_YUV444', 'BGRX_to_RGB', 'RGBX_to_RGB', 'RGBA_to_RGBAP', 'BGRA_to_RGBAP'] but it should never reach that part with the config options above.