Commit Graph

8 Commits

Author SHA1 Message Date
Jokul 9e474de717 feat: GPU切换回退保护逻辑
- switchGpu切换前写入备份文件(.gpu-switch-backup)记录之前模式
- init()检测未确认的切换,启动30秒自动回退计时器
- QML弹出'显示是否正常'确认覆盖层,支持手动确认/回退/超时自动回退
- confirmSwitchSuccess()用户确认正常后删除备份
- restoreFromBackup()自动恢复之前模式并发送通知
- primeOffloadEnabled属性检测当前PRIME offload状态
- switchGpu改用environment.d方式,不需要root/pkexec
- 翻译更新:回退确认相关8条新增
2026-07-14 22:15:52 +08:00
Jokul 64408bf842 feat: GPU切换确认弹窗、按钮选中状态、文字对比度优化
- GPU切换按钮:核显厂商自动识别(AMD/Intel),当前模式高亮选中
- 切换确认覆盖层:15秒倒计时圆环,确认/取消按钮,超时自动取消
- 文字对比度提升:primaryText 0.95, secondaryText 0.8, tertiaryText 0.65
- 图表刻度文字 0.25->0.5,网格线 0.06->0.1
- 删除卡片内频率/功耗/风扇行,驱动名版本号两端对齐
- 卡片高度78,进度条宽度180,弹窗宽度480
- 翻译更新:切换确认相关8条新增
2026-07-14 21:50:35 +08:00
Jokul f7c6801793 feat: 设置窗口、合并温度趋势图、UI优化
- 新增设置窗口(右键打开):无边框毛玻璃风格,温度告警开关,QSettings持久化
- 合并温度趋势图:多GPU多色折线,图例,Y轴刻度,填充区域,最新温度标注
- 显卡排序:核显在前独显在后(std::stable_sort by boot_vga)
- 卡片优化:删除温度行和频率/功耗行,驱动名+版本两端对齐,高度压缩至78
- 弹窗优化:宽度480,右上角刷新图标替代底部按钮
- tooltip修复:删除自定义Rectangle tooltip改用标准ToolTip
- 翻译更新:设置/常规设置/温度告警/温度趋势等
2026-07-14 21:31:00 +08:00
Jokul 2570a028ea feat: 添加GPU频率/功耗/风扇监控、温度告警、趋势图、右键菜单、进程列表、GPU切换
第二、三阶段功能:

数据增强(第一阶段):
- GPU频率: NVIDIA nvidia-smi clocks.gr, Intel gt/gt0/rps_act_freq_mhz
- 显存频率: NVIDIA nvidia-smi clocks.mem
- 功耗: NVIDIA nvidia-smi power.draw, AMD hwmon power1_average
- 风扇转速: NVIDIA nvidia-smi fan.speed, AMD hwmon fan1_input
- 任务栏图标根据最高温度变色(≥80°C红/≥60°C橙)
- readGpuStats 每次刷新前重置统计字段,避免残留旧值

交互提升(第二阶段):
- 温度告警: GPU温度≥80°C时通过D-Bus发送桌面通知,30秒冷却
- 右键菜单: 使用Qt.labs.platform原生菜单+MenuHelper,支持刷新和GPU切换
- 迷你趋势图: Canvas绘制近60秒温度走势折线
- 英文翻译: 新增en.ts,23条全部翻译

高级功能(第三阶段):
- NVIDIA进程列表: nvidia-smi --query-compute-apps查询,弹框中显示进程名和显存占用
- GPU切换: pkexec prime-select set <mode>,弹框按钮+右键菜单,仅PRIME模式显示

其他改进:
- 自定义深色主题tooltip替代系统默认白色tooltip
- 第一张卡片tooltip显示在下方避免被裁剪
- CMakeLists.txt lupdate添加C++源文件提取tr()翻译
- gpuStats格式扩展为9字段: temp|gpuUsage|memUsage|memUsed|memTotal|gpuClock|memClock|powerDraw|fanSpeed
2026-07-14 17:32:46 +08:00
Jokul d5a2c380ab feat: 添加GPU切换模式检测和主副显标识
- C++后端:GpuInfo添加isPrimary字段,读取boot_vga判断主副显
- C++后端:detectGpuMode()检测PRIME/Bumblebee/Solo/Hybrid模式
- C++后端:新增gpuMode和gpuPrimary属性
- QML前端:卡片显示绿色主显标签(boot_vga=1的GPU)
- QML前端:弹窗显示GPU模式标签(PRIME等)和帮助图标
- 帮助图标悬停显示模式说明文字
- 翻译更新:主显/主顯 + 四种模式的中文说明
2026-07-14 00:19:56 +08:00
Jokul bc371fbac5 fix: 修复驱动检测与版本号显示
- 修复 driver 名称获取:使用 QFileInfo::symLinkTarget() 替代 QDir::dirName(),
  解决驱动名恒为 'driver' 的问题
- 添加开源内核驱动版本号支持:amdgpu/radeon/nouveau/i915 等显示内核版本
- 添加卡片 tooltip 三行信息(显卡/驱动/版本号)的翻译条目
2026-07-13 22:10:38 +08:00
Jokul b440fdf40a feat: 移除D-Bus依赖,改用 lspci 直接检测显卡,重构弹窗UI
- C++ 后端:移除 D-Bus 通信,改用 lspci -mm + /sys/bus/pci 直接检测显卡和驱动
- 新增 gpuSummary、ready 属性,通过 /sys/module 和 /proc/driver 读取驱动版本
- QML:使用 DTK 配色,卡片式布局展示 GPU 列表,每张显卡独立卡片
- 移除安装/测试/取消按钮,聚焦显卡信息展示
- 翻译精简为 5 条,同步 zh_CN / zh_TW
2026-07-13 21:14:12 +08:00
Jokul 63face00a7 feat: 添加国际化支持,适配系统语言
- CMakeLists.txt 添加 LinguistTools 翻译构建流程
- 添加 zh_CN 翻译文件(11 条)
- 构建时自动用 lrelease 编译 .ts 到 .qm
- .qm 文件安装到 translations/ 目录,dde-shell 自动加载
- 添加 update_translations 目标用于手动更新翻译源文件
- .gitignore 忽略 .qm 编译产物
2026-07-13 20:31:06 +08:00