mirror of
https://github.com/Snigdha-OS/snigdhaos-system-installation.git
synced 2025-09-20 21:44:55 +02:00
Add Snigdha OS Nvidia Dkms Settings
This commit is contained in:
103
usr/local/bin/snigdhaos-nvidia-settings
Normal file
103
usr/local/bin/snigdhaos-nvidia-settings
Normal file
@@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
echo
|
||||
echo "Start Snigdha OS Nvidia Settings"
|
||||
echo
|
||||
|
||||
if [ -f /usr/share/waland-sessions/gnome-wayland.desktop ]; then
|
||||
if pacman -Qi nvidia-dkms &> /dev/null; then
|
||||
echo
|
||||
echo "[Check] $package is installed!"
|
||||
echo
|
||||
|
||||
FIND='MODULES=""'
|
||||
REPLACE='MODULES="nvidia nvidia_modset nvidia_uvm nvidia_drm"'
|
||||
sed -i "s/$FIND/$REPLACE/g" /etc/mkinitcpio.conf
|
||||
|
||||
if [ -f /etc/default/grub ]; then
|
||||
if ! grep -q "nvidia-drm.modset=1" /etc/default/grub; then
|
||||
echo
|
||||
echo "Adding Option nvidia-drm.modset=1"
|
||||
echo
|
||||
sed -i "/^GRUB_CMDLINE_LINUX_DEFAULT=/s/'$/ nvidia-drm.modset=1'/" /etc/default/grub
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Starting mkinitcpio -P"
|
||||
echo
|
||||
mkinitcpio -P
|
||||
echo
|
||||
echo "Updting Grub"
|
||||
echo
|
||||
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=SnigdhaOS
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
echo "Writing grub -> /bootloader"
|
||||
echo "grub" | dd of="/bootloader"
|
||||
fi
|
||||
|
||||
if pacman -Qi snigdhaos-bootloader-systemd &> /dev/null; then
|
||||
echo
|
||||
echo "Adding Option nvidia-drm.modset=1"
|
||||
echo
|
||||
|
||||
EMPTY_DIR="/boot/efi/loader/entries/"
|
||||
PARAM="nvidia-drm.modset=1"
|
||||
for i in "$EMPTY_DIR"*.conf; do
|
||||
if grep -q "nvidia-drm.modset=1" "$i"; then
|
||||
echo
|
||||
echo "Parameters set"
|
||||
echo
|
||||
else
|
||||
sed -i "^/options / s/options /&$PARAM /" "$i"
|
||||
echo
|
||||
echo "Adding Parameters"
|
||||
echo
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -f /etc/default/grub ]; then
|
||||
echo
|
||||
echo "Removing nvidia-drm.modset=1"
|
||||
echo
|
||||
if grep -q "nvidia-drm.modset=1" /etc/default/grub; then
|
||||
sed -i "s/ nvidia-drm.modset=1//" /etc/default/grub
|
||||
echo "Removed nvidia-drm.modset=1"
|
||||
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=SnigdhaOS
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
else
|
||||
echo
|
||||
echo "nvidia-drm.modset=1 not found!"
|
||||
echo
|
||||
fi
|
||||
echo "Writing grub -> /bootloader"
|
||||
echo "grub" | dd of="/bootloader"
|
||||
fi
|
||||
|
||||
if [ -d /boot/efi/loader/entries/]; then
|
||||
echo
|
||||
echo "Removing nvidia-drm.modset=1"
|
||||
echo
|
||||
EMPTY_DIR="/boot/efi/loader/entries/"
|
||||
PARAM="nvidia-drm.modset=1"
|
||||
for i in "$EMPTY_DIR"*.conf; do
|
||||
if grep -q "$PARAM" "$i"; then
|
||||
sed -i "s/ $PARAM//" "$i"
|
||||
echo
|
||||
echo "Removed Parameter"
|
||||
echo
|
||||
else
|
||||
echo
|
||||
echo "nvidia-drm.modset=1 not found!"
|
||||
echo
|
||||
fi
|
||||
done
|
||||
echo "Writing grub -> /bootloader"
|
||||
echo "grub" | dd of="/bootloader"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "End Snigdha OS Dkms Settings"
|
||||
echo
|
Reference in New Issue
Block a user