feat: GPU切换回退保护逻辑

- switchGpu切换前写入备份文件(.gpu-switch-backup)记录之前模式
- init()检测未确认的切换,启动30秒自动回退计时器
- QML弹出'显示是否正常'确认覆盖层,支持手动确认/回退/超时自动回退
- confirmSwitchSuccess()用户确认正常后删除备份
- restoreFromBackup()自动恢复之前模式并发送通知
- primeOffloadEnabled属性检测当前PRIME offload状态
- switchGpu改用environment.d方式,不需要root/pkexec
- 翻译更新:回退确认相关8条新增
This commit is contained in:
2026-07-14 22:15:52 +08:00
parent 64408bf842
commit 9e474de717
5 changed files with 349 additions and 11 deletions
@@ -193,5 +193,45 @@
<source>Integrated</source>
<translation></translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Display OK?</source>
<translation></translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>GPU mode was changed. If display is abnormal, it will auto-revert in %1s.</source>
<translation>GPU %1 退</translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Revert</source>
<translation>退</translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Display OK</source>
<translation></translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>GPU Mode Switched</source>
<translation>GPU </translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Switched to %1 mode. Please re-login to take effect.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>GPU Mode Restored</source>
<translation>GPU </translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Reverted to %1 mode. Please re-login to take effect.</source>
<translation> %1 </translation>
</message>
</context>
</TS>
@@ -193,5 +193,45 @@
<source>Integrated</source>
<translation></translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Display OK?</source>
<translation></translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>GPU mode was changed. If display is abnormal, it will auto-revert in %1s.</source>
<translation>GPU %1 退</translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Revert</source>
<translation>退</translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Display OK</source>
<translation></translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>GPU Mode Switched</source>
<translation>GPU </translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Switched to %1 mode. Please re-login to take effect.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>GPU Mode Restored</source>
<translation>GPU </translation>
</message>
<message>
<location filename="../package/driverview.qml"/>
<source>Reverted to %1 mode. Please re-login to take effect.</source>
<translation> %1 </translation>
</message>
</context>
</TS>