{"id":25430411,"url":"https://github.com/Bingi-Man/Debian-Xfce-Tweaks","last_synced_at":"2025-10-31T20:30:20.890Z","repository":{"id":276992709,"uuid":"903024535","full_name":"Bingi-Man/Install-Debian-Xfce-Minimal-Tweaks","owner":"Bingi-Man","description":"Smart-Link","archived":false,"fork":false,"pushed_at":"2025-02-16T10:20:41.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-16T10:22:09.749Z","etag":null,"topics":["benchmark","cpu","debian","linux","nvidia","optimizations","overclock","scaling","tweaks","xfce"],"latest_commit_sha":null,"homepage":"https://bingi-man.github.io/Debian-Tweaks/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bingi-Man.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-13T19:08:24.000Z","updated_at":"2025-02-16T10:20:44.000Z","dependencies_parsed_at":"2025-02-16T10:22:15.462Z","dependency_job_id":"14c0503e-baeb-41f7-8a72-afc5e553edc8","html_url":"https://github.com/Bingi-Man/Install-Debian-Xfce-Minimal-Tweaks","commit_stats":null,"previous_names":["bingi-man/debian-tweaks","bingi-man/debian-minimal"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bingi-Man%2FInstall-Debian-Xfce-Minimal-Tweaks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bingi-Man%2FInstall-Debian-Xfce-Minimal-Tweaks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bingi-Man%2FInstall-Debian-Xfce-Minimal-Tweaks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bingi-Man%2FInstall-Debian-Xfce-Minimal-Tweaks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bingi-Man","download_url":"https://codeload.github.com/Bingi-Man/Install-Debian-Xfce-Minimal-Tweaks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239228302,"owners_count":19603587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","cpu","debian","linux","nvidia","optimizations","overclock","scaling","tweaks","xfce"],"created_at":"2025-02-17T03:28:06.545Z","updated_at":"2025-10-31T20:30:20.856Z","avatar_url":"https://github.com/Bingi-Man.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\n\n\n\n\n\n\n\n\n## Minimal Debian Xfce performance tuning Guide\n\n\n\n\n                                              \n\nThis tutorial guides you through optimizing and install a Debian 12 XFCE system.\nIt covers system installation, essential utilities, Overclocking and CPU tuning.\n\n\nThis is for experienced Linux users who want to testing the performances and understanding the system modifications. \nThis guide focuses on performance, potentially at the cost of system stability and security.\n\n\n\n**Prerequisites:**\n\n\n\n*   Basic knowledge of Linux command-line operations.\n\n*   Understanding of system configuration files.\n\n*   Willingness to accept potential risks associated with advanced system modifications.\n\n\n\n\n\n## Step 1: Base System Installation and Configuration\n\n\n\n\n\n### 1.1 Install Debian 12 Netinst\n\n- Download lastest Netinst Debian 12 :\n\nhttps://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.9.0-amd64-netinst.iso\n\n\n- Create usb bootable :\n\n*   From linux : https://gist.github.com/araujo88/6943d4e789c890d9749d19f73bc8c596\n*   From Windows : https://devtutorial.io/how-to-create-bootable-usb-installer-for-debian-12-p3123.html\n\n\nOnly select \"STANDARD SYSTEM UTILITIES\". This ensures a minimal installation with fewer unnecessary packages.\n\n\n### 1.2 Add user to sudoers\n\n- Install `sudo`:\n```\nsu -\napt install sudo\nexit\n```\n\n\n### 1.3 Allow members of group sudo to execute any command\n\n**WARNING:** This step significantly reduces system security.  Understand the implications before proceeding.  It allows any user in the `sudo` group to execute *any* command without a password.\n```\nsu -\nnano /etc/sudoers\n```\n\n- Add and replace with (don't forget to change the username):\n```\nyour_user_name ALL=(ALL:ALL) NOPASSWD: ALL # Replace your_user_name with your username. \n%sudo   ALL=(ALL:ALL) NOPASSWD: ALL\n```\n\n*   Close with `Ctrl+x` then `Y` and `Enter`\n\n`NOPASSWD:`  This means no password will be required when using sudo to run the following command.\n\n- Reboot\n\n  \n\n### 1.4 Install Xfce4\n\n- After the base system installation, log in as root and install XFCE:\n```\nsu -\napt install xfce4\n```\n\n- Reboot\n\n\n- Set Terminal\n```\nsudo apt install mousepad xfce4-terminal -y\n```\n- Go to Settings \u003e Default Applications \u003e Utilities\n\n*   Set \"Terminal Emulator\" to \"Xfce Terminal\".\n\n\n\n### 1.3 Configure apt sources\n\n- Edit the apt sources list to include `contrib`, `non-free`, and `non-free-firmware` repositories:\n```\nsudo nano /etc/apt/sources.list\n```\n\n- Replace the entire content of the file with the following:\n\n```\ndeb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware\ndeb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware\n\ndeb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware\ndeb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware\n\ndeb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware\ndeb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware\n```\n\n\n### 1.4 Update Apt\n\n- Update the package lists:\n```\nsudo apt update\n```\n\n\n### 1.5 Set Timezone\n\n- List available timezones:\n```\nsudo timedatectl list-timezones\n```\n\n- Set your timezone (replace `Your/Timezone` with your actual timezone, e.g., `Europe/Paris`):\n```\nsudo timedatectl set-timezone Your/Timezone\n```\n\n\n\n\n### 1.6 Add rights\n\n- Add your user to the `video` and `audio` groups:\n```\nsudo usermod -aG video $USER\nsudo usermod -aG audio $USER\n```\n\n\n\n  \n\n## Step 2: Essential Utilities and Desktop Configuration\n\n\n\n\n\n### 2.1 Install Essential Utilities\n```\nsudo apt install acpid dbus-x11 accountsservice apt-transport-https ca-certificates software-properties-common git -y\n\n```\n\n\n\u003e ```acpid```:                        _Handles ACPI events (e.g., lid close, power button)._ \n\n\u003e ```dbus-x11```:                     _Essential inter-process communication for X11 applications._ \n\n\u003e ```accountsservice```:              _Manages user accounts and login sessions._ \n\n\u003e ```apt-transport-https```:          _Enables APT to download packages over HTTPS for secure updates._ \n\n\u003e ```ca-certificates```:              _Provides root certificates for verifying the authenticity of SSL/TLS connections._ \n\n\u003e ```software-properties-common```:   _Tools for managing software repositories (PPAs)._ \n\n\u003e ```git```:                          _Git enable you to keep track of your software at the source level._\n\n\n\n### 2.2 Disable Apparmor\n\n**WARNING:** Disabling AppArmor reduces system security.  Understand the implications before proceeding.  Consider configuring AppArmor profiles instead of disabling it entirely.\n```\nsudo systemctl stop apparmor\nsudo systemctl disable apparmor\nsudo aa-teardown\n```\n\n\n\n### 2.3 Install and Configure Firefox ESR\n```\nsudo apt install firefox-esr\n```\n\n- Firefox Dark Mode\n\n\nGo to Settings \u003e General \u003e Manage Colors...\n\n*   Set Text: White\n*   Set Background: dark grey\n*   Set Unvisited Links: White\n*   Set Visited Links: light gray\n*   Choose \"Always\"\n\n\n- Tweaks Firefox ESR\n\nRefer to the Betterfox project for potential Firefox ESR tweaks: [https://github.com/yokoffing/Betterfox/tree/esr128](https://github.com/yokoffing/Betterfox/tree/esr128)\n\n\n\n\n\n## Step 3: Performance Tuning\n\n\n\n\n\n### 3.1 Disable Suspend\n```\nsudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target\n```\n\n\n### 3.2 disable screen blanking and DPMS\n\n\n```\nsudo nano /home/$USER/xset_noblank.sh\n```\n\n- Add the following content:\n```\n#!/bin/bash\nxset s noblank s noexpose\nxset dpms 0 0 0\nxset s off\nxset -dpms\n```\n\n\n- Make script executable\n```\nsudo chmod +x /home/$USER/xset_noblank.sh\n```\n\n\n- Add to autostart\n\nOpen to Applications \u003e Settings \u003e Session and Startup \u003e Application Autostart.\n\n*   Click \"+ Add\".\n*   Set Name: xset_noblank\n*   Set Command: Clic on File icon and find \"/home/your_user_name/xset_noblank.sh\"\n*   Uncheck \"screen-locker\"\n\n- Reboot\n\n- Check if it work:\n```\nsudo xset -q\n```\n\n### 3.3 Install cpufrequtils and sysfsutils\n```\nsudo apt install -y cpufrequtils sysfsutils\n```\n\n- Enable Services\n```\nsudo systemctl enable cpufrequtils\nsudo systemctl enable sysfsutils\n```\n\n\n### 3.4 Disable Core Dumps\n\n- Prevent large core dump files from consuming disk space:\n```\nsudo nano /etc/sysctl.d/50-coredump.conf\n```\n\n- Add the following line:\n```\nkernel.core_pattern=|/bin/false\n```\n\n\n- Enable the service\n```\nsudo sysctl -p /etc/sysctl.d/50-coredump.conf\n```\n\n\n### 3.5 Configure CPU Governor and Frequencies\n\n- Note: It's generally recommended to use /etc/default/cpufrequtils for configuration if it exists.  This tutorial uses /etc/init.d/cpufrequtils for consistency with the original, but check for the preferred file first.\n```\nsudo nano /etc/init.d/cpufrequtils\n```\n\n- Find and modify these lines (don't forget to change the ```XXXXXXX``` value):\n```\nENABLE=\"true\"\nGOVERNOR=\"ondemand\"\nMAX_SPEED=\"XXXXXXX\"  # Replace with your CPU's maximum speed (use cpufreq-info to find it)\nMIN_SPEED=\"XXXXXXX\"  # Replace with approximately half of your CPU's maximum speed\n```\n\n- Use cpufreq-info in the terminal to determine your CPU's maximum speed.\n  \n- Recommendation:\nEven with C-states disabled, the ondemand governor might still be a better choice for performance due to its ability to manage Turbo Boost and frequency scaling within the available range.  However, the best way to know for sure is to benchmark.\n\n- Check Temperatures and CPU Frequencies\n```\nsudo sensors\nsudo cpufreq-info\n```\n\n\n### 3.6 Sysfs Tuning\n```\nsudo nano /etc/sysfs.conf\n```\n\n- Add the following lines:\n```\ndevices/system/cpu/cpufreq/ondemand/up_threshold = 99\n# Percentage CPU utilization before scaling up frequency. Higher values mean more responsiveness.\ndevices/system/cpu/cpufreq/ondemand/sampling_down_factor = 6\n# How aggressively the CPU scales down frequency. Higher values mean less aggressive scaling down.\ndevices/system/cpu/cpufreq/ondemand/sampling_rate = 20000000\n# How often the CPU usage is checked. Higher values mean more frequent checks (more responsive).\nvm.swappiness = 10\n# Represents the kernel's preference (or avoidance) of swap space.(better performance if enough RAM).\nvm.dirty_background_ratio = 5\n# Percentage of \"dirty\" memory before background write to disk starts.\nvm.dirty_ratio = 10\n# # Percentage of \"dirty\" memory before writes to disk are forced.\nvm.vfs_cache_pressure = 50\n# How aggressively the kernel reclaims memory from the VFS cache. Lower values mean less aggressive reclaiming.\n```\n\n### 3.7 Grub Configuration\n\n**WARNING**: Disabling security mitigations (mitigations=off kernel.randomize_va_space=0) is not recommended and significantly reduces system security.  Understand the risks before proceeding.\n```\nsudo nano /etc/default/grub\n```\n\n- Modify the GRUB_CMDLINE_LINUX_DEFAULT line to:\n```\nGRUB_CMDLINE_LINUX_DEFAULT=\"intel_pstate=passive intel_idle.max_cstate=0 idle=poll nosmt=force pcie_aspm=off mitigations=off kernel.randomize_va_space=0 ipv6.disable=1 zswap.enabled=0\"\n```\n- Parameters :\n\n\u003e ```intel_pstate=passive```          _Use the older intel_pstate driver in passive mode (might reduce performance on newer CPUs)._\n\n\u003e ```intel_idle.max_cstate=0```       _Disable all CPU C-states (low-power states)._\n\n\u003e ```idle=poll```                     _Use polling for idle instead of interrupts (can increase power consumption but reduce latency)._\n\n\u003e ```nosmt=force```                   _Disable Symmetric Multi-Threading (Hyperthreading may hurt the performance, do benchmarks)._\n\n\u003e ```pcie_aspm=off```                 _Disable PCIe Active State Power Management (can improve latency but increase power consumption)._\n\n\u003e ```mitigations=off```               _Disable kernel mitigations for CPU vulnerabilities (increases risk but might improve performance)._\n\n\u003e ```kernel.randomize_va_space=0```   _Disable address space layout randomization (security risk, might slightly improve performance)._\n\n\u003e ```ipv6.disable=1```                _Disable IPv6 networking._\n\n\u003e ``` zswap.enabled=0```              _Disable kernel feature that provides a compressed RAM cache for swap pages (better performance if enough RAM)._\n\n- Reload Grub\n```\nsudo grub-mkconfig -o /boot/grub/grub.cfg\n```\n- Reboot\n\n\n\n## Step 4: NVIDIA Tweaks\n\n\n\n### 4.1 Disable compositor\n\nOpen to Applications \u003e Settings \u003e Windows Manager Tweaks \u003e Compositor\n\n*   Uncheck  \"Enable display compositing\"\n\n### 4.2 Xorg Configuration\n```\nsudo usermod -a -G input $USER\nsudo nano /etc/X11/Xwrapper.config\n```\n\n- Add the following lines:\n```\nallowed_users=anybody\nneeds_root_rights=yes\n```\n\n**WARNING**: ```allowed_users=anybody```: This setting allows any user on the system to run X server applications (graphical programs) as root. This means if any user account is compromised, the attacker gains full root access to your graphical environment and, consequently, your entire system.\n```needs_root_rights=yes```: This explicitly grants root privileges to X server applications. Combined with allowed_users=anybody, a malicious program run by any user would have full root access.\n\n\n    \n\n\n### 4.3 Install Nvidia Driver and CUDA\n```\nsudo apt install -y linux-headers-amd64 nvidia-driver firmware-misc-nonfree\n```\n- Reboot\n\n```\nsudo apt install -y nvidia-cuda-dev nvidia-cuda-toolkit\n```\n- Reboot\n\n\n- CUDA Rights and Group Configuration\n```\nsudo groupadd cuda\nsudo usermod -aG cuda $USER\n```\n\n- Allow members of group cuda to execute nvidia-smi\n\n\n```\nsudo nano /etc/sudoers\n```\n\n- Add the following line:\n\n```\n%cuda ALL=(ALL) NOPASSWD: /usr/bin/nvidia-smi\n```\n**WARNING**: The modification was overly permissive. \n\n### 4.4 Nvidia\n\n\n#### 4.4.1 Nvidia Xorg conf\n\n\n- Configuring the 10-nvidia-drm-outputclass :\n```\nsudo nano /usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf\n```\n- Important: Verify that the ModulePath entries exist for your system.  Incorrect paths can prevent X from starting.\n```\nSection \"OutputClass\"\n    Identifier     \"nvidia\"\n    MatchDriver    \"nvidia-drm\"\n    Driver         \"nvidia\"\n    Option \"AllowEmptyInitialConfiguration\"\n    Option \"DPMS\" \"false\"\n    ModulePath \"/usr/lib/nvidia/current\"    # Verify this path exists and adjust if necessary\n    ModulePath \"/usr/lib/xorg/modules\"\n    Option     \"Coolbits\" \"28\"\nEndSection\n\n# \"Coolbits\" \"28\"  Enable Overclocking and FanControl\n```\n\n\n\n\n#### 4.4.2 Modprobe conf\n```\nsudo nano /etc/modprobe.d/nvidia-options.conf\n```\n\n- Add the following lines:\n\n```\noptions nvidia NVreg_UsePageAttributeTable=1\n# Can improve performance, especially for graphics-intensive applications, by optimizing memory access patterns.\noptions nvidia NVreg_EnableMSI=1\n# Reduces CPU overhead associated with handling interrupts from the graphics card, potentially improving system responsiveness.\noptions nvidia NVreg_EnableStreamMemOPs=1\n# Can improve performance in applications that involve significant data transfer between the CPU and GPU.\noptions nvidia NVreg_RegistryDwords=\"PerfLevelSrc=0x2222\"\n# Performance level\noptions nvidia NVreg_RegistryDwords=\"OverrideMaxPerf=0x1\"\n# Max performance (caution: heat/power)\noptions nvidia-drm modeset=1\n# Enable kernel mode setting (modeset)\noptions nvidia-current NVreg_RestrictProfilingToAdminUsers=0\n# Allow non-administrative users to use NVIDIA profiling tools.  This can be useful for debugging and performance analysis but might pose a security risk in some environments\n```\n\n\n\n#### 4.4.4 Update Initramfs\n```\nsudo update-initramfs -u\n```\n- Reboot\n\n\n\n### 4.5 Nvidia Patch (removes restriction on maximum number of simultaneous NVENC video encoding sessions)\n```\ngit clone https://github.com/keylase/nvidia-patch.git\ncd nvidia-patch\nsudo bash ./patch.sh\n```\n\n\n### 4.6 Overclocking\n\n**WARNING**: Overclocking can damage your hardware.  \nProceed with extreme caution, and increase values incrementally, testing\nthoroughly after each change.  Monitor temperatures closely.\n\n\n#### 4.6.1 Benchmark\n\n- Download the Unigine Heaven benchmark: https://benchmark.unigine.com/heaven\n```\ncd Downloads\nsudo chmod +x Unigine_Heaven-4.0.run\nsudo ./Unigine_Heaven-4.0.run\ncd Unigine_Heaven-4.0\n./heaven\n```\n\n- Run the benchmark and monitor GPU temperature, clock speeds, and \nmemory transfer rate to test stability after each overclocking step.\n\n\n#### 4.6.2 Overclock\n\nEXTREME CAUTION: Increase offset values incrementally and RUN BENCHMARK AFTER EACH CHANGES.  Start with small increases (e.g., +10 MHz for graphics clock, +100 MHz for memory clock).\n\n\n- Set maximum performance:\n```\nsudo nvidia-settings -a '[gpu:0]/GpuPowerMizerMode=1'\n```\n\n- Set fan control:\n```\nsudo nvidia-settings -a '[gpu:0]/GPUFanControlState=1'\nsudo nvidia-settings -a '[fan:0]/GPUTargetFanSpeed=XXX'   # XXX% fan speed\n```\n\n- Set power limit:\n```\nsudo nvidia-smi --power-limit=XXX   # Replace XXX with your GPU's maximum power limit, found using sudo nvidia-smi -q\n```\n\n- Graphics overclocking (replace XXX with the desired offset, starting with small values like 10):\n```\nsudo nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffsetAllPerformanceLevels=XXX'   # Where XXX is the value added to the maximum Memory clocks (exp:120 = +120MHZ)\n```\n\n- Memory overclocking (replace XXXX with the desired offset, starting with small values like 100):\n```\nsudo nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=XXXX'  # Where XXXX is the value added to the maximum Memory clocks (exp:1000 = +1000MHz) \n```\n\n#### 4.6.3 Make changes permanents\n\n- Create a script to apply overclocking settings on startup:\n```\nsudo nano /home/$USER/GpuTweaks.sh\n```\n\n- Add the following lines (replace XXX and XXXX with your stable overclocking values):\n\n```\n#!/bin/bash\n\n##Set power limit to maximum\n\nsudo nvidia-smi --power-limit=XXX    # Where XXX is value for power-limit\n\n##Set maximum performance mode\n\nsudo nvidia-settings -a '[gpu:0]/GpuPowerMizerMode=1'\n\n##Set fan control\n\nsudo nvidia-settings -a '[gpu:0]/GPUFanControlState=1'\nsudo nvidia-settings -a '[fan:0]/GPUTargetFanSpeed=XXX' # Where XXX is % of Fan Speed\n\n\n##Graphics overclocking\n\nsudo nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffsetAllPerformanceLevels=XXX'    # Where XXX is the value added to the maximum graphics clocks\n\n##Memory overclocking\n\nsudo nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=XXXX'    # Where XXXX is the value added to the maximum Memory clocks\n\n```\n\n- Make script executable:\n```\nsudo chmod +x /home/$USER/GpuTweaks.sh\n```\n\n- Add to autostart (Applications \u003e Settings \u003e Session and Startup \u003e Application Autostart)\n\n*   Click \"+ Add\".\n*   Set Name: GpuTweaks\n*   Set Command: Clic on File icon and find \"/home/your_user_name/GpuTweaks.sh\"\n  \n\n- Reboot\n\n\n\n\n\n\n## Step 5: Filesystem, Boot, and Service Configurations\n\n\n\n\n### 5.1 Set noatime and Tweak fstab for Ext4\n```\nsudo nano /etc/fstab\n```\n\nUUID=YOUR_ROOT_PARTITION_UUID:  Identify your partition, don't touch it\n\next4: This specifies the filesystem type.\n\nnoatime: This mount option disables updating the access time (atime) for files \nwhenever they are read.  This can improve performance, especially on \nsolid-state drives (SSDs), as it reduces unnecessary writes.\n\nbarrier=0:  **WARNING** Write barriers ensure data integrity by\n forcing writes to be completed in a specific order. Disabling them can \nsignificantly improve performance, especially on SSDs, but if your system crashes or loses power during a write operation,\n data corruption can occur.  Use with caution!  If you're unsure, leave barrier=1 (the default).\n\n\n- Add options\n```\nUUID=YOUR_ROOT_PARTITION_UUID / ext4 noatime,barrier=0,errors=remount-ro 0 1\n```\n\n\n- Reload systemctl\n \n```\nsudo systemctl daemon-reload\n```\n\n\n### 5.2 Disable Journaling on ext4\n\nEXTREME CAUTION: Disabling journaling significantly increases the risk of data loss in case of a power failure or system crash.  This is not recommended for most users.  The following steps involve creating a backup of your system, which is essential before disabling journaling.\n\n\n#### 5.2.1 Backup your system\n\n- Download Rescuezilla ( https://github.com/rescuezilla/rescuezilla/releases/download/2.5.1/rescuezilla-2.5.1-64bit.noble.iso ).\n\nCreate a bootable USB drive with Rescuezilla :\n\n\n- Find USB device name :\n```\nlsblk # Identify your Debian disk (e.g., /dev/nvme0n1)\n```\n\n- Unmount USB\n```\nsudo umount /dev/sdX # Where sdX is your USB\n```\n\n- Create the disk image with dd :\n```\nsudo dd if=~/Downloads /rescuezilla-2.5.1-64bit.noble.iso of=/dev/nvme0n1 bs=1M status=progress \n```\n- Boot from it, and back up your entire Debian disk to another storage device \n(USB drive, external hard drive, etc.).  Do not proceed without a complete backup.\n\n\n#### 5.2.2 Disable journalling on Ext4\n\n**WARNING**: This can lead to data loss!  Ensure you have a complete backup before proceeding.\n```\nlsblk    # Identify your root partition (e.g., /dev/nvme0n1p2)\n\nsudo tune2fs -O ^has_journal /dev/nvme0nXXX    # Replace /dev/nvme0nXXX with your actual root ( / ) partition (you can find it with : \" lsblk \")\n```\n\n\n### 5.3 Autologin Lightdm\n\n**WARNING**: Enabling autologin is a security risk.  Anyone with physical access to your computer will be automatically logged in.\n```\nsudo nano /etc/lightdm/lightdm.conf\n```\n\n- Find or add the following lines within the appropriate sections (don't forget to change the username):\n\n```\n[LightDM]\nlogind-check-graphical=true\n\n[Seat:*]\nautologin-user=your_user_name # Where \"your_user_name\" is your user name.\nautologin-user-timeout=0\n```\n\n\n### 5.4 PulseAudio Configuration\n```\nsudo nano /etc/pulse/daemon.conf\n```\n\n- Uncomment (remove the leading ;) and modify the following lines:\n\n```\nflat-volumes = no\navoid-resampling = true\ndefault-sample-rate = 48000\n```\n\n\n#### 5.4.1 Disable idle and tsched\n```\nsudo nano /etc/pulse/system.pa\n```\n\n- Add and Comment this lines:\n```\nload-module module-udev-detect tsched=0\n# disables the timer-based scheduling feature of the module. (This can improve performance, but might introduce latency)\n#load-module module-suspend-on-idle\n```\n\n\n### 5.5 Disable Services\n\n- Disable unnecessary services to reduce boot time and resource usage. \n```\nsudo systemctl disable systemd-networkd.service  # Only if using a static network configuration\nsudo systemctl disable upower.service  # Only if you don't need battery monitoring or power management\nsudo systemctl disable nftables.service  # Only if you're not using nftables\n```\n\n\n## Further reading\n\n\n  \n\n  \nDebian Xfce4 Minimal Install Guide - https://github.com/coonrad/Debian-Xfce4-Minimal-Install  \n\nDebian Wiki - CpuFrequencyScaling: https://wiki.debian.org/CpuFrequencyScaling\n\nArch Linux Wiki - Improving performance: https://wiki.archlinux.org/title/Improving_performance\n\nArch Linux Wiki - Ext4: https://wiki.archlinux.org/title/Ext4\n\nArch Linux Wiki - LightDM: https://wiki.archlinux.org/title/LightDM\n\nArch Linux Wiki - PulseAudio/Troubleshooting: https://wiki.archlinux.org/title/PulseAudio/Troubleshooting\n\nNVIDIA Developer Forums: https://forums.developer.nvidia.com/\n\nBetterfox github - https://github.com/yokoffing/Betterfox/tree/esr128\n\nnvidia-patch github - https://github.com/keylase/nvidia-patch.git\n\nUnigine Heaven benchmark - https://benchmark.unigine.com/heaven\n\nRescuezilla - https://github.com/rescuezilla/rescuezilla/releases/download/2.5.1/rescuezilla-2.5.1-64bit.noble.iso\n\n\n\n\n## Troubleshootings\n\n\n### Sound output is wrong (headphones/lineout...)\n\n- Use pavucontrol to change the port to your desired one. Then find the internal name of the port with this command:\n```\n$ pacmd list | grep \"active port\"\n    active port: \u003chdmi-output-0\u003e\n    active port: \u003canalog-output-lineout\u003e\n    active port: \u003canalog-input-linein\u003e\n```\n- Using this information about the internal name of the port, change it with :\n```\npacmd set-sink-port 0 analog-output-lineout\n```\nIf you have multiple cards, try changing the 0 to a 1.\n\n- If this works, you can put:\n```\nset-sink-port 0 analog-output-lineout\n```\nin your /etc/pulse/default.pa file to have it across reboots.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBingi-Man%2FDebian-Xfce-Tweaks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBingi-Man%2FDebian-Xfce-Tweaks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBingi-Man%2FDebian-Xfce-Tweaks/lists"}