GNU General Public License v3.0

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

项目背景与痛点

在 Linux 平台上,对于 Dell G 系列笔记本的使用者而言,Alienware Command Centre 无疑是 Windows 上的独门利器,能够方便地进行设备管理、系统监控以及性能优化。然而,随着越来越多的开发者和专业人士转向 Linux 主机,这样的便利性需求并没有减弱。“tr1xem/AWCC” 正是瞄准了这一需求,为 Dell G 系列笔记本提供了一款类似 Alienware Command Centre 的第三方替代方案。这不仅填补了生态空白,也让 Linux 用户充分享受到了个性化的设备管理和监控体验。

核心技术揭秘

“tr1xem/AWCC” 项目在其技术栈的选择与实现上展示了深厚的技术功底。项目采用了 Python 作为主要开发语言,得益于其丰富的库支持和跨平台能力,实现了设备状态查询以及系统配置的修改功能。为了提高软件的可维护性和扩展性,它采用了模块化的分层设计。

架构图:

graph TD A[用户界面(UI)] --> B[API/工具] B --> C[硬件/系统交互] C --> D{"状态检测"} D -->|"成功"| E[状态数据] D -->|"异常"| F[错误处理] E --> G[监控反馈] F --> G

硬件/系统交互层主要利用了 Python 的 psutil、i3ipc 等库进行底层操作,而状态检测模块则根据对系统状态的精确监控,将获取的数据反馈给用户界面,从而让用户能够直观地了解系统状态。

功能亮点与差异

对比同类竞品,“tr1xem/AWCC” 在功能上展现出了明显的独特性。它不仅提供了设备状态的实时监控,还支持了系统参数的灵活调整,如频率调控与风扇转速等,让用户体验到了深度定制的可能性。此外,相比于其他工具可能存在的功能单一或用户体验差,“tr1xem/AWCC” 力图提供一个完整的解决方案,包括了图形化界面、自动化监测及脚本扩展等功能,极大地提升了可操作性和便捷性。

在技术实现上,“tr1xem/AWCC” 不仅保证了功能性,还在交互设计上投入了大量精力,力求提供流畅且直观的使用体验。

应用场景与落地建议

使用 “tr1xem/AWCC” 时需要注意,尽管它提供了一套相对完整的解决方案,但仍处于社区维护阶段,稳定性可能不如原厂工具。开发者和专业人士在生产环境中使用时,建议结合个人具体需求进行详细评估与测试,确保其满足业务场景下的性能和稳定性要求。

针对用户而言,这款工具更适合那些追求性能极致的游戏玩家以及需要细粒度监控及调整需求的专业用途,比如开发、大数据处理等场景。

综合评价

“tr1xem/AWCC” 通过其模块化的设计、强大的功能支持和直观的用户界面,满足了 Linux 平台上 Dell G 系列笔记本用户对于设备管理和监控的需求。其开源的特性保证了透明性与可定制性,同时也依赖于社区的持续贡献以保持更新与改进。在高度定制化的需求下,“tr1xem/AWCC” 展现出了优秀的潜力,但仍需要在稳定性与性能优化方面进一步提升,以应对更广泛的实际应用环境。

关于

GitHub 原始描述(英文)

An unofficial alternative to Alienware Command Centre of Windows for the Dell G series on linux

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

C
C++
CMake
Nix
Shell

Release

README

AWCC for Alienware & Dell G series devices 🚀

Build and Upload

AWCC* is an unofficial alternative to Alienware Command Centre of Windows for the Alienware Series Device on Linux, supporting almost all features that the Windows version supports, including custom fan controls, light effects, g-mode, and autoboost.

*This project is not affiliated with, endorsed, sponsored, or produced by Dell. It is simply my personal contribution and hobby aimed at improving the Linux experience on Dell laptops.

🎮 Discord community for support and feedback :

Discord


[!NOTE] For lights and other light device that comes under dell (including everything like keyboard,mouse,monitors etc) try AlienFX it would have a gui interface in awcc itself

✨ Features

  • 🖥️ GUI and CLI support
  • ⚡ Lightweight (uses around ~88mb of RAM with GUI open, else 4mb RAM while running in background)
  • 🌈 All Light Effects
  • 🧑‍💻 Daemon Support (no sudo needed if daemon is running)
  • 🎮 GMode and Light Key autobinding just like Windows
  • 🔥 Supports All modes that your device has
  • 💻 Supports all of Alienware device in including keyboard,mouse,monitors etc
  • 🕵️ *No Telemetry and Open Source
  • 📈 Custom Fan Curve (Soon)

📸 Screenshots

AWCC


🛠️ Building And Installation

🗿 For Arch-Based Distros
paru -S awcc-bin

🛠️ Manual Installation

Dependencies :

  • acpi_call-dkms (Most important)
  • libx11
  • libgl or libglvnd

Make Dependencies :

Note 注意

Can be removed after installing

  • cmake
  • ninja
  • meson
🗿 For NixOS

Add flake input in your config:

awcc = {
  url = "github:tr1xem/AWCC";
  inputs.nixpkgs.follows = "nixpkgs";
}

Then, import awcc.nixosModules.default anywhere in your config and add acpi_call as kernel module.

Example flake part awcc.nix setup:

{ ... }: {
  flake.modules.nixos."system.awcc" = { inputs, config, pkgs, ... }: {
    imports = [ inputs.awcc.nixosModules.default ];
    boot.kernelModules = [ "acpi_call" ];
    boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];
  };
}

OR if you are a debianoid

sudo apt-get install acpi-call-dkms git meson ninja-build cmake libx11-dev libgl-dev pkgconf g++-13 libxkbcommon-dev libglfw3 libudev-dev pkexec libwayland-bin libwayland-dev libxrandr-dev libxinerama-dev libcursor-dev libxi-dev
git clone https://github.com/tr1xem/AWCC
cd AWCC && mkdir build/
cd build && cmake .. -G Ninja
sudo ninja install

Then enable the awccd.service using :

sudo systemctl enable --now awccd.service

Reload udev rules using

sudo udevadm control --reload-rules
sudo udevadm trigger

Load ACPI module using

sudo modprobe acpi_call

[!TIP] Do echo acpi_call | sudo tee /etc/modules-load.d/acpi_call.conf to make acpi_call module auto load on startup so u dont have to type modprobe command everytime

Frequently Asked Questions

  • Auto enable gmode on game launch?

Install gamemode using your package manager

To autostart the gmode profile on game launch add following changes to: /etc/gamemode.ini

[custom]
start=/usr/bin/awcc g
end=/usr/bin/awcc b
script_timeout=3

and now edit game’s launch command to use gamemode gamemoderun ./game (or gamemoderun %command% if you are using steam) and it would autotoggle gmode on starting a game

Support and Feedback

Need support or want this project to support your device ? Join our Discord community or open a Github Discussion

Device Tested

Devices tested:
  • G7 7700
  • G7 7500
  • G5 5590
  • G5 5505
  • G3 3590
  • Dell G16 7630
  • Dell G16 7620
  • Dell G15 Special Edition 5521
  • Dell G15 5535
  • Dell G15 5530
  • Dell G15 5525
  • Dell G15 5520
  • Dell G15 5515
  • Dell G15 5511
  • Dell G15 5510
  • Alienware x17 R2
  • Alienware x17 R1
  • Alienware x16 R2
  • Alienware x15 R2
  • Alienware x14 R2
  • Alienware x14
  • Alienware m18 R2
  • Alienware m18 R1 AMD
  • Alienware m18 R1
  • Alienware m17 R5 AMD
  • Alienware m17 R2
  • Alienware m16 R2
  • Alienware m16 R1 AMD
  • Alienware m16 R1
  • Alienware m15 Ryzen Ed. R5
  • Alienware m15 R7 AMD
  • Alienware m15 R7
  • Alienware m15 R6
  • Alienware m15 R4
  • Alienware m15 R3
  • Alienware m15
  • Alienware Aurora Ryzen Edition
  • Alienware Aurora R9
  • Alienware Aurora R7
  • Alienware Aurora R16
  • Alienware Aurora R15
  • Alienware Aurora R12
  • Alienware Aurora R11
  • Alienware Aurora ACT1250
  • Alienware Area-51m R2
  • Alienware Area-51m
  • Alienware Area-51 AAT2250
  • Alienware 18 Area-51 AA18250
  • Alienware 17 R5
  • Alienware 16X Aurora AC16251
  • Alienware 16 Aurora AC16251
  • Alienware 16 Aurora AC16250
  • Alienware 16 Area-51 AA16250

🗺️ Roadmap

  • ♨️ Rewrite Thermal Core of AWCC in C++ with minimal API changes
  • 💡 Rewrite LightFX Core of AWCC in C++ with minimal API changes
  • 🖥️ CLI Mode
  • 📦 install script
  • 🖼️ GUI - Using Dear ImGui and some visuals from Windows version
  • 🧩 Auto Zone identify using libusb and Alien FX Sdk (New GUI)
  • 📊 Fan Curve for AutoBoost (New GUI)
  • 🖲️ Improved DMI and Normal Device Detection
  • 🧠 Better ACPI Executions with fallback and functions like executeacip(0x2, 0x0, 0x0, 0x0)
  • 🕹️ Support for Legacy USTT modes
  • 📝 JSON Config file and parsing
  • ⌨️ Grab Unmark keys directly from daemon using evdev
  • 👾 Other Zones like head and support for Alienware - Low Priority (https://github.com/tr1xem/alienfx-linux/tree/main/AlienFX-SDK)
  • 🐞 Verbose and Debug Mode
  • New backend for thermal mode (https://github.com/tr1xem/alienfx-linux/tree/main/AlienFan-SDK)

🙏 Credits

“Intelligence is the ability to avoid doing work, yet getting the work done.” ~Linus Torvalds

评论

暂无评论