Releases: OpenGamingCollective/cardwire
Release list
v0.11.1
What's Changed
- feat(cardwired): only restart nvidia-powerd if the service is enabled by @luytan in #131
- fix(cardwired): block vulkan files instead of the whole folder by @luytan in #130
Full Changelog: v0.11.0...v0.11.1
v0.11.0
What's Changed
- refactor(smart mode): replace tokio::fs with std::fs and share environ file content by @luytan in #77
- Revise troubleshooting instructions for clarity by @KBeiller in #78
- feat: hide a dGPU using sys_enter_getdents64 and sys_exit_getdents64 by @luytan in #76
- feat: add a bpf_map for whitelisted apps and whitelist packages managers by @luytan in #79
- Implement fdo PreferNonDefaultGpus to non flatpak apps by @luytan in #83
- Typo in docs near the experimental nvidia block section by @probablybarni in #88
- feat: official cardwire gui by @luytan in #87
- Feat auto save settings by @luytan in #98
- feat: Improve sidebar button styling on GUI by @JuanDelPueblo in #102
- Clean up daemon and improve readability by @luytan in #101
- feat: Tray applet for GUI by @JuanDelPueblo in #99
- refactor(cardwired): replace mpsc channels with a task::spawn by @luytan in #112
- feat: add tests for all crates by @luytan in #113
- feat(cardwired+cardwire-ebpf): log all blocked apps when in smart mode by @luytan in #114
- feat(cardwired): accurate name detection for nvidia and amd by @luytan in #115
- feat: add CARDWIRE_FORCE_DGPU to cardwire by @luytan in #116
- feat(cardwired): implement a switcheroo DBus shim by @luytan in #118
- Update docs for 0.11.0 and include new changes by @luytan in #119
- fix(cardwired): add manual mode fallback if apply mode at startup fails by @luytan in #121
- feat(cardwired): restart nvidia-powerd on mode change by @luytan in #120
- feat(cardwire-cli): better fish completion by @luytan in #122
- feat: Add global GUI configuration and new tray icon click options by @JuanDelPueblo in #117
New Contributors
- @KBeiller made their first contribution in #78
- @probablybarni made their first contribution in #88
- @JuanDelPueblo made their first contribution in #102
Full Changelog: v0.10.3...v0.11.0
v0.10.3
What's Changed
- fix(daemon): persist battery_auto_switch_mode setting at daemon startup by @Neo-AzTeK in #65
- refactor: simplify pci class matching and add a GpuVendor enum by @luytan in #68
- Refactor: replace some func with trait from and into by @luytan in #69
- Docs: Add Ubuntu, consistent steps for BPF LSM and note on already open GPU file descriptors by @MaEtUgR in #62
- Docs add settings to docs and update by @luytan in #70
- Documentation improvements (URL and requirements) by @lukyjay in #72
- Improve ci/cd by @luytan in #71
Packaging
Cardwire now has official .deb packages available for download !
New Contributors
- @Neo-AzTeK made their first contribution in #65
- @MaEtUgR made their first contribution in #62
- @lukyjay made their first contribution in #72
Full Changelog: v0.10.2...v0.10.3
v0.10.2
What's Changed
- chore(deps): bump nixpkgs from
331800dtoa799d3eby @dependabot[bot] in #49 - chore(deps): bump fenix from
6d8f78eto3a556b6by @dependabot[bot] in #48 - Make get_fdo_apps errors recoverable by @luytan in #53
- Add support for nix home manager desktop entries by @luytan in #54
- Prevent panic by removing unwrap on nvidia_minor by @luytan in #55
- fix: skip default gpu check is list is empty by @luytan in #56
- feat: battery switch selectable mode by @luytan in #57
Full Changelog: v0.10.1...v0.10.2
v0.10.1
v0.10.0
What's Changed
- Add a smart mode by @luytan in #39
- Daemon refresh via API and on udev event by @luytan in #40
- fix: add backlight check for nvidia by @luytan in #41
⚠️ Breaking packaging changes ⚠️
Cardwired now requires libudev-devel and pkg-config as build dependencies
Smart Mode:
Introducing smart mode, a powerful new eBPF-driven analysis mode designed for hybrid laptops
By default, Smart Mode restricts access to the dGPU to all apps, but uses a fast analyzer to seamlessly allow applications that actually need the dGPU
Smart Mode analyzer automatically detects and allows:
- Steam & Proton games
- Games launched with
gamemoderun - Offloading ENV: DRI_PRIME=1 or __NV_PRIME_RENDER_OFFLOAD=1
- Desktrop Entries: PrefersNonDefaultGPU=true (as of this release, only works with flatpak apps)
- Manual override: force the app to either get allowed with CARDWIRE_ALLOW=1 or blocked with CARDWIRE_ALLOW=0
NOTE: Smart mode is still experimental, more detections will be added in the future
Daemon Refresh:
The daemon now automatically refreshes its gpu list on pci changes, and exposes a new D-Bus API for manual refresh
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
- Rewrite cardwire-ebpf and Fix bpf-error with the latest linux-rc by @luytan in #36
- Feat/rework cardwire dbus by @luytan in #37
Next update will be two new modes:
smart mode (auto-allow games) and enforce mode (list-based block)
Full Changelog: v0.8.0...v0.9.0
v0.8.0
v0.7.2
What's Changed
- Flesh out "introduction" section of the docs by @Some-Otters in #25
- fix: unblocking gpu audio by @Tonguechaude in #33
- docs: Add usage section by @Some-Otters in #26
New Contributors
- @Some-Otters made their first contribution in #25
- @Tonguechaude made their first contribution in #33
Full Changelog: v0.7.1...v0.7.2
v0.7.1
What's Changed
- Fix infinite loop in chain pci blocking function
- Save mode after applying it, not before
Full Changelog: v0.7.0...v0.7.1