• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Cachy OS April

ChadD

[H]F Junkie
Joined
Feb 8, 2016
Messages
8,383
Another update for the Cachy ISO.
Moving away from Octopi as the default installed package manager for Shelly.
Switched the Default NVME IO scheduler from None to Kyber. (if your an existing Cachy user and want to make the same change just edit your 60-ioschedulers.rules file in /etc)
Added DNS over HTTPS
Added the new VRAM Management tools to the hello program for AMD/Intel GPU users.

https://cachyos.org/blog/2604-april-release/

Hello CachyOS Enthusiasts,

This is our third release of the year, bringing a new default GUI package manager, DNS-over-HTTPS support, fingerprint-based sudo, and a variety of installer and hardware detection improvements!

First, the installer now ships Shelly as the GUI package manager, replacing Octopi. A clean snapshot is now created immediately after the installation has finished and is retained permanently, providing users with a reliable baseline restore point. GRUB os-prober is now enabled by default to detect other operating systems on the same machine. The UKUI desktop has been dropped from the selection, and the GNOME package selection has been cleaned up and modernised. For AMD GPUs, a different Plymouth theme is now used, as the amdgpu driver was unable to render the previous theme reliably on laptops with a secondary monitor attached. Last but not least, a new option was introduced in the installer that sets up MangoWM with DMS shell.

CachyOS-Welcome supports DNS over HTTPS for better privacy. The redesigned DNS page lets you test connection speeds, auto-select the fastest server, or add custom ones. We also added a VRAM Management toggle to optimize graphics memory on AMD and Intel GPUs, full keyboard navigation, and sharper, dark-mode-friendly icons.

chwd automatically configures fingerprint readers for sudo prompts, detects specific Intel CPUs for better power saving, and correctly handle laptop edge cases. Firmware update fixes for the Legion Go.

In cachyos-settings, the default NVMe I/O scheduler was switched from none to kyber for better overall responsiveness under mixed workloads.

On the fixes side, the installer now prints the chosen partition method to the debug log, and old microcode packages are properly removed when reusing an existing boot partition. In chwd, the kernel search in the NVIDIA profiles is now more accurate, the forced Xorg session was removed from the 470xx profiles, and handheld product name matching was improved. In cachyos-settings, S01x power management was dropped due to issues with the NVIDIA 595 driver, and AggressiveVblank was disabled due to VR-related issues with the NVIDIA driver.

Features:
  • Installer:
    • Shelly now replaced Octopi as the GUI package manager
    • A clean snapshot is now created immediately after installation and retained permanently, providing a baseline restore point
    • GRUB os-prober is now enabled by default
    • Added MangoWM as Desktop Option with dotfiles
    • Dropped the UKUI desktop
    • AMD GPUs now use a different Plymouth theme, as the amdgpu driver is unable to render the previous theme reliably on laptops with a secondary monitor attached
    • Cleaned up and modernised the GNOME package selection
    • Added option to install MangoWM with DMS shell
  • CachyOS-Welcome:
    • Added DNS-over-HTTPS (DoH) support via blocky
    • Added custom DNS server support and DHCP automatic indicator/reset
    • DNS servers now display metadata (region, homepage, filtering) and support individual latency testing
    • Added VRAM management toggle dmemcg-booster (additionally installs plasma-foreground-booster on KDE)
    • Added full keyboard navigation support for accessibility
    • Replaced PNG social icons with crisp, HiDPI-aware SVGs
    • Added wezterm to the terminal helper
  • chwd:
    • Added native USB device detection (via libusb/sysfs) and chassis type detection
    • Added support for fingerprint (fprint) sudo integration
    • Added CPU family/model detection to support intel-lpmd
    • Handhelds: Added exact patterns for Xbox ROG Ally
    • Network: Added Marvell AVASTAR 88W8897 Wi-Fi profile (Surface Pro 4)
    • Split NVIDIA profiles for laptops and desktop environments
    • Split and updated profiles for Virtual Machines
  • cachyos-settings: Switched the default NVMe I/O scheduler from none to kybe
Fixes:
  • Installer:
    • The partition method is now printed to the debug log
    • Old microcode packages are now removed when reusing an existing boot partition
  • CachyOS-Welcome:
    • Fixed connectivity checks incorrectly returning true when ping fails
    • Ensured external link icons are visible in dark themes
    • Prevented multiple instances of the welcome app from launching simultaneously
    • Added StartupWMClass for improved .desktop window matching
  • chwd:
    • Removed the kms hook from mkinitcpio.conf on non-portable desktops to fix NVIDIA driver conflicts
    • Made the installed kernel search in NVIDIA profiles more accurate
    • Removed forced Xorg session from the NVIDIA 470xx profiles (fixes compatibility with plasma-login-manager)
    • Removed outdated WaylandEnable=false for GDM in Virtual Machine profiles
    • Fixed false-positive handheld detections (e.g., specific MSI laptops being mistaken for the MSI Claw)
  • cachyos-settings:
    • Dropped S01x power management due to issues with the NVIDIA 595 driver
    • Disabled AggressiveVblank due to VR-related issues with the NVIDIA driver
Manual changes for existing users: No manual changes needed. Just the usual updating:
 
Switched the Default NVME IO scheduler from None to Kyber. (if your an existing Cachy user and want to make the same change just edit your 60-ioschedulers.rules file in /etc)
Why can I not find this? I even looked in /etc/udev/rules.d and couldn't find a file called 60-ioschedulers.rules.

EDIT: Found it under /lib/udev/rules.d, kyber was already enabled under 60-ioschedulers.rules. I didn't change the io scheduler, it must be changed automatically as part of the update:

Code:
# HDD
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
    ATTR{queue/scheduler}="bfq"

# SSD
ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="mq-deadline"

# NVMe SSD
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="kyber"

I applied it on my KDE Neon system. Did some before and after benchies using Kdiskmark, TBH the difference was well within the margin of error, but I'll give it a go anyway.
 
Last edited:
  • Like
Reactions: ChadD
like this
I have a question about Blocky: Does it work locally, and which DNS servers do the queries go to—those of the local ISP or those configured on the LAN?
 
I have a question about Blocky: Does it work locally, and which DNS servers do the queries go to—those of the local ISP or those configured on the LAN?
If it's anything like PiHole, it's a DNS sink. So web queries resolve to nothing based on local block lists (and therefore local DNS).
 
Why can I not find this? I even looked in /etc/udev/rules.d and couldn't find a file called 60-ioschedulers.rules.

EDIT: Found it under /lib/udev/rules.d, kyber was already enabled under 60-ioschedulers.rules. I didn't change the io scheduler, it must be changed automatically as part of the update:

Code:
# HDD
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
    ATTR{queue/scheduler}="bfq"

# SSD
ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="mq-deadline"

# NVMe SSD
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="kyber"

I applied it on my KDE Neon system. Did some before and after benchies using Kdiskmark, TBH the difference was well within the margin of error, but I'll give it a go anyway.
Ya mine is under lib/udev as well. Not sure why the cachyos wiki says its in /etc/udev rules. My install is older so I assumed they moved it in newer versions and didn't want to give anyone wrong info. lol

On a good NVME drive I think the difference would be pretty minimal. On older or maybe less then NVMEs the difference might be larger. None means use the drives onboard scheduler. None has been the go to for a long time as NVME drives generally have good controllers.
I am not sure why they chose now to move to kyber. Not sure if Kyber got some upgrades... or if its just another situation where they have said well its 1% faster so why not.
 
I've never bothered making the fingerprint reader on my laptop function until today. Boy was I stupid LMAO.

This is great...

Just wish I hadn't trashed my Cachy install with tons of other software trying to troubleshoot an issue with my 3d printer. So many extra dependencies and trash now. Need to reinstall. Debating to stick with Cachy or go back to Arch...like I said in a different thread I always go back to Arch. It just "feels right" for me. However, Cachy is a great Arch derivative so we'll see what I do lmao. First I do need time to rebuild.
 
  • Like
Reactions: ChadD
like this
Why can I not find this? I even looked in /etc/udev/rules.d and couldn't find a file called 60-ioschedulers.rules.

EDIT: Found it under /lib/udev/rules.d, kyber was already enabled under 60-ioschedulers.rules. I didn't change the io scheduler, it must be changed automatically as part of the update:
Ya mine is under lib/udev as well. Not sure why the cachyos wiki says its in /etc/udev rules. My install is older so I assumed they moved it in newer versions and didn't want to give anyone wrong info. lol

Any file in /etc/udev/rules.d overrides a like-named one in /lib/udev/rules.d. This is a common systemd pattern. So if /etc/udev/rules.d/60-ioschedulers.rules does not exist just create it and it'll accomplish what's needed.

https://man.archlinux.org/man/udev.7#RULES_FILES

edit: typo
 
Last edited:
  • Like
Reactions: ChadD
like this
It's not just a common systemd pattern, it's been more or less defacto standard for years now.

Configuration and system libraries managed by the packaging system go in /lib, host specific configuration goes in /etc. Software first checks /etc/[path to config] (or /home/[username]/[path to config]), and if it doesn't exist then it checks the fallback in /lib (or some hard-coded default).

Most software allows packagers to choose where the configuration (system, host, and user) is stored, so it may not be in the same place from one distro to another. But fedora, debian, and their derivatives (for instance) will be consistent.
 
  • Like
Reactions: ChadD
like this
But if the exact same file exists under /lib/udev/rules.d, what's the point?

/etc/udev/rules.d exists to override entries in /lib/udev/rules.d. If the required rule already exists in the latter, there's no need for it in the former. Generally, only place something in /etc/udev/rules.d if you need to override the system default.

The release notes state that the change for the NVMe scheduler is to the system default, so it being in /lib/udev/rules.d is expected. It appears that ChadD was referencing the CachyOS wiki entry for udev rules, which has as an example setting kyber as the NVMe/SATA SSD scheduler and was almost certainly written before this month's update. So, maybe a bit of confusion there?
 
/etc/udev/rules.d exists to override entries in /lib/udev/rules.d. If the required rule already exists in the latter, there's no need for it in the former. Generally, only place something in /etc/udev/rules.d if you need to override the system default.

The release notes state that the change for the NVMe scheduler is to the system default, so it being in /lib/udev/rules.d is expected. It appears that ChadD was referencing the CachyOS wiki entry for udev rules, which has as an example setting kyber as the NVMe/SATA SSD scheduler and was almost certainly written before this month's update. So, maybe a bit of confusion there?
Ya my mistake was that the wiki is telling you how to set an override setting... Basically so their updates don't constantly reset your change.
I get that now.
https://wiki.cachyos.org/configuration/general_system_tweaks/
Their suggestion to permanently change your IO scheduler is to create/edit;
sudo nano /etc/udev/rules.d/60-ioschedulers.rules

That makes 100% sense to me now. AS Maz pointed out. His was already set to Kyber, as cachy pushed an update to the rule file for him.

IF he wanted to say permenently switch to Adios or revert to None and not follow the devs choices.
HE could copy/create a rule file in /etc and Cachy updates wouldn't mess with his choice.

This is one of those things that I sort of knew but didn't put together. Clearer now to me that I think on it for more then a second.
 
Reinstalled the distro again on my test box (which I distrohop on all the time just for learning / fun / shits n' giggles). This time with MATE just for the hell of it. I actually kinda dig MATE still, and when not MATE, XFCE. (I'm a sucker for the stuff that isn't GNOME/KDE/etc a lot of the time).

I do enjoy this OS overall and it's my only Arch box at the moment. I wanted to at least have one I keep on various Arch distros so I can get more familiar with it (after using debian-based stuff for so so long). One of the bits I really like, even just aesthetically, compared to most other distros, is the Limine bootloader. That's just a nice extra touch on top of everything else.

It feels pretty snappy on an 8GB RAM + 4th gen Intel chip HP Mini PC

For some reason with my janky no-name $15 Amazon USB wireless dongle, I have to force it to 5Ghz band to get proper speeds. It just doesn't negotiate properly- but I think this is a problem with the dongle more than anything else. It is interesting to me that the ability to force the band isn't in the UI like I've seen it in other distros, I have to use
Code:
nmcli connection modify "SSID" 802-11-wireless.band a
in terminal. which i don't mind at all, just observed that it was no longer in the connection editing UI like I've seen it elsewhere

So, if anyone else runs into a weird auto-negotiation for some USB wifi dongles where it seems to get less-than-expected bandwidth for the SSID / AP it's connected to- this tweak might be worth a shot.
 
  • Like
Reactions: Nobu
like this
Damn, I've been on MacOS for work over the past several weeks. Haven't used my PC/CachyOS since late March.

Tanx for the update, OP!
 
  • Like
Reactions: ChadD
like this
Back
Top