os-26535/etc/chromium/chromium.conf
Anders da Silva Rytter Hansen b61906e4d7 Initial commit of OS
2025-12-02 14:13:26 -03:00

76 lines
2.5 KiB
Text

# 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"