mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
Merge branch 'dev'
This commit is contained in:
commit
21a4a0895a
@ -92,6 +92,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->fanSlider->setDisabled(true);
|
ui->fanSlider->setDisabled(true);
|
||||||
ui->fanSpinBox->setDisabled(true);
|
ui->fanSpinBox->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nv->GPUList[currentGPUIndex].manualFanCtrlAvailable) {
|
if (!nv->GPUList[currentGPUIndex].manualFanCtrlAvailable) {
|
||||||
// If manual fan control is not available for the GPU, disable the option
|
// If manual fan control is not available for the GPU, disable the option
|
||||||
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->fanModeComboBox->model());
|
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->fanModeComboBox->model());
|
||||||
@ -603,6 +604,8 @@ void MainWindow::fanSpeedUpdater()
|
|||||||
void MainWindow::tempUpdater()
|
void MainWindow::tempUpdater()
|
||||||
{
|
{
|
||||||
nv->queryGPUTemp(currentGPUIndex);
|
nv->queryGPUTemp(currentGPUIndex);
|
||||||
|
qDebug() << "updating temp";
|
||||||
|
qDebug() << xCurvePoints << yCurvePoints;
|
||||||
if (xCurvePoints.size() != 0) {
|
if (xCurvePoints.size() != 0) {
|
||||||
generateFanPoint();
|
generateFanPoint();
|
||||||
}
|
}
|
||||||
@ -789,6 +792,7 @@ void MainWindow::applyGPUSettings()
|
|||||||
connect(fanUpdateTimer, SIGNAL(timeout()), this, SLOT(tempUpdater()));
|
connect(fanUpdateTimer, SIGNAL(timeout()), this, SLOT(tempUpdater()));
|
||||||
ui->fanSlider->setEnabled(false);
|
ui->fanSlider->setEnabled(false);
|
||||||
ui->fanSpinBox->setEnabled(false);
|
ui->fanSpinBox->setEnabled(false);
|
||||||
|
fanUpdateTimer->start(2000);
|
||||||
settings.setValue("fanControlMode", 2);
|
settings.setValue("fanControlMode", 2);
|
||||||
} else {
|
} else {
|
||||||
errorText.append("- Fan mode");
|
errorText.append("- Fan mode");
|
||||||
@ -932,15 +936,15 @@ void MainWindow::generateFanPoint()
|
|||||||
// Calculate the value for fan speed based on temperature
|
// Calculate the value for fan speed based on temperature
|
||||||
// First check if the fan speed should be y[0] or y[final]
|
// First check if the fan speed should be y[0] or y[final]
|
||||||
int index = 0;
|
int index = 0;
|
||||||
if (temp <= xCurvePoints[0]) {
|
if (nv->GPUList[currentGPUIndex].temp <= xCurvePoints[0]) {
|
||||||
targetFanSpeed = yCurvePoints[0];
|
targetFanSpeed = yCurvePoints[0];
|
||||||
}
|
}
|
||||||
if (temp >= xCurvePoints[xCurvePoints.size()-1]) {
|
else if (nv->GPUList[currentGPUIndex].temp >= xCurvePoints[xCurvePoints.size()-1]) {
|
||||||
targetFanSpeed = yCurvePoints[yCurvePoints.size()-1];
|
targetFanSpeed = yCurvePoints[yCurvePoints.size()-1];
|
||||||
} else {
|
} else {
|
||||||
// Get the index of the leftmost point of the interpolated interval by comparing it to temperature
|
// Get the index of the leftmost point of the interpolated interval by comparing it to temperature
|
||||||
for (int i=0; i<xCurvePoints.size(); i++) {
|
for (int i=0; i<xCurvePoints.size(); i++) {
|
||||||
if (temp >= xCurvePoints[i] && temp <= xCurvePoints[i+1]) {
|
if (nv->GPUList[currentGPUIndex].temp >= xCurvePoints[i] && nv->GPUList[currentGPUIndex].temp <= xCurvePoints[i+1]) {
|
||||||
index = i;
|
index = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -949,10 +953,10 @@ void MainWindow::generateFanPoint()
|
|||||||
if (xCurvePoints[index] - xCurvePoints[index + 1] == 0) {
|
if (xCurvePoints[index] - xCurvePoints[index + 1] == 0) {
|
||||||
targetFanSpeed = yCurvePoints[index+1];
|
targetFanSpeed = yCurvePoints[index+1];
|
||||||
} else {
|
} else {
|
||||||
targetFanSpeed = (((yCurvePoints[index + 1] - yCurvePoints[index]) * (temp - xCurvePoints[index])) / (xCurvePoints[index + 1] - xCurvePoints[index])) + yCurvePoints[index];
|
targetFanSpeed = (((yCurvePoints[index + 1] - yCurvePoints[index]) * (nv->GPUList[currentGPUIndex].temp - xCurvePoints[index])) / (xCurvePoints[index + 1] - xCurvePoints[index])) + yCurvePoints[index];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
qDebug() << "target fan speed is" << targetFanSpeed;
|
||||||
nv->assignGPUFanSpeed(currentGPUIndex, targetFanSpeed);
|
nv->assignGPUFanSpeed(currentGPUIndex, targetFanSpeed);
|
||||||
}
|
}
|
||||||
void MainWindow::on_frequencySlider_valueChanged(int value)
|
void MainWindow::on_frequencySlider_valueChanged(int value)
|
||||||
|
12
nvidia.cpp
12
nvidia.cpp
@ -171,17 +171,6 @@ void nvidia::queryGPUFeatures()
|
|||||||
&GPUList[i].totalVRAM);
|
&GPUList[i].totalVRAM);
|
||||||
qDebug() << GPUList[i].totalVRAM << "vram";
|
qDebug() << GPUList[i].totalVRAM << "vram";
|
||||||
}
|
}
|
||||||
|
|
||||||
//queryGPUVoltage(0);
|
|
||||||
//queryGPUTemp(0);
|
|
||||||
//queryGPUFrequencies(0);
|
|
||||||
//queryGPUFanSpeed(0);
|
|
||||||
//queryGPUUsedVRAM(0);
|
|
||||||
//assignGPUFanSpeed(0, 60);
|
|
||||||
//assignGPUFreqOffset(0, 10);
|
|
||||||
//assignGPUMemClockOffset(0, 10);
|
|
||||||
//assignGPUVoltageOffset(0, 5000);
|
|
||||||
//assignGPUFanCtlMode(0, NV_CTRL_GPU_COOLER_MANUAL_CONTROL_TRUE);
|
|
||||||
}
|
}
|
||||||
void nvidia::queryGPUVoltage(int GPUIndex)
|
void nvidia::queryGPUVoltage(int GPUIndex)
|
||||||
{
|
{
|
||||||
@ -241,7 +230,6 @@ void nvidia::queryGPUFanSpeed(int GPUIndex)
|
|||||||
NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL,
|
NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL,
|
||||||
&GPUList[GPUIndex].fanSpeed);
|
&GPUList[GPUIndex].fanSpeed);
|
||||||
|
|
||||||
//qDebug() << GPUList[GPUIndex].fanSpeed;
|
|
||||||
}
|
}
|
||||||
void nvidia::queryGPUUsedVRAM(int GPUIndex)
|
void nvidia::queryGPUUsedVRAM(int GPUIndex)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user