128 lines
4.3 KiB
Markdown
128 lines
4.3 KiB
Markdown
# 显卡切换任务栏插件
|
|
|
|
Deepin显卡驱动管理任务栏插件,集成到DDE Shell任务栏中,提供显卡设备检测、驱动安装和切换功能。
|
|
|
|
## 功能特性
|
|
|
|
- 自动检测系统显卡设备
|
|
- 显示当前安装的驱动版本
|
|
- 列出可用的驱动版本
|
|
- 一键切换显卡驱动
|
|
- 实时显示安装进度
|
|
- 安装完成后提示重启
|
|
|
|
## 依赖项
|
|
|
|
- Qt6 >= 6.0
|
|
- Dtk6 Core
|
|
- deepin-graphics-driver-manager(运行时依赖)
|
|
|
|
## 构建
|
|
|
|
```bash
|
|
# 安装构建依赖
|
|
sudo apt install -y cmake g++ qt6-base-dev qt6-tools-dev libdtk6core-dev
|
|
|
|
# 构建项目
|
|
cmake -Bbuild
|
|
cmake --build build
|
|
```
|
|
|
|
## 安装
|
|
|
|
```bash
|
|
# 安装插件到系统(deepin v25需关闭磐石)
|
|
sudo cmake --install build
|
|
|
|
# 重启任务栏加载插件
|
|
systemctl --user restart dde-shell@DDE
|
|
```
|
|
|
|
或者注销并重新登录。
|
|
|
|
## 卸载
|
|
|
|
```bash
|
|
# 卸载插件
|
|
sudo rm -f /usr/lib/x86_64-linux-gnu/dde-shell/libdde-graphics-driver.so
|
|
sudo rm -rf /usr/lib/x86_64-linux-gnu/dde-shell/org.deepin.ds.graphics-driver
|
|
|
|
# 重启任务栏
|
|
systemctl --user restart dde-shell@DDE
|
|
```
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
├── package/
|
|
│ ├── metadata.json # 插件元数据
|
|
│ └── driverview.qml # QML界面
|
|
├── graphicsdriverapplet.h # 主插件类头文件
|
|
├── graphicsdriverapplet.cpp # 主插件类实现
|
|
├── gpuindicator.h # GPU指示器类头文件
|
|
├── gpuindicator.cpp # GPU指示器类实现
|
|
├── debian/ # Debian打包文件
|
|
├── CMakeLists.txt # 构建配置
|
|
└── README.md # 项目说明
|
|
```
|
|
|
|
## 技术实现
|
|
|
|
### 架构设计
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────┐
|
|
│ DDE Shell Taskbar │
|
|
├─────────────────────────────────────────────────────────┤
|
|
│ dde-graphics-driver-applet │
|
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
│ │ GPU检测模块 │ │ 驱动管理 │ │ UI界面 │ │
|
|
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
├─────────────────────────────────────────────────────────┤
|
|
│ D-Bus Interface │
|
|
│ com.deepin.daemon.GraphicsDriver │
|
|
├─────────────────────────────────────────────────────────┤
|
|
│ deepin-graphics-driver-manager │
|
|
│ (现有的驱动管理服务,无需修改) │
|
|
└─────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### D-Bus接口
|
|
|
|
插件通过D-Bus与deepin-graphics-driver-manager服务通信:
|
|
|
|
- `GetDevice()` - 获取显卡设备信息
|
|
- `GetCurrDriverName()` - 获取当前驱动名称
|
|
- `GetNewDriverName()` - 获取推荐驱动名称
|
|
- `PrepareInstall(name, language)` - 准备安装驱动
|
|
- `TestInstall()` - 测试安装
|
|
- `RealInstall()` - 实际安装
|
|
- `CancelInstall()` - 取消安装
|
|
|
|
### 信号
|
|
|
|
- `ReportProgress(ratio)` - 安装进度报告
|
|
- `Cancel()` - 安装取消通知
|
|
|
|
## 使用说明
|
|
|
|
1. 插件安装后会自动加载到任务栏
|
|
2. 点击任务栏图标打开驱动管理界面
|
|
3. 查看当前显卡设备和驱动信息
|
|
4. 选择要切换的驱动版本
|
|
5. 确认后开始安装过程
|
|
6. 安装完成后选择重启系统
|
|
|
|
## 许可证
|
|
|
|
GPL-3.0-or-later
|
|
|
|
## 贡献
|
|
|
|
欢迎提交Issue和Pull Request。
|
|
|
|
## 相关项目
|
|
|
|
- [dde-shell](https://github.com/linuxdeepin/dde-shell) - Deepin Shell插件系统
|
|
- [deepin-graphics-driver-manager](https://github.com/linuxdeepin/deepin-graphics-driver-manager) - 显卡驱动管理器
|