# system wide chromium flags ARCH="$(arch)" MODE="$(systemd-detect-virt)" # GRAPHIC_DRIVER=[amd|intel|nvidia|default] GRAPHIC_DRIVER=intel # WEB_DARKMODE=[on|off] WEB_DARKMODE=off # NATIVE_WAYLAND=[on|off] # chromium >=141 switched to --ozone-platform-hint=auto if [ ! -z "$WAYLAND_DISPLAY" ]; then NATIVE_WAYLAND=on else NATIVE_WAYLAND=off fi DISABLE_FEATURES="LensOverlay,ExtensionManifestV2Unsupported,ExtensionManifestV2Disabled" ENABLE_FEATURES="AllowQt" CHROMIUM_FLAGS=" --enable-chrome-browser-cloud-management" if [ "$NATIVE_WAYLAND" == "on" ] ; then ENABLE_FEATURES+=",WaylandLinuxDrmSyncobj,WaylandPerSurfaceScale,WaylandUiScale" CHROMIUM_FLAGS+=" --ozone-platform=wayland" else CHROMIUM_FLAGS+=" --enable-gpu-memory-buffer-video-frames" CHROMIUM_FLAGS+=" --enable-zero-copy" CHROMIUM_FLAGS+=" --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround" CHROMIUM_FLAGS+=" --enable-gpu-rasterization" fi ENABLE_FEATURES+=",AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL" case "$GRAPHIC_DRIVER" in amd|intel) # Need new mesa with AMD multi planes support, is supported in fedora >= 40 (mesa-24.1.1 or newer) # see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165 CHROMIUM_FLAGS+=" --enable-accelerated-video-decode" ENABLE_FEATURES+=",VaapiIgnoreDriverChecks,UseMultiPlaneFormatForHardwareVideo" ;; nvidia) # The NVIDIA VaAPI drivers are known to not support Chromium # see https://crbug.com/1492880. This feature switch is # provided for developers to test VaAPI drivers on NVIDIA GPUs ENABLE_FEATURES+=",VaapiOnNvidiaGPUs" export CUDA_DISABLE_PERF_BOOST=1 ;; *) ENABLE_FEATURES+=",AcceleratedVideoEncoder" ;; esac if [ "$MODE" != "none" ] ; then # chromium in VM, running with standard setting CHROMIUM_FLAGS="" DISABLE_FEATURES="" ENABLE_FEATURES="" fi # Set gtk version to 3 by default # todo: switch to gtk4 in the future CHROMIUM_FLAGS+=" --gtk-version=3" # Web Dark mode if [ "$WEB_DARKMODE" == "on" ] ; then darktype="WebContentsForceDark:inversion_method/cielab_based/image_behavior/none/foreground_lightness_threshold/150/background_lightness_threshold/205" if [ -z "$ENABLE_FEATURES" ] ; then ENABLE_FEATURES+="$darktype" else ENABLE_FEATURES+=",$darktype" fi fi [ -z "$DISABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --disable-features=$DISABLE_FEATURES" [ -z "$ENABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --enable-features=$ENABLE_FEATURES"