Debian 13 - XFCE
https://gist.github.com/yorickdowne/3cecc7b424ce241b173510e36754af47
sudoers
sudo passwd
su -
usermod -aG sudo coder
chmod 711 coder
Setup apt Pinning
https://unix.stackexchange.com/questions/37603/enabling-apt-repository-priority-in-lmde
https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64
echo 'APT::Default-Release "/^trixie(|-security|-updates)$/";' | sudo tee /etc/apt/apt.conf
sudo mousepad /etc/apt/preferences
## nvidia packages ##
#Package: *nvidia* *nvidia*:i386 lib*nv* lib*nv*:i386 libcuda* libcuda*:i386
#Pin: release a=n/a
#Pin: origin developer.download.nvidia.com
#Pin: version 580.105.08
##Pin: version *
#Pin-Priority: 1001
## nvidia repo ##
Package: *
Pin: release a=n/a
Pin: origin developer.download.nvidia.com
Pin-Priority: 999
## nodejs ##
Package: *
Pin: origin deb.nodesource.com
Pin-Priority: 999
## repo.sgtcoder.com ##
Package: *
Pin: origin repo.sgtcoder.com
Pin-Priority: 999
## xanmod ##
Package: linux-*
Pin: origin deb.xanmod.org
Pin-Priority: 990
## trixie ##
Package: *
Pin: release n=trixie
Pin-Priority: 990
Disable apt Translations
https://askubuntu.com/questions/74653/how-can-i-remove-the-translation-entries-in-apt
echo 'Acquire::Languages "none";' | sudo tee /etc/apt/apt.conf.d/99translations
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
Update Debian Repo
echo "" | sudo tee /etc/apt/sources.list && sudo nano /etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
## Trixie Debian ##
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
## Trixie Debian - Security ##
deb http://deb.debian.org/debian-security/ trixie-security main contrib non-free non-free-firmware
## Trixie Debian - Updates ##
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
## Trixie Debian - Backports ##
deb http://deb.debian.org/debian trixie-backports main contrib non-free non-free-firmware
## Sid Debian ##
deb http://deb.debian.org/debian sid main contrib non-free non-free-firmware
Install Dependencies
sudo dpkg --add-architecture i386
sudo apt install wget gcc-multilib g++-multilib
sudo apt install clang lld llvm
GPG Keys
GPG Keys
sudo apt-key list
echo "" | sudo tee /etc/apt/trusted.gpg
sudo rm -f /etc/apt/keyrings/*
sudo install -m 0755 -d /etc/apt/keyrings
## ALL ##
config_gpg https://repo.sgtcoder.com/apt.gpg sgtcoder
config_gpg https://dl.xanmod.org/gpg.key xanmod
config_gpg https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key nodesource
config_gpg https://download.docker.com/linux/debian/gpg docker
config_gpg https://packages.sury.org/php/apt.gpg sury
## DESKTOP ##
config_gpg https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub nvidia
config_gpg https://repo.steampowered.com/steam/archive/stable/steam.gpg steam
## SgtCoder - Optional ##
config_gpg https://repo.sgtcoder.com/apt.gpg sgtcoder
Setup Repos
sudo rm -f /etc/apt/sources.list.d/*
echo "deb [arch=amd64,i386 signed-by=/etc/apt/keyrings/sgtcoder.gpg] https://repo.sgtcoder.com/debian stable main" | sudo tee /etc/apt/sources.list.d/sgtcoder.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/xanmod.gpg] https://deb.xanmod.org releases main" | sudo tee /etc/apt/sources.list.d/xanmod.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_24.x nodistro main" | sudo tee /etc/apt/sources.list.d/node.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable" | sudo tee /etc/apt/sources.list.d/docker.list
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/sury.gpg] https://packages.sury.org/php trixie main" | sudo tee /etc/apt/sources.list.d/sury.list
echo "deb [arch=amd64,i386 signed-by=/etc/apt/keyrings/nvidia.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia.list
echo "deb [arch=amd64,i386 signed-by=/etc/apt/keyrings/steam.gpg] https://repo.steampowered.com/steam stable steam" | sudo tee /etc/apt/sources.list.d/steam.list
Install xanmod-x64 kernel
sudo apt update
sudo apt install linux-xanmod-lts-x64v3
config_kernel
Nvidia Drivers
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#debian
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions
https://gist.github.com/Kreyren/cccf642ce672fd8f127ed128cf27749b
https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64
https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules
## Purge ##
sudo apt autoremove --purge nvidia* nvidia*:i386 libnvidia* libnvidia*:i386 cuda*
## Check apt policy ##
apt policy
apt policy nvidia-driver nvidia-settings cuda libxnvctrl0
## Install Nvidia Open Drivers ##
sudo apt install -V nvidia-open cuda-toolkit
## Fixes ##
cd $HOME
rm -rf NVIDIA-Linux-*
NVIDIA_VERSION=580.105.08
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/${NVIDIA_VERSION}/NVIDIA-Linux-x86_64-${NVIDIA_VERSION}.run
chmod +x NVIDIA-Linux-x86_64-${NVIDIA_VERSION}.run
./NVIDIA-Linux-x86_64-${NVIDIA_VERSION}.run --extract-only
cp -R $HOME/NVIDIA-Linux-x86_64-${NVIDIA_VERSION}/systemd "$HOME/Dropbox/3_Fresh Linux Build/nvidia-systemd"
sudo cp $HOME/NVIDIA-Linux-x86_64-${NVIDIA_VERSION}/nvidia-settings /usr/bin
sudo cp $HOME/NVIDIA-Linux-x86_64-${NVIDIA_VERSION}/nvidia-smi /usr/bin
sudo cp $HOME/NVIDIA-Linux-x86_64-${NVIDIA_VERSION}/libnvidia-gtk2.so.${NVIDIA_VERSION} /usr/lib
sudo cp $HOME/NVIDIA-Linux-x86_64-${NVIDIA_VERSION}/libnvidia-gtk3.so.${NVIDIA_VERSION} /usr/lib
## Export Path ##
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
nvcc --version
Nvidia Sleep Fix
https://download.nvidia.com/XFree86/Linux-x86_64
https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/powermanagement.html
https://wiki.debian.org/NvidiaGraphicsDrivers
echo 'options nvidia NVreg_PreserveVideoMemoryAllocations=1' | sudo tee /etc/modprobe.d/nvidia-power-management.conf
cat /proc/driver/nvidia/params | grep PreserveVideoMemoryAllocations
TMPL_PATH="$HOME/Dropbox/3_Fresh Linux Build/nvidia-systemd/systemd"
sudo install --mode 644 "${TMPL_PATH}/system/nvidia-suspend.service" /etc/systemd/system
sudo install --mode 644 "${TMPL_PATH}/system/nvidia-hibernate.service" /etc/systemd/system
sudo install --mode 644 "${TMPL_PATH}/system/nvidia-resume.service" /etc/systemd/system
sudo install "${TMPL_PATH}/system-sleep/nvidia" /lib/systemd/system-sleep
sudo install "${TMPL_PATH}/nvidia-sleep.sh" /usr/bin
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service
Install Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
sudo usermod -a -G docker coder
sudo setfacl --modify user:coder:rw /var/run/docker.sock
## Docker System Cleanup ##
docker system prune -af
Install Applications
sudo apt install acpid amd64-microcode android-messages-desktop anydesk appimagelauncher arandr arc-theme awscli axel balena-etcher base-files bash-completion bind9-dnsutils bitwarden blueman caprine code cups cups-client cursor-ide dconf-cli dconf-editor default-mysql-client discord dkms dmz-cursor-theme dnsutils dropbox easyeffects ffmpeg file-roller filezilla firefox-esr flameshot fonts-hack fonts-open-sans fping gcc gimp git git-filter-repo git-ftp gnome-disk-utility gnome-system-monitor gnome-themes-extra gnome-themes-extra-data gnupg1 google-chrome-stable gpart gparted grub-efi grub-efi-amd64 gvfs gvfs-backends htop imagemagick iperf jpegoptim jq k6 lib32ncurses6 lib32z1 libc6-dev libc6:i386 libglib2.0-dev libhidapi-libusb0 libreoffice libsecret-1-dev libspa-0.2-bluetooth libxcb-cursor0 lightdm-gtk-greeter-settings lsb-base lsb-release lshw mailspring meld microcom microsoft-edge-stable morgen mtools ncdu nodejs ntpsec numlockx obsidian optipng paper-icon-theme parallel pdfarranger pigz pipewire pipewire-audio pipewire-libcamera pipewire-pulse plank postman screen screenfetch simple-scan simplenote simplescreenrecorder smartgit speedtest spotify-client sqlitebrowser stress-ng swell-foop telegram-desktop telnet thermald thunar-dropbox-plugin traceroute trash-cli ttf-mscorefonts-installer ufw unrar usbutils vlc vmfs-tools vmfs6-tools whois xdotool xfce4-screensaver xournalpp xscreensaver-data xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra xserver-xorg-input-synaptics yt-dlp zlib1g zlib1g-dev zstd
## Python 3 ##
sudo apt install python3 python3-gpg python3-pip python3-mutagen python3-tk python3-secretstorage
## JDK ##
sudo apt install jdk-21
## Install Steam ##
sudo apt install libgl1-mesa-dri:i386 mesa-vulkan-drivers:i386
sudo apt install steam:i386
## Add Fonts ##
https://github.com/mrbvrz/segoe-ui-linux
git clone https://github.com/mrbvrz/segoe-ui-linux
cd segoe-ui-linux
chmod +x install.sh
./install.sh
Printer/Scanner
## Info ##
Model: DCP-L2640DW
IP: 10.0.1.210
## Print Settings ##
Media Size: Letter
Install Other Applications
https://dev-random.net/how-to-install-a-single-package-from-debian-testing-through-apt
## grub ##
sudo apt install grub2-common grub-efi-amd64-bin mokutil shim-helpers-amd64-signed shim-signed-common shim-unsigned grub-efi-amd64-signed sbsigntool grub-customizer
Other - List Unstable/SID Packages
apt list --installed | grep "/unstable"
apt-cache policy xfce4-screensaver
xfce4-screensaver/unstable,now 4.18.0-1 amd64 [installed]
apt-cache showpkg gcc-13
apt-cache policy gcc-13
Remove vmware warning
sudo mkdir -p /etc/vmware/hostd
sudo touch /etc/vmware/hostd/proxy.xml
Install PHP Extensions
sudo apt install composer
sudo apt autoremove php php-cli php-curl php-intl php-mbstring php-zip apache2* php8.2*
sudo apt install php8.3 php8.3-cli php8.3-common php8.3-curl php8.3-fpm php8.3-gd php8.3-intl php8.3-mbstring php8.3-mcrypt php8.3-mysql php8.3-opcache php8.3-readline php8.3-xml php8.3-yaml php8.3-zip
sudo apt install php8.4 php8.4-cli php8.4-common php8.4-curl php8.4-fpm php8.4-gd php8.4-intl php8.4-mbstring php8.4-mcrypt php8.4-mysql php8.4-opcache php8.4-readline php8.4-xml php8.4-yaml php8.4-zip
Install Dev Applications
sudo apt install putty-tools adb aapt dbeaver-ce cmake putty-tools sshpass debsecan libopenjp2-tools gh git-ftp git-filter-repo git-flow golang shfmt rpm
sudo rm /usr/lib/python3.13/EXTERNALLY-MANAGED
debsecan --suite trixie --only-fixed --format packages
## Other ##
#composer global require wpbp/generator
#composer global require friendsofphp/php-cs-fixer
composer global require liborm85/composer-vendor-cleaner
export PATH=$HOME/.composer/vendor/bin:$PATH
wget https://github.com/WPBP/generator/releases/download/1.3.2/wpbp-generator
sudo mv wpbp-generator /usr/local/bin/wpbp-generator
sudo chmod +x /usr/local/bin/wpbp-generator
Bluetooth
https://somedudesays.com/2019/10/bluetooth-on-debian-or-ubuntu
https://stackoverflow.com/questions/48279646/bluetoothctl-no-default-controller-available
sudo apt install bluetooth rfkill blueman bluez bluez-tools bluez-alsa-utils
sudo mousepad /etc/bluetooth/main.conf
[General]
#AutoConnect=true
#MultiProfile = multiple
ControllerMode = bredr
sudo chmod 555 /etc/bluetooth
Tasks
- Update fstab
- Update hosts
- Copy Autostart, LightDM, Icons
- Export Save GPU Card from nvidia settings
- Uncheck Source maps CSS/JS in Chrome
- Configure Audio, Default Devices
Enable firewall
sudo ufw status
sudo ufw enable
Make folders and copy fstab
sudo mkdir -p /media/coder/Backup
sudo mkdir -p /media/coder/Media
sudo mkdir -p /media/coder/Knowledge
sudo mkdir -p /media/coder/Software
Install Scripts
chmod +x /home/coder/Dropbox/4_ScriptKits/Coder/sh/install_scripts.sh
/home/coder/Dropbox/4_ScriptKits/Coder/sh/install_scripts.sh
Install Joplin, Shopify Theme Kit, Calibre
wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash
curl -s https://shopify.dev/themekit.py | sudo python3
sudo -v && wget --no-check-certificate -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
Cursor Fix
sudo xhost +SI:localuser:lightdm
sudo su lightdm -s /bin/bash
nano ~/.Xdefaults
Xcursor.size: 24
xrdb ~/.Xdefaults
sudo xhost +SI:localuser:root
sudo su root -s /bin/bash
nano ~/.Xdefaults
Xcursor.size: 24
xrdb ~/.Xdefaults
Keyboard Shortcuts
/usr/bin/xfce4-popup-whiskermenu => Super L
/usr/bin/xfce4-terminal => Ctrl + Alt + T
/usr/local/bin/flameshot_upload => Print
/usr/bin/xflock4 => Ctrl + Alt + L
/usr/bin/xkill => Ctrl + Alt + Escape
/usr/bin/gnome-system-monitor => Ctrl + Shift + Esc
/usr/local/bin/config_system => Ctrl + Alt + D
/usr/bin/dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause => Pause
/usr/bin/dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next => Scroll Lock
Window Manager Keyboard Shortcuts
Left Worskspace => Ctrl + L
Right Worskspace => Ctrl + R
Move Window to Previous Workspace => Ctrl + Alt + L
Move Window to Next Workspace => Ctrl + Alt + R
Close Window => Ctrl + Q
Datetime format
datetime format: %a, %b %d, %R
Export Save GPU Card from nvidia settings
/etc/X11/xorg.conf
Dropbox
sudo mousepad /etc/sysctl.d/99-dropbox.conf
fs.inotify.max_user_watches = 1048576
fs.inotify.max_user_instances = 256
sudo sysctl -p
PIP Packages
sudo pip3 install -U tzupdate
sudo permissions - PUT AT END
sudo visudo
ALL ALL=(root) NOPASSWD: /usr/local/bin/tzupdate
coder ALL=(root) NOPASSWD: /usr/bin/nvidia-settings
coder ALL=(root) NOPASSWD: /usr/bin/nvidia-smi
coder ALL=(root) NOPASSWD: /usr/local/bin/restart_vite
Plank
dconf load /net/launchpad/plank/docks/dock1/ < $HOME/Documents/Backups/plank.conf
System Services
cd /lib/systemd/system/
ls *.target
cd /etc/init.d
cd /etc/xdg/autostart/
cd /etc/systemd/system/
ls *.wants
ls -l /usr/lib/systemd/system/runlevel?.target
Start Services - Desktop
sudo systemctl enable --now cups
sudo systemctl enable config-ram-resume
sudo systemctl enable config-ram-suspend
Start Services - Laptop
sudo systemctl enable --now cups
Disable Services
sudo systemctl disable --now NetworkManager-wait-online networking screen-lock apache2 blueman-mechanism anydesk
sudo systemctl disable --now containerd.service docker.socket
sudo systemctl disable --now unattended-upgrades
sudo systemctl disable --now bluetooth-mesh
Diagnose Services
sudo systemctl daemon-reload
sudo systemctl start [service]
sudo systemctl restart [service]
sudo systemctl status [service]
sudo journalctl -u [service]
Startup and Services
cd /lib/systemd/system
ls *.target
cd /etc/systemd/system
ls *.wants
cd /etc/init.d
cd /etc/xdg/autostart
systemd-analyze
systemd-analyze critical-chain graphical.target
systemd-analyze blame
systemd-analyze blame | grep snap
systemctl list-units --type=target --all
systemctl list-units --type=service --all
systemctl list-units --type=service --state=running
systemctl list-unit-files
systemctl --failed
systemctl list-units --type=service --all | grep not-found
systemctl status
systemctl reset-failed
Diagnose System Issues
https://www.golinuxcloud.com/view-logs-using-journalctl-filter-journald
sudo journalctl -b
sudo journalctl -b -p warning
sudo journalctl -b -p warning --grep mod.rt
id lightdm
sudo journalctl -b _UID=116
sudo journalctl --list-boots
journalctl --disk-usage
sudo rmmod uvcvideo && sudo modprobe uvcvideo
systemctl --user status cameractrls-usb-Razer_Inc_Razer_Kiyo_Pro-video-index0.service
usbreset
lsusb
Fix Timeout
https://stackoverflow.com/questions/45012415/systemd-start-operation-timed-out-terminating
sudo mkdir /etc/systemd/system.conf.d
sudo mkdir /etc/systemd/user.conf.d
sudo mousepad /etc/systemd/system.conf.d/system.conf
[Manager]
DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
[Service]
TimeoutStartSec=30
sudo mousepad /etc/systemd/user.conf.d/user.conf
[Manager]
DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
systemd-analyze cat-config systemd/system.conf
systemd-analyze cat-config systemd/user.conf
LightDM Settings
sudo mousepad /etc/lightdm/lightdm.conf
[Seat:*]
## Custom ##
greeter-session=lightdm-gtk-greeter
greeter-hide-users=false
#greeter-setup-script=/usr/local/bin/config_system --delay 5
display-setup-script=/usr/local/bin/config_system --params lightdm
LightDM Greeter Settings
sudo cp "/home/coder/Dropbox/3_Fresh Linux Build/login-background.jpg" /usr/share/images/desktop-base
sudo mousepad /etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
background = /usr/share/images/desktop-base/login-background.jpg
theme-name = Arc
-reader =
icon-theme-name = Adwaita
font-name = Hack 10
clock-format = %a, %b %d, %R
indicators = ~host;~spacer;~clock;~spacer;~power
Fix Timezone
sudo nano /etc/NetworkManager/dispatcher.d/99-tzupdate
#!/bin/sh
status=$2
case $status in
up)
/usr/local/bin/tzupdate
esac
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-tzupdate
Gyazo
mousepad $HOME/.gyazo.config.yml
command: xfce4-screenshooter -r -o gyazo
Google Chrome Enabled - Desktop
chrome://flags
Experimental QUIC protocol
Fill passwords on account selection
GPU rasterization
Parallel downloading
Smooth Scrolling
Zero-copy rasterizer
threaded-scroll-prevent-rendering-starvation
## Deprecated ##
Chip Location Bar Icon Override Experiment.
Confirmation Chip Experiment
Enable Reader Mode
Gesture-sensitive Permissions Chip
Omnibox Bookmark Paths
Password import
Permissions Chip Experiment
Quiet Permission Chip Experiment
Request-type-sensitive Permissions Chip
chrome://settings/security
Disable "Use secure DNS"
Google Chrome Disabled - Desktop
chrome://flags
Allow WebRTC to adjust the input volume
Chrome-wide echo cancellation
WebRTC downmix capture audio method
Google Chrome Enabled - Mobile
chrome://flags
Experimental QUIC protocol
Fill passwords on account selection
GPU rasterization
Omnibox Bookmark Paths
Parallel downloading
Password import
Smooth Scrolling
Zero-copy rasterizer
chrome://settings/security
Disable "Use secure DNS"
Google Chrome Disabled - Mobile
chrome://flags
Allow WebRTC to adjust the input volume
Chrome-wide echo cancellation
WebRTC downmix capture audio method
Cooling and CUDA Testing
Test CPU Cooling
watch -n 2 "cat /proc/cpuinfo | grep MHz"
stress-ng --cpu 16 --tz --timeout 120
Install GPU Burn
cd ~/
git clone https://github.com/wilicc/gpu-burn
cd ~/gpu-burn
make
chmod +x gpu_burn
sudo mkdir -p /opt/gpu_burn
sudo cp * /opt/gpu_burn
cd ~/
rm -rf ~/gpu-burn
export PATH=/opt/gpu_burn:${PATH:+:${PATH}}
GPU Benchmark - GPU Burn
watch -n 2 nvidia-smi
cd /opt/gpu_burn && /opt/gpu_burn/gpu_burn 120
GPU Benchmark - GLMark2
sudo apt install glmark2
watch -n 2 nvidia-smi
glmark2
Install GeekBench
cd ~/
mkdir -p geekbench
cd ~/geekbench
wget https://cdn.geekbench.com/Geekbench-6.4.0-Linux.tar.gz
tar -zxvf Geekbench-6.4.0-Linux.tar.gz --strip-components 1
sudo mkdir -p /opt/geekbench
sudo cp * /opt/geekbench
cd ~/
rm -rf ~/geekbench
export PATH=/opt/geekbench:${PATH:+:${PATH}}
geekbench6 --cpu
geekbench6 --gpu OpenCL
geekbench6 --gpu Vulkan
CUDA hashcat
cd ~/
wget https://hashcat.net/files/hashcat-6.2.5.7z
7z x hashcat-6.2.5.7z
cd hashcat-6.2.5
sudo cp hashcat.bin /usr/bin/hashcat
sudo cp -Rv OpenCL/ /usr/bin/
sudo cp -Rv modules/ /usr/bin/
sudo cp hashcat.hcstat2 /usr/bin/
sudo cp hashcat.hctune /usr/bin/
rm -rf ~/hashcat-6.2.5
rm -f ~/hashcat-6.2.5.7z
sudo hashcat --benchmark --backend-devices 2 -w 3
Keyboard Settings/Shortcuts Query
xkbset q
Ducky Keyboard Settings
https://duckychannel.net/download/user_manual/One2/RGB/Ducky_One2_10in1_usermanual_ol.pdf
## Within a Profile ##
FN + F10 = Cycles Lighting Modes
FN + F11 = CM1
FN + F12 = CM2
## Macro Mapping Functions ##
- Fn + Win + A = Mute
- Fn + Win + B = Volume Up
- Fn + Win + C = Volume Down
- Fn + Win + D = Play/Pause
- Fn + Win + E = Stop
- Fn + Win + F = Next
- Fn + Win + G = Previous
## Program Macro ##
- Hold Fn + Ctrl for 3 seconds
- Fn + PgUp
- Fn + Win + B = Volume Up
- Fn + Ctrl
- Hold Fn + Ctrl for 3 seconds
- Fn + PgDn
- Fn + Win + C = Volume Down
- Fn + Ctrl
CM1 = 200/200/200
CM2 = 200/200/200, 255/0/0 (1-6, WSAD)
Fix GRUB OS PROBE
# Copy Background - Desktop
sudo cp "/home/coder/Dropbox/3_Fresh Linux Build/GRUB/Desktop/background.png" /boot
# Copy Background - Laptop
sudo cp "/home/coder/Dropbox/3_Fresh Linux Build/GRUB/Laptop/background.png" /boot
sudo mousepad /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="acpi_osi=Linux"
GRUB_DISABLE_OS_PROBER=false
GRUB_BACKGROUND="/boot/background.jpg"
sudo update-grub2
Install/Configure GCC
sudo apt install gcc-13
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50
sudo update-alternatives --config gcc
0: auto
gcc --version
Install MemTest in GRUB
# Copy Grub Config - DESKTOP
sudo cp "/home/coder/Dropbox/3_Fresh Linux Build/GRUB/Desktop/31_memtest86" /etc/grub.d/31_memtest86
sudo chmod +x /etc/grub.d/31_memtest86
# Copy Grub Config - LAPTOP
sudo cp "/home/coder/Dropbox/3_Fresh Linux Build/GRUB/Laptop/31_memtest86" /etc/grub.d/31_memtest86
sudo chmod +x /etc/grub.d/31_memtest86
# Copy EFI Image
sudo tar -xvf "/home/coder/Dropbox/3_Fresh Linux Build/GRUB/memtest86.tar.gz" -C /boot/efi/EFI --no-same-owner
sudo update-grub2
Diagnose MemTest in GRUB
Type "c" on the grub menu to get a command line. Then "ls" to get a list of all the drives. The drive/partitions are all listed as (hd#,gpt#), regardless of what they are physically. Then list the root using "ls (hd#,gpt#)/", for each drive until you find the EFI boot partition.
Press "c" on the grub menu
then ls
ls (hd2,msdos1)
# Desktop
chainloader (hd0,gpt1)/EFI/memtest86/BOOTX64.efi
# Laptop
chainloader (hd2,msdos1)/EFI/memtest86/BOOTX64.efi
Copy Microsoft EFI
su -
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sda1 /mnt/boot/efi
sudo cp -R /mnt/boot/efi/EFI/Microsoft /boot/efi/EFI
sudo umount /mnt/boot/efi
sudo rm -rf /mnt/boot
sudo update-grub2
General
Uncheck all compiz, but leave enabled
Install Common Firmwares
sudo apt install isenkram-cli
sudo isenkram-autoinstall-firmware
## Remove Firmwares ##
#sudo apt remove -y $(dpkg-query -W -f '${Package}\n' | grep "^firmware-" | grep -v "^firmware-nvidia-gsp$")
cd $HOME
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware >/dev/null 2>&1
sudo cp -r $HOME/linux-firmware/* /lib/firmware/
sudo apt install --reinstall firmware-amd-graphics firmware-atheros firmware-brcm80211 firmware-intel-sound firmware-linux firmware-linux-nonfree firmware-misc-nonfree firmware-nvidia-gsp firmware-realtek wireless-regdb
cd $HOME
git clone git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb >/dev/null 2>&1
sudo cp $HOME/wireless-regdb/regulatory.db /lib/firmware/regulatory.db-debian
sudo cp $HOME/wireless-regdb/regulatory.db.p7s /lib/firmware/regulatory.db.p7s-debian
Install Device Firmware Updater
sudo apt install fwupd
fwupdmgr refresh
fwupdmgr get-updates
fwupdmgr update
fwupdmgr get-devices
fwupdmgr report-history
Keyboard Warning Fix
sudo nano /etc/default/keyboard
XKBMODEL="pc105"
You should be able to prevent the notification from appearing by unchecking (blocking) the "xfce4-settings-helper" application in Settings Manager > Notifications > Applications tab.
SSH Config
nano ~/.ssh/config && chmod 600 ~/.ssh/config
Host *
ServerAliveInterval 20
TCPKeepAlive no
Add to Chrome-Based Apps
- --no-sandbox --disable-gpu
- Todoist, Simplenote, Caprine
Power Options
# Screen
Battery: 10 minutes (1/10 hours)
Plugged in: 15 minutes (1/4 hours)
# Sleep Mobile
Battery: 30 minutes (1/2 hours)
Plugged in: 60 minutes (1 hours)
# Sleep Standard
Battery: 60 minutes (1 hours)
Plugged in: 120 minutes (2 hours)
# Hibernate
Battery: 720 minutes (12 hours)
Plugged in: 1440 minutes (24 hours)
Disable Gsync: https://gyazo.com/ba56b817204558acda0622892f382c52
Fix Suspend
sudo mousepad /etc/systemd/logind.conf
HandlePowerKey=suspend
HandleSuspendKey=suspend
HandleHibernateKey=suspend
HandleLidSwitch=suspend
sudo systemctl restart systemd-logind
Fix Sleep Issues
dbus-send --print-reply --dest=org.freedesktop.PowerManagement /org/freedesktop/PowerManagement/Inhibit org.freedesktop.PowerManagement.Inhibit.GetInhibitors
sudo mousepad /etc/systemd/sleep.conf
AllowSuspend=yes
AllowHibernation=yes
AllowSuspendThenHibernate=no
AllowHybridSleep=no
HibernateDelaySec=120min
Power Manager
When power button is pressed: Suspend
When sleep button is pressed: Suspend
When hibernate button is pressed: Suspend
When battery button is pressed: Suspend
Display Power Management: Enable
Put to sleep after 60 minutes
System->Security->Lock Screen when system is going to sleep: Enabled
Automatically lock the session: When the screen is activated: 1 seconds
File Chooser Fix
https://unix.stackexchange.com/questions/74031/disable-recently-used-in-gtk-file-directory-selector
https://alexcabal.com/disabling-gnomes-recently-used-file-list-the-better-way
nano ~/.config/gtk-2.0/gtkfilechooser.ini
[Filechooser Settings]
LocationMode=path-bar
ShowHidden=true
ShowSizeColumn=true
GeometryX=946
GeometryY=2201
GeometryWidth=840
GeometryHeight=630
SortColumn=name
SortOrder=ascending
StartupMode=cwd
nano ~/.config/gtk-3.0/settings.ini
[Settings]
gtk-recent-files-enabled=0
gtk-recent-files-max-age=0
gtk-recent-files-limit=0
dconf write /org/gtk/settings/file-chooser/startup-mode \"cwd\"
gsettings set org.gnome.desktop.privacy remember-recent-files false
gsettings set org.gnome.desktop.privacy remember-app-usage false
gsettings set org.gnome.desktop.privacy recent-files-max-age 0
dconf read /org/gtk/settings/file-chooser/startup-mode
rm ~/.local/share/recently-used.xbel
MIME/Launcher Updates
update-desktop-database $HOME/.local/share/applications
xdg-mime default org.xfce.ristretto.desktop image/png
xdg-mime default org.xfce.ristretto.desktop image/jpeg
xdg-mime default org.xfce.ristretto.desktop image/jpg
Disable HDMI Audio
https://techgage.com/news/disabling_nvidias_hdmi_audio_under_linux
lsmod
lsmod | grep hdmi
sudo nano /etc/modprobe.d/snd-hdmi-lpe-audio-blacklist.conf
blacklist snd_hdmi_lpe_audio
blacklist snd_hda_codec_generic
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist snd_soc_hdac_hdmi
sudo update-initramfs -u -k all
VNC
sudo apt install xtightvncviewer tightvncpasswd
Secure Boot
sudo apt install sbsigntool
mkdir -p /var/lib/shim-signed/mok
sudo openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv -outform DER -out /var/lib/shim-signed/mok/MOK.der -days 36500 -nodes -subj "/CN=sgtcoder/"
sudo openssl x509 -inform der -in /var/lib/shim-signed/mok/MOK.der -out /var/lib/shim-signed/mok/MOK.pem
sudo mokutil --import /var/lib/shim-signed/mok/MOK.der
sudo mokutil --list-new
Sign Kernel
sudo sbsign --key /var/lib/shim-signed/mok/MOK.priv --cert /var/lib/shim-signed/mok/MOK.pem "/boot/vmlinuz-$(uname -r)" --output "/boot/vmlinuz-$(uname -r)"
sudo mokutil --sb-state
sudo mokutil --disable-validation
sudo mokutil --enable-validation
New Sign Modules - Nvidia
sudo nano /etc/dkms/sign_helper.sh
/lib/modules/"$1"/build/scripts/sign-file sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der "$2"
# Or Maybe this?
/usr/src/linux-headers-"$1"/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der "$2"
sudo nano /etc/dkms/framework.conf
mok_signing_key=/var/lib/shim-signed/mok/MOK.priv
mok_certificate=/var/lib/shim-signed/mok/MOK.der
sign_tool="/etc/dkms/sign_helper.sh"
sudo dkms remove nvidia-current/580.105.08 --all
sudo dkms add nvidia-current/580.105.08
sudo dkms autoinstall
sudo dkms status
sudo modinfo nvidia-current
/root/nvidia.run --module-signing-secret-key=/var/lib/shim-signed/mok/MOK.priv --module-signing-public-key=/var/lib/shim-signed/mok/MOK.der
Sign VMWare Modules
sudo vmware-modconfig --console --install-all
#sudo vmware-modconfig --console --build-mod vmmon /usr/bin/gcc-13
#sudo vmware-modconfig --console --build-mod vmnet /usr/bin/gcc-13
https://kb.vmware.com/s/article/2146460
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(sudo modinfo -n vmmon)
sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(sudo modinfo -n vmnet)
sudo systemctl restart vmware
5G Modem
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/523
https://www.kernelconfig.io/config_mhi_wwan_mbim
https://forums.lenovo.com/t5/Other-Linux-Discussions/Finally-X55-5G-modem-works-under-linux/m-p/5082236?page=6#5511531
https://github.com/ensarkarabudak/qmicli/blob/master/install.sh
https://mobile-broadband.pages.freedesktop.org/docs/modemmanager/fcc-unlock
https://askubuntu.com/questions/1479540/where-can-i-find-the-wwan-fcc-unlock-for-80867560
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/782
https://github.com/lenovo/lenovo-wwan-unlock
https://forums.quectel.com/t/rm520n-gl-firmware-issues-bugs-in-latest-release/30775/3
sudo apt install modemmanager libqmi-utils udhcpc libmbim-utils qfirmwareswitch
## Quectel RM520N-GL ##
sudo cp /usr/share/ModemManager/fcc-unlock.available.d/1eac /usr/share/ModemManager/fcc-unlock.available.d/1eac:1007
sudo ln -sft /etc/ModemManager/fcc-unlock.d /usr/share/ModemManager/fcc-unlock.available.d/1eac:1007
sudo mmcli --scan-modems
sudo mmcli --list-modems
sudo mmcli -m any --set-primary-sim-slot=1
sudo systemctl restart ModemManager
sudo mmcli -m any
sudo mmcli -m any --enable
Modem
https://linuxconfig.org/how-to-blacklist-a-module-on-ubuntu-debian-linux
lsmod
echo 'blacklist mtk_t7xx' | sudo tee /etc/modprobe.d/wwan-blacklist.conf
sudo update-initramfs -u -k all
sudo reboot
5G Modem Troubleshooting
sudo journalctl -u ModemManager -n 10
lspci -nn | grep Wireless
08:00.0 Wireless controller [0d40]: Foxconn International, Inc. Device e0ab:0d40
08:00.0 Wireless controller [0d40]: MEDIATEK Corp. Device [14c3:4d75] (rev 01)
c4:00.0 Unassigned class [ff00]: Quectel Wireless Solutions Co., Ltd. Device [1eac:1007]
lspci -nvmms c4:00.0
Slot: c4:00.0
Class: ff00
Vendor: 1eac
Device: 1007
SVendor: 1eac
SDevice: 100b
ProgIf: 00
IOMMUGroup: 19
lspci -d 1eac:1007
Network Priority
Connect automatically with a priority
Ethernet: 0
coder-wap1: -50
coder-wap2: -51
WWAN: -100
Linux Games
sudo apt install supertux supertuxkart swell-foop lbreakout2 blockout2 frozen-bubble gnome-mahjongg kbounce kbreakout dosbox --no-install-recommends
NeoFetch
sudo apt install neofetch
neofetch
Camera Controls
sudo apt install git libsdl2-2.0-0 libturbojpeg0 python3-tk
git clone https://github.com/soyersoyer/cameractrls.git
cd cameractrls
desktop-file-install --dir="$HOME/.local/share/applications" \
--set-key=Exec --set-value="$HOME/cameractrls/cameractrlsgtk.py" \
--set-key=Path --set-value="$HOME/cameractrls" \
--set-key=Icon --set-value="$HOME/cameractrls/pkg/hu.irl.cameractrls.svg" \
pkg/hu.irl.cameractrls.desktop
./cameractrlsgtk.py
Bash Profile
mousepad ~/.bash_profile
## Bash Prompt ##
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\H\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
## Exports - Variables ##
export SMARTGIT_JAVA_HOME=/usr/lib/jvm/jdk-21-oracle-x64
## Exports - Paths - General ##
export PATH=/home/coder/go/bin${PATH:+:${PATH}}
export PATH=/home/coder/.config/composer/vendor/bin${PATH:+:${PATH}}
## Exports - Paths - GPU ##
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export PATH=/opt/gpu_burn:{PATH:+:${PATH}}
export PATH=/opt/geekbench:${PATH:+:${PATH}}
## Cargo ##
. "$HOME/.cargo/env"
Bash Aliases
nano ~/.bash_aliases
## Aliases ##
alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'
Swap/Hibernate Partition
https://forums.debian.net/viewtopic.php?t=150284
https://forums.debian.net/viewtopic.php?t=74073
## EFI ##
echo $(sudo blkid | grep vfat | awk '{print $2}' | awk '{gsub("\"","")}1')
## SWAP ##
echo $(sudo blkid | grep swap | awk '{print $2}' | awk '{gsub("\"","")}1')" swap swap defaults,noatime 0 0"
sudo nano /etc/fstab
echo RESUME=$(sudo blkid | grep swap | awk '{print $2}' | awk '{gsub("\"","")}1')
sudo nano /etc/initramfs-tools/conf.d/resume
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="PUT RESUME HERE"
GRUB_DEFAULT="saved"
GRUB_SAVEDEFAULT=true
sudo swapon -a
sudo update-initramfs -u -k all
sudo update-grub2
Automount SD Card
sudo apt install udiskie
mkdir -p ~/.config/udiskie
mousepad ~/.config/udiskie/config.yml
program_options:
automount: false
device_config:
- id_uuid: 907E-D233
options: [noexec, nodev, ro]
ignore: false
automount: true
udiskie &
Trackpad Configuration
https://wiki.archlinux.org/title/Touchpad_Synaptics#Frequently_used_options
https://wiki.debian.org/SynapticsTouchpad
sudo apt install xserver-xorg-input-synaptics
sudo mousepad /etc/X11/xorg.conf.d/70-synaptics.conf
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "ClickPad" "true"
Option "EmulateMidButtonTime" "0"
Option "SoftButtonAreas" "100% 0 0 0 0 0 0 0"
EndSection
Trackpad Gestures
https://askubuntu.com/questions/92169/touchpad-gestures-to-change-workspace
https://github.com/bulletmark/libinput-gestures
sudo apt install libinput-tools
sudo gpasswd -a $USER input
git clone https://github.com/bulletmark/libinput-gestures.git
cd libinput-gestures
sudo ./libinput-gestures-setup install
libinput-gestures-setup autostart start
nano ~/.config/libinput-gestures.conf
gesture swipe up 4 xdotool key ctrl+Up
gesture swipe down 4 xdotool key ctrl+Down
gesture swipe left 4 xdotool key ctrl+Left
gesture swipe right 4 xdotool key ctrl+Right
Trackpad - Troubleshooting
synclient -l | grep -i ButtonArea
synclient RightButtonAreaLeft="100"
xinput set-prop "SYNA800E:00 06CB:CE67 Touchpad" "Synaptics Soft Button Areas" 4000 0 4063 0 3000 4000 4063 0
Debian Grub Theme Settings
# Main options
title-text: ""
desktop-image: "background.png"
desktop-color: "#000000"
terminal-font: "Terminus Regular 14"
terminal-box: "terminal_box_*.png"
terminal-left: "0"
terminal-top: "0"
terminal-width: "100%"
terminal-height: "100%"
terminal-border: "0"
# Boot menu
+ boot_menu {
left = 15%
top = 40%
width = 50%
height = 65%
item_font = "Ubuntu Regular 20"
item_color = "#cccccc"
selected_item_color = "#ffffff"
icon_width = 36
icon_height = 36
item_icon_space = 20
item_height = 40
item_padding = 2
item_spacing = 10
selected_item_pixmap_style = "select_*.png"
}
# Countdown label
# You can change the name of default starting OS here
+ label {
left = 15%
top = 31%
align = "center"
id = "__timeout__"
text = "Debian 13 will start in %d seconds"
color = "#cccccc"
font = "Ubuntu Regular 17"
}
GRUB Icons
sudo nano /etc/grub.d/30_uefi-firmware
--class efi
sudo nano /etc/grub.d/10_linux
echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' --class edit {"
sudo update-grub2
Audio Enhancement and Effects
sudo apt install wireplumber pipewire-alsa libspa-0.2-bluetooth
sudo apt install libsbc1 libopenaptx0 libfdk-aac-dev
sudo apt install gstreamer1.0-pipewire
sudo apt install easyeffects
mkdir -p ~/.config/wireplumber/main.lua.d
cp /usr/share/wireplumber/main.lua.d/50-alsa-config.lua ~/.config/wireplumber/main.lua.d/50-alsa-config.lua
mkdir -p ~/.config/pipewire
cp -R /usr/share/pipewire/* ~/.config/pipewire
systemctl --user --now enable pipewire pipewire-pulse wireplumber
44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
96000
S32_LE
Audio Troubleshooting
https://itslinuxfoss.com/install-pipewire-debian-12
https://askubuntu.com/questions/676853/bluetooth-headset-with-poor-sound-quality-on-ubuntu
https://hreniuc.dev/enable-bluetooth-headphones-on-linux-debian-10-and-auto-switch-between-a2dp-and-hsp-hfp/
https://itslinuxfoss.com/install-pipewire-debian-12
https://wiki.debian.org/BluetoothUser/a2dp#PipeWire
https://unix.stackexchange.com/questions/750785/bluetooth-issues-with-airpods-pro-2-on-debian-12
https://github.com/mikeroyal/PipeWire-Guide
https://www.reddit.com/r/pop_os/comments/uix809/guide_to_improve_audio_quality_on_pop_os_2204
https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Configuration?version_id=25749f548c1e2fddd9e1678d9b7e57ebfcae3cf2#set-global-sample-rate
https://discovery.endeavouros.com/audio/audiophile/2022/01
https://wiki.debian.org/PipeWire
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2769
https://discovery.endeavouros.com/audio/audiophile/2022/01
pw-cli
wpctl status
pw-cli info 47
arecord -f S32_LE -r 96000 -c 2 -d 60 ~/Desktop/test.wav; sleep 1; aplay ~/Desktop/test.wav
systemctl --user restart pipewire* wireplumber*
sudo systemctl restart blue*
aplay -l
cat /proc/asound/card2/stream0
Partition
sudo su
fdisk -l
/dev/sda
wipefs -a /dev/sda
cfdisk /dev/sda
mkfs.ext4 /dev/sda1
Laptop
sudo apt install oscar
Android Studio
sudo thunar /opt
android-studio
Permissions
chown -R coder:coder /home/coder
chmod 711 /home/coder
chmod 777 /home/coder/.face
VMware Disks
https://www.howtogeek.com/313125/how-to-convert-between-preallocated-and-growable-disks-in-vmware/
vmware-vdiskmanager -t 0 -r $HOME/vmware/pc3.sgtcoder.com/pc3.sgtcoder.com-disk1-cl2.vmdk $HOME/vmware/pc3.sgtcoder.com/pc3.sgtcoder.com-disk1.vmdk
Node Packages
sudo apt remove cmdtest
sudo npm install --no-audit --no-fund -g clean-css-cli uglifycss js-beautify html-minifier uglify-js minjson svgo postman-collection-transformer yo generator-code @vscode/vsce npm npm-check-updates yarn npm-upgrade dts-gen typescript
sudo npm install --no-audit --no-fund -g prettier prettier-plugin-tailwindcss tailwindcss @tailwindcss/forms
## Reinstall ##
sudo rm -rf /usr/lib/node_modules
sudo rm -f /usr/bin/yarn*
sudo apt install nodejs --reinstall
ls /usr/lib/node_modules
Node Packages - Windows
npm install -g win-node-env npm yarn
npm install --no-audit --no-fund -g prettier prettier-plugin-tailwindcss tailwindcss @tailwindcss/forms
ln -s "/c/Program Files/nodejs/node_modules" node_modules
Prettier
ln -s /usr/lib/node_modules node_modules
Node Version Manager
https://github.com/nvm-sh/nvm
https://github.com/coreybutler/nvm-windows
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
nvm alias default system
vscode extension: henrynguyen5-vsc.vsc-nvm
nvm install
nvm ls
nvm --version
node --version
npm --version
## Reinstall/Cleanup ##
rm -rf $HOME/.nvm $HOME/node_modules
VSCode Extensions
code --list-extensions | grep -v "sgtcoder.developer-extension-pack" | awk '{print "\"" $0 "\","}'
Networking
sudo rm -f /etc/network/interfaces.d/setup
Thinkpad Video
https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Carbon_(Gen_9)#Video
sudo apt install intel-media-va-driver-non-free va-driver-all
sudo mousepad /etc/default/grub
i915.enable_psr=0
sudo update-grub2
OpenRGB
sudo apt install libusb-1.0-0 libhidapi-libusb0 libqt6core6 libqt6gui6 libqt6widgets6 libmbedtls21 libc6
sudo apt install i2c-tools libi2c-dev
sudo modprobe i2c-dev
sudo groupadd --system i2c
sudo usermod -aG i2c $USER
sudo usermod -aG plugdev $USER
sudo touch /etc/modules-load.d/i2c.conf && sudo sh -c 'echo "i2c-dev" >> /etc/modules-load.d/i2c.conf'
sudo modprobe i2c-i801
sudo i2cdetect -l
sudo apt install openrgb
sudo curl -L "https://openrgb.org/releases/release_0.9/60-openrgb.rules" -o /usr/lib/udev/rules.d/60-openrgb.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
Mount vmdk
sudo apt install libguestfs-tools
udisksctl unlock -b /dev/sdb1
sudo mkdir /mnt/data
sudo guestmount -a $HOME/Desktop/ppb490-local-disk1.vmdk --ro /mnt/data -i
Android NDK
curl https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip -o ndk.zip
unzip ndk.zip
git clone https://github.com/nodejs-mobile/nodejs-mobile
cd nodejs-mobile
git checkout mobile-master
./tools/android_build.sh ~/android-ndk-r22b
Install auto-cpufreq
sudo apt install python-is-python3 python3.13-venv libzstd-dev
sudo apt install build-essential pkg-config g++ g++-13 gobject-introspection icu-devtools libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libbrotli-dev libcairo2-dev libdatrie-dev libdbus-1-dev libdeflate-dev libegl-dev libegl1-mesa-dev libepoxy-dev libexpat1-dev libfontconfig-dev libfreetype-dev libfribidi-dev libgdk-pixbuf-2.0-dev libgirepository1.0-dev libgl-dev libgles-dev libgles1 libglvnd-core-dev libglvnd-dev libglx-dev libgraphite2-dev libgtk-3-dev libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-subset0 libice-dev libicu-dev libjbig-dev libjpeg-dev libjpeg62-turbo-dev libjs-sphinxdoc libjs-underscore liblerc-dev liblzma-dev libopengl-dev libpango1.0-dev libpixman-1-dev libpng-dev libpng-tools libpthread-stubs0-dev libpython3-dev libpython3.13-dev libsm-dev libstdc++-13-dev libthai-dev libtiff-dev libtiffxx6 libwayland-bin libwayland-dev libwebp-dev libx11-dev libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxtst-dev pango1.0-tools python3-dev python3-mako python3-markdown python3-markupsafe python3-venv python3.13-dev wayland-protocols x11proto-core-dev x11proto-dev xorg-sgml-doctools xtrans-dev
cd $HOME
git clone https://github.com/AdnanHodzic/auto-cpufreq
cd auto-cpufreq && sudo ./auto-cpufreq-installer
sudo auto-cpufreq --install
sudo systemctl enable --now auto-cpufreq
auto-cpufreq --help
sudo systemctl stop auto-cpufreq
sudo systemctl restart auto-cpufreq
sudo auto-cpufreq --monitor
sudo auto-cpufreq --stats
Config auto-cpufreq
sudo nano /etc/auto-cpufreq.conf
# settings for when connected to a power source
[charger]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# preferred governor
governor = performance
# EPP: see available preferences by running: cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
energy_performance_preference = performance
# Platform Profiles
# https://www.kernel.org/doc/html/latest/userspace-api/sysfs-platform_profile.html
# See available options by running:
# cat /sys/firmware/acpi/platform_profile_choices
platform_profile = performance
# minimum cpu frequency (in kHz)
# example: for 800 MHz = 800000 kHz --> scaling_min_freq = 800000
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# to use this feature, uncomment the following line and set the value accordingly
# scaling_min_freq = 800000
# maximum cpu frequency (in kHz)
# example: for 1GHz = 1000 MHz = 1000000 kHz -> scaling_max_freq = 1000000
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# to use this feature, uncomment the following line and set the value accordingly
# scaling_max_freq = 1000000
# turbo boost setting. possible values: always, auto, never
turbo = auto
# settings for when using battery power
[battery]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# preferred governor
governor = powersave
# EPP: see available preferences by running: cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences
energy_performance_preference = power
# Platform Profiles
# https://www.kernel.org/doc/html/latest/userspace-api/sysfs-platform_profile.html
# See available options by running:
# cat /sys/firmware/acpi/platform_profile_choices
platform_profile = low-power
# minimum cpu frequency (in kHz)
# example: for 800 MHz = 800000 kHz --> scaling_min_freq = 800000
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# to use this feature, uncomment the following line and set the value accordingly
# scaling_min_freq = 800000
# maximum cpu frequency (in kHz)
# see conversion info: https://www.rapidtables.com/convert/frequency/mhz-to-hz.html
# example: for 1GHz = 1000 MHz = 1000000 kHz -> scaling_max_freq = 1000000
# to use this feature, uncomment the following line and set the value accordingly
# scaling_max_freq = 1000000
# turbo boost setting (always, auto, or never)
turbo = auto
# battery charging threshold
# reference: https://github.com/AdnanHodzic/auto-cpufreq/#battery-charging-thresholds
#enable_thresholds = true
#start_threshold = 20
#stop_threshold = 80
MSI
Micro-Star International Co., Ltd. MS-7E62
sudo dmidecode -t processor | grep "Speed"
UniSync
## PreReqs ##
sudo apt install libudev-dev libusb-1.0-0-dev
## Rust ##
curl --proto =https --tlsv1.2 -sSf https://sh.rustup.rs | sh
. "$HOME/.cargo/env"
rustc --version
rustup update
## Install ##
cd ~/
git clone https://github.com/EightB1ts/uni-sync && cd uni-sync
chmod +x install.sh
sudo ./install.sh
cd ~/
rm -rf ~/uni-sync
## Configure ##
sudo mousepad /etc/uni-sync/uni-sync.json
sudo systemctl restart uni-sync
XFCE Theme Fix
https://github.com/jnsh/arc-theme/issues/227#issuecomment-3171349695
nano ~/.config/gtk-3.0/gtk.css
.standard-view treeview.view:selected:not(:focus) { color: #5c616c; }
Relog back in
Sensors Watch
sudo sensors-detect
sudo service kmod start
sensors
watch -n 2 sensors | grep "CPU:"
WiFi 7 Card
https://forum.qubes-os.org/t/intel-wi-fi-7-be200-working/24017/20
https://askubuntu.com/questions/1349596/how-can-i-change-regdomain-of-a-wifi-board-in-ubuntu-20-04-intel-ax200-ap-5g
https://www.linuxquestions.org/questions/debian-26/anyone-use-mediatek-wireless-cards-and-6ghz-wifi-on-debian-4175738719
## Install iw ##
sudo apt install iw libnl-3-dev
## Remove Alternatives ##
#sudo update-alternatives --remove-all regulatory.db
#sudo update-alternatives --remove-all regulatory.db.p7s
#sudo update-alternatives --config regulatory.db
## Set Country ##
nmcli radio wifi off
sudo iw reg set US
nmcli radio wifi on
sudo iw reg get
## Troubleshooting ##
nmcli connection
nmcli connection up coder-wap1
nmcli dev wifi list
sudo iw dev wlp7s0 scan
sudo iw phy
sudo dmesg | grep cfg80211
sudo dmesg | grep regulatory
Final Cleanup/Removal
apt list --installed
## Apt Cleanup ##
cli_log "INFO" "Cleaning apt"
#https://ostechnix.com/upgrade-to-debian-13-trixie-from-debian-12-bookworm
sudo apt-get autoremove --purge ^aspell ^fcitx ^firefox-esr-l10n ^hunspell ^libreoffice-l10n ^myspell ^xfonts-thai audacity dnsutils exfalso exim4-base g++-10 g++-11 g++-12 g++-9 gcc-10* gcc-11* gcc-12* gcc-9* gconf2* gdm3 gnome-accessibility-themes gnome-backgrounds gnome-bluetooth gnome-control-center gnome-desktop3-data gnome-icon-theme gnome-settings-daemon gnome-shell gnome-software gnome-software-common gnome-terminal gvfs-backends gyazo libgdk-pixbuf2.0-0 libldap-2.5-0 libopenni2-0* libpulsedsp libpython3.11* light-locker meson ninja-build openjdk-17-jre pipewire-audio-client-libraries pulse-sms pulseaudio pulseaudio-module-* pulseaudio-utils python3.11* quodlibet task-albanian-desktop task-amharic task-amharic-desktop task-arabic task-arabic-desktop task-asturian task-asturian-desktop task-basque task-basque-desktop task-belarusian task-belarusian-desktop task-bengali task-bengali-desktop task-bosnian task-bosnian-desktop task-brazilian-portuguese task-brazilian-portuguese-desktop task-british-desktop task-bulgarian task-bulgarian-desktop task-catalan task-catalan-desktop task-chinese-s task-chinese-s-desktop task-chinese-t task-chinese-t-desktop task-croatian task-croatian-desktop task-cyrillic task-cyrillic-desktop task-czech task-czech-desktop task-danish task-danish-desktop task-dutch task-dutch-desktop task-dzongkha-desktop task-esperanto task-esperanto-desktop task-estonian task-estonian-desktop task-finnish task-finnish-desktop task-french task-french-desktop task-galician task-galician-desktop task-georgian-desktop task-german task-german-desktop task-greek task-greek-desktop task-gujarati task-gujarati-desktop task-hebrew task-hebrew-desktop task-hindi task-hindi-desktop task-hungarian task-hungarian-desktop task-icelandic task-icelandic-desktop task-indonesian-desktop task-irish task-irish-desktop task-italian task-italian-desktop task-japanese task-japanese-desktop task-kannada-desktop task-kazakh task-kazakh-desktop task-khmer task-khmer-desktop task-korean task-korean-desktop task-kurdish task-kurdish-desktop task-latvian task-latvian-desktop task-lithuanian task-lithuanian-desktop task-macedonian task-macedonian-desktop task-malayalam task-malayalam-desktop task-marathi task-marathi-desktop task-nepali-desktop task-northern-sami task-northern-sami-desktop task-norwegian task-norwegian-desktop task-persian task-persian-desktop task-polish task-polish-desktop task-portuguese task-portuguese-desktop task-punjabi task-punjabi-desktop task-romanian task-romanian-desktop task-russian task-russian-desktop task-serbian task-serbian-desktop task-sinhala-desktop task-slovak task-slovak-desktop task-slovenian task-slovenian-desktop task-south-african-english-desktop task-spanish task-spanish-desktop task-swedish task-swedish-desktop task-tagalog task-tamil task-tamil-desktop task-telugu task-telugu-desktop task-thai task-thai-desktop task-turkish task-turkish-desktop task-ukrainian task-ukrainian-desktop task-uyghur-desktop task-vietnamese-desktop task-welsh task-welsh-desktop task-xhosa-desktop thunderbird xarchiver xcb xdg-desktop-portal-* xiterm+thai xsane
dpkg --get-selections | grep "deinstall" | sudo apt autoremove --purge $(awk '{ print $1 }') -y
sudo apt --purge autoremove -y
sudo apt autoclean -y
sudo apt purge '~o'
sudo apt purge '~c'
cli_log "INFO" "Cleaned apt"