Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Управление скоростью вращения вентилятора NVIDIA  (Прочитано 5700 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн stan

  • Автор темы
  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Есть у меня AGP карточка GF 6600 GT у которой жутко шумит кулер. Решено исправить.
Метод 1:
$ nvclock --fanspeed auto -f
К сожалению на эту команда программа ругнулась и сказала, что эта карта не поддерживает такую фичу:
Error: This card doesn't support automatic fanspeed adjustments.

поэтому идём дальше,
Метод 2:
скрипт запускать можно после старта X/DE:
$ cat auto_fan.pl
#!/usr/bin/perl

use strict;
use warnings;

my $nextDown = time();

while(1) {
  my ($tempGPU, $speedFan) = (qx(nvclock -i) =~ /GPU temperature: (\d+)C.*Fanspeed: (\d+)/s);
  my $newSpeed = $tempGPU * 2 - 100;
  $newSpeed = 20 if($newSpeed < 20);
  $newSpeed = 100 if($newSpeed > 100);
#  print "GPU: $tempGPU°C   Board: $tempBoard°C   OldFan: $speedFan%   NewFan: $newSpeed\n";
  if($speedFan < $newSpeed) {
    system("nvclock -F $newSpeed -f > /dev/null");
  } else {
    if($nextDown < time()) {
      system("nvclock -F $newSpeed -f > /dev/null");
      $nextDown = time()+30;     
    }     
  }
  sleep(2);
}

Метод 3 (переписанный предыдущий вариант):
скрипт вешается на cron
crontab -e
*/1 * * * *      nice -n 18 /home/stan/bin/auto_nvidia_fan.py
$ cat auto_nvidia_fan.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

import os

command_result = os.popen("nvclock -i | grep 'Fanspeed\|GPU temperature'")
result = []
for row in command_result:
    result.append(row)

tempGPU = result[0].replace('GPU temperature: ', '').replace('C\n', '')
speedFan = result[1].replace('Fanspeed: ', '').replace('%\n', '')

newSpeed = int(tempGPU) * 2 - 90
if newSpeed < 20:
    newSpeed = 20

if newSpeed > 100:
    newSpeed = 100

if newSpeed != int(round(float(speedFan))):
    os.system('nvclock -F ' + str(newSpeed) + ' -f > /dev/null')

nice -n 18 означает запуск с пониженным приоритетом, иначе может в играх притормаживать.
3-й вариант я написал для того чтобы проверить быстрее ли он будет работать, чем perl скрипт и чтоб потренироваться в python, в итоге его и использую :)



Kubuntu

Оффлайн sasha7434

  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
ты залез в глубокую жопу,парень...неужели ты не понял,что линукс и корректная работа видео несовместимы...

Оффлайн stan

  • Автор темы
  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
не согласен. в винде это делалось тоже сторонней программой RivaTuner, и при чем тут корректность работы?   ???
Kubuntu

avial

  • Гость
ой радеоновцы пришли  :)     


stan   , а что делать мне ?    обладателю встроенной nvidia 8200  с пассивным охлаждением? может я тоже покрутить вентилятором хочу , 

Оффлайн Goury

  • Участник
  • *
  • Сообщений: 216
  • овц
    • Просмотр профиля
    • Russian Slayers Anime Community
avial, тебе обломиться
sasha7434, тебе тоже обломиться
stan, тебе http://images.yandex.ru/yandsearch?text=%D1%80%D0%B5%D0%BE%D0%B1%D0%B0%D1%81
1) сисадмин всегда прав<br />2) если сисадмин неправ - см пункт 1

Оффлайн stan

  • Автор темы
  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Goury , спасибо,  реобас хорошая штука, но мне пока не нужна,
а вот для avial в самый раз!  :coolsmiley:
Kubuntu

 

Страница сгенерирована за 0.06 секунд. Запросов: 25.