feat: 添加GPU切换模式检测和主副显标识
- C++后端:GpuInfo添加isPrimary字段,读取boot_vga判断主副显 - C++后端:detectGpuMode()检测PRIME/Bumblebee/Solo/Hybrid模式 - C++后端:新增gpuMode和gpuPrimary属性 - QML前端:卡片显示绿色主显标签(boot_vga=1的GPU) - QML前端:弹窗显示GPU模式标签(PRIME等)和帮助图标 - 帮助图标悬停显示模式说明文字 - 翻译更新:主显/主顯 + 四种模式的中文说明
This commit is contained in:
@@ -18,6 +18,7 @@ struct GpuInfo {
|
||||
QString driverVersion; // 驱动版本
|
||||
QString pciId; // PCI ID,如 "01:00.0"
|
||||
int drmCard; // DRM 卡号,如 0, 1(-1 表示未找到)
|
||||
bool isPrimary; // 是否为主显卡(boot_vga=1)
|
||||
|
||||
// 实时统计
|
||||
int temperature; // 温度 (°C),-1 表示不可用
|
||||
@@ -35,6 +36,8 @@ class GraphicsDriverApplet : public DApplet
|
||||
Q_PROPERTY(QString currentDriver READ currentDriver NOTIFY currentDriverChanged)
|
||||
Q_PROPERTY(QString gpuSummary READ gpuSummary NOTIFY gpuSummaryChanged)
|
||||
Q_PROPERTY(QStringList gpuStats READ gpuStats NOTIFY gpuStatsChanged)
|
||||
Q_PROPERTY(QString gpuMode READ gpuMode NOTIFY gpuModeChanged)
|
||||
Q_PROPERTY(QStringList gpuPrimary READ gpuPrimary NOTIFY gpuPrimaryChanged)
|
||||
Q_PROPERTY(bool ready READ ready NOTIFY readyChanged)
|
||||
|
||||
public:
|
||||
@@ -48,6 +51,8 @@ public:
|
||||
QString currentDriver() const;
|
||||
QString gpuSummary() const;
|
||||
QStringList gpuStats() const;
|
||||
QString gpuMode() const;
|
||||
QStringList gpuPrimary() const;
|
||||
bool ready() const;
|
||||
|
||||
Q_INVOKABLE void refreshDeviceInfo();
|
||||
@@ -58,11 +63,14 @@ signals:
|
||||
void currentDriverChanged();
|
||||
void gpuSummaryChanged();
|
||||
void gpuStatsChanged();
|
||||
void gpuModeChanged();
|
||||
void gpuPrimaryChanged();
|
||||
void readyChanged();
|
||||
|
||||
private:
|
||||
void detectGpus();
|
||||
void readGpuStats();
|
||||
void detectGpuMode();
|
||||
static int findDrmCard(const QString &pciId);
|
||||
static QStringList runCommand(const QString &cmd, const QStringList &args);
|
||||
static QString parseGpuName(const QString &line);
|
||||
@@ -73,6 +81,8 @@ private:
|
||||
QString m_currentDriver;
|
||||
QString m_gpuSummary;
|
||||
QStringList m_gpuStats;
|
||||
QString m_gpuMode;
|
||||
QStringList m_gpuPrimary;
|
||||
bool m_ready;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user