Class: Knj::Nvidia_settings
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Class Method Summary collapse
Instance Method Summary collapse
- #extra_args ⇒ Object
-
#initialize(data = {}) ⇒ Nvidia_settings
constructor
A new instance of Nvidia_settings.
- #power_mizer_mode=(newval) ⇒ Object
Constructor Details
#initialize(data = {}) ⇒ Nvidia_settings
Returns a new instance of Nvidia_settings.
4 5 6 7 8 9 10 |
# File 'lib/knj/nvidia_settings.rb', line 4 def initialize(data = {}) @data = data @power_mizer_modes = { "adaptive" => 0, "performance" => 1 } end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
2 3 4 |
# File 'lib/knj/nvidia_settings.rb', line 2 def data @data end |
Class Method Details
.list(args = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/knj/nvidia_settings.rb', line 12 def self.list(args = {}) res = Knj::Os.shellcmd("nvidia-settings -q gpus") ret = [] res.scan(/\[gpu:(\d+)\]/) do |gpu| ret << Knj::Nvidia_settings.new(args.merge({ "gpu_no" => gpu[0] })) end return ret end |
Instance Method Details
#extra_args ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/knj/nvidia_settings.rb', line 36 def extra_args str = "" if @data["display"] str << " --display #{@data["display"]}" end return str end |
#power_mizer_mode=(newval) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/knj/nvidia_settings.rb', line 25 def power_mizer_mode=(newval) raise "No such power-mizer-mode." if @power_mizer_modes[newval] == nil cmd = "nvidia-settings -a [gpu:#{@data["gpu_no"]}]/GPUPowerMizerMode=#{@power_mizer_modes[newval]}" res = Knj::Os.shellcmd(cmd) if res.index("assigned value") == nil raise res.strip end end |