Compare commits
1 commit
main
...
matedeskto
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83258b8c20 |
4 changed files with 87 additions and 39 deletions
45
Dockerfile
45
Dockerfile
|
|
@ -3,47 +3,23 @@ FROM quay.io/almalinuxorg/atomic-desktop-kde:10
|
|||
COPY bin/set_next_version.sh /tmp
|
||||
RUN /tmp/set_next_version.sh
|
||||
|
||||
RUN dnf install --nogpgcheck -y https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
|
||||
|
||||
# Install kernel dev files
|
||||
RUN dnf install -y kernel-headers kernel-devel-matched
|
||||
|
||||
RUN dnf config-manager --add-repo=https://negativo17.org/repos/epel-nvidia.repo -y
|
||||
|
||||
# Install Negativo17 Nvidia driver
|
||||
RUN dnf install -y dkms-nvidia nvidia-driver nvidia-persistenced opencl-filesystem libva-nvidia-driver
|
||||
RUN dkms install nvidia/$(ls /usr/src/ | grep nvidia- | cut -d- -f2-) -k $(rpm -q --queryformat "%{VERSION}-%{RELEASE}.%{ARCH}\n" kernel)
|
||||
|
||||
COPY repo/*.repo /etc/yum.repos.d/
|
||||
|
||||
RUN dnf update -y
|
||||
|
||||
# This is necessary for the speakers and internal microphone
|
||||
RUN dnf install -y alsa-sof-firmware
|
||||
|
||||
RUN dnf install --nogpgcheck -y https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
|
||||
|
||||
RUN dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/andersrh/sonicDE/repo/rhel+epel-10/andersrh-sonicDE-rhel+epel-10.repo -y
|
||||
RUN dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/xlibre/xlibre-xserver/repo/rhel+epel-10/group_xlibre-xlibre-xserver-rhel+epel-10.repo -y
|
||||
RUN dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/skip77/MateDesktop-EL10/repo/rhel+epel-10/skip77-MateDesktop-EL10-rhel+epel-10.repo -y
|
||||
RUN dnf config-manager --add-repo https://pc-rytteren.dk/forge/api/packages/anders/rpm.repo -y
|
||||
|
||||
RUN rpm -e --nodeps plasma-workspace-libs plasma-workspace libplasma \
|
||||
kwin kwin-common kwin-libs kscreenlocker plasma-desktop sddm-wayland-plasma && \
|
||||
dnf install --allowerasing --nogpgcheck -y \
|
||||
sonic-workspace \
|
||||
sonic-workspace-libs \
|
||||
sonic-workspace-common \
|
||||
sonic-workspace-x11 \
|
||||
sonic-win \
|
||||
sonic-desktop-interface \
|
||||
sonic-interface-libraries
|
||||
RUN dnf install sonic-workspace-x11 sonic-win sonic-interface-libraries sonic-workspace --allowerasing -y
|
||||
|
||||
RUN dnf install --allowerasing --nogpgcheck -y sonic-keybind-daemon sonic-frameworks-windowsystem sonic-system-info sonic-screen sonic-screen-library sonic-sysguard-library
|
||||
|
||||
RUN dnf remove -y sddm && \
|
||||
dnf install --allowerasing --nogpgcheck -y sonic-login-manager
|
||||
RUN dnf groupinstall "MATE-Desktop" -y
|
||||
|
||||
RUN dnf install -y fish distrobox nvtop intel-media-driver libva-intel-driver htop
|
||||
RUN dnf install -y https://github.com/TheAssassin/AppImageLauncher/releases/download/v3.0.0-beta-3/appimagelauncher_3.0.0-beta-2-gha287.96cb937_x86_64.rpm
|
||||
RUN dnf install -y https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.2.0/appimagelauncher-2.2.0-travis995.0f91801.x86_64.rpm
|
||||
|
||||
# Remove plocate to avoid updatedb going crazy with scanning the file system once a day
|
||||
RUN dnf remove -y plocate
|
||||
|
|
@ -60,10 +36,6 @@ RUN dnf install hplip -y
|
|||
RUN dnf -y install gwenview vlc kalk okular
|
||||
RUN dnf -y install chromium firefox
|
||||
|
||||
# Install Brave browser
|
||||
RUN dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo -y
|
||||
RUN dnf install brave-browser -y
|
||||
|
||||
# Enable CachyOS addons EL10 fork repo
|
||||
RUN dnf copr enable andersrh/kernel-cachyos-addons-el10 -y
|
||||
RUN dnf install -y scx-scheds cachyos-settings
|
||||
|
|
@ -77,13 +49,12 @@ RUN dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docke
|
|||
|
||||
RUN dnf install xorg-x11-xinit xkbcomp xinput xlibre-xserver-Xorg xlibre-xf86-input-libinput -y
|
||||
|
||||
# Delete default Chromium config so it can be replaced by my own
|
||||
RUN rm -f /etc/chromium/chromium.conf
|
||||
|
||||
# Add rule to SELinux allowing modules to be loaded into custom kernel
|
||||
RUN setsebool -P domain_kernel_load_modules on
|
||||
|
||||
RUN echo 'kargs = ["mem_sleep_default=deep"]' > /usr/lib/bootc/kargs.d/10-mem-sleep.toml
|
||||
RUN echo 'kargs = ["rd.driver.blacklist=nouveau", "nouveau.modeset=0"]' > /usr/lib/bootc/kargs.d/20-blacklist-nouveau.toml
|
||||
RUN printf '[connection]\nwifi.powersave=2\n' > /usr/lib/NetworkManager/conf.d/disable-wifi-powersave.conf
|
||||
|
||||
RUN systemctl enable docker
|
||||
|
||||
COPY etc /etc
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ Section "Device"
|
|||
Driver "modesetting"
|
||||
Option "ShadowFB" "false" # you don't need on recent hardware
|
||||
Option "Atomic" "true" #only effective on Xlibre, or Xorg-git with a special patch
|
||||
Option "TearFree" "false"
|
||||
Option "TearFree" "false" # We will be using compositor, so TearFree (extra buffer) in the driver is not necessary
|
||||
EndSection
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ Section "InputClass"
|
|||
MatchDevicePath "/dev/input/event*"
|
||||
Driver "libinput"
|
||||
|
||||
Option "TransformationMatrix" "130 0 0 0 130 0 0 0 100"
|
||||
# Korrigerer hastigheden til 2x (til 4K / 200% skalering)
|
||||
Option "TransformationMatrix" "5 0 0 0 5 0 0 0 2"
|
||||
|
||||
# Bruger den ergonomiske 'adaptive' profil (1 0 er Adaptive)
|
||||
#Option "AccelProfile" "adaptive"
|
||||
|
|
|
|||
76
etc/chromium/chromium.conf
Normal file
76
etc/chromium/chromium.conf
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# 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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue