Releases: CachyOS/chwd
1.10.1
Summary
This release introduces several under-the-hood improvements to chwd
, including dependency updates, optimization of initramfs updates, and improved handling of installation failures. It also enables nvidia-powerd
by default for modern mobile NVIDIA GPUs (30xx and later). Additionally, this release introduces a chwd
library crate for external use.
Features ✨
chwd
Library Crate: Achwd
library crate is now available, allowing external projects to leveragechwd
's functionality. This includes access to profile information via theprofile::get_available_profiles
function.
Chores 🧹
- Dependency Updates: Project dependencies have been updated.
- Optimized Initramfs Updates: Improved the efficiency of initramfs updates by eliminating redundant updates. The necessary modules are now added before package installation. (#141)
- Improved Failure Handling: Enhanced handling of installation failures by running the
pre_remove
hook for cleanup. - Internal Refactoring:
- Made
clippy
happy in the profile module. - Improved handling of shared profile values using cloning where appropriate.
- Localized printing functions to binary scope.
- Made
Other Changes
- Enabled
nvidia-powerd
:nvidia-powerd
is now enabled by default for Ampere and newer NVIDIA dGPUs. (#140)
This changelog summarizes the key changes in this release. For a detailed view of all modifications, please refer to the full diff on GitHub.
1.10.0
Summary
This release focuses on improving NVIDIA GPU detection and simplifying the chwd
script. It also includes dependency updates.
Chores 🧹
- Dependency Updates: Updated project dependencies for better compatibility and performance.
- Simplified
get_profile
Function: Simplified theget_profile
function in thechwd
script, improving code readability and maintainability. (#138)
Bug Fixes 🐛
- NVIDIA GPU Detection: (#139)
- Removed PRIME profiles in favor of detection within hooks for more accurate detection of NVIDIA GPUs in PRIME setups.
- Added a script to dump PCI IDs for NVIDIA GPUs, including closed modules.
- Used dumped PCI IDs for older NVIDIA profiles instead of device name patterns, improving the accuracy of profile selection.
- Used the dumped list for closed modules instead of pattern matching for more reliable detection.
This changelog summarizes the key changes in this release. For a detailed view of all modifications, please refer to the full diff on GitHub.
1.9.1
Summary
This release includes a minor bug fix for profile reinstallation and adds the xf86-video-amdgpu
package to the AMD profile. Additionally, it refactors the execution of the chwd
script for improved security and reliability.
Chores 🧹
- Refactored Script Execution: The
chwd
script execution has been refactored to useExec::cmd
instead ofExec::shell
, improving security and avoiding potential issues with shell escaping. Arguments are no longer passed as a shell process.
Bug Fixes 🐛
- Profile Reinstallation: Fixed an issue that prevented profiles from being reinstalled correctly.
Other Changes
- AMD Profile: Added the
xf86-video-amdgpu
package to the AMD profile.
This changelog summarizes the key changes in this release. For a detailed view of all modifications, please refer to the full diff on GitHub.
1.9.0
Summary
This release introduces various improvements and bug fixes, including better handling of multiple profiles, dependency updates, and removal of dead code.
Features ✨
- Multiple Profiles: Improved handling of installation and removal for multiple profiles.
Chores 🧹
- Dependency Updates: Updated project dependencies for better compatibility and performance.
- Dead Code Removal: Removed dead and unused code to improve maintainability (#137).
- Improved Logging: Refactored logging to use the
log
crate for better consistency and flexibility. - Code Cleanups: (#134)
- Removed nonfree heuristics, USB options,
is_nvidia_card
option, andpci
option for simplification and clarity. - Changed the argument from a vector to an optional string for better usability.
- Required listing options to be specified for detailed output to avoid accidental verbosity.
- Removed the
type
field fromDevice
as it was redundant. - All profiles are now PCI-based.
- Removed nonfree heuristics, USB options,
- Simplified Autoconfigure: Made the argument for autoconfigure optional, making it easier to use in scripts like Calamares (#133).
Bug Fixes 🐛
- Handheld Ally Detection: Replaced
hhd
withinputplumber
to fix Ally handheld detection issues (#115, #136). - PRIME on Hybrid Systems: Removed
libva-nvidia-driver
from installable packages to prevent issues with Spectacle and other software on hybrid systems (#132). - Nouveau Profile Priority: Increased the priority of the Nouveau profile in graphic drivers (#135).
Breaking Changes ⚠️
- The
--pci
option has been removed. - The
--is-nvidia-card
option has been removed.
This changelog summarizes the key changes in this release. For a detailed view of all modifications, please refer to the full diff on GitHub.