¿Es posible habilitar el control de brillo del software en Dell U2412M?


10

Bueno, solo quería esta simple pregunta de sí / no para el soporte de correo electrónico de Dell. Su sitio web requería un código de servicio para enviar un correo electrónico. Entonces probé su soporte técnico "chat". Alguna persona india respondió de manera extraña y finalmente respondió que no tenía conocimientos técnicos y solo me dio el enlace al correo electrónico de soporte (que ya probé)

Tengo un monitor Dell U2412M que tiene un DisplayPort y un puerto USB de enlace ascendente. He habilitado DDC / CI en el OSD. Estoy usando Windows 8, y el control de brillo en la barra de accesos está deshabilitado.

¿Es posible habilitarlo? Porque escuché que DDC / CI le permite a su computadora controlar su pantalla.

El estándar DDC / CI (Interfaz de comando) se introdujo en agosto de 1998. Especifica un medio para que una computadora envíe comandos al monitor, así como para recibir datos del sensor del monitor, a través de un enlace bidireccional. Los comandos específicos para controlar los monitores se definen en una versión estándar del Conjunto de comandos de control de monitoreo (MCCS), lanzado en septiembre de 1998.   Los monitores DDC / CI a veces se suministran con un sensor de color externo para permitir la calibración automática del balance de color del monitor. Algunos monitores DDC / CI de inclinación admiten una función de giro automático, donde un sensor de rotación en el monitor permite al sistema operativo mantener la pantalla en posición vertical cuando el monitor se mueve entre sus posiciones vertical y horizontal.   La mayoría de los monitores DDC / CI solo admiten un pequeño subconjunto de comandos MCCS y algunos tienen comandos no documentados. Muchos fabricantes no prestaron atención a DDC / CI en el pasado, pero ahora casi todos los monitores admiten comandos MCCS generales como: brillo y la gestión del contraste.


Para linux echa un vistazo ddcutil.com
cwd

Respuestas:



6

Tengo un Dell U2515H conectado a través de HDMI a una tarjeta nVidia.

Lo intenté softMCCS y funcionó bien. Pude ajustar el brillo de la luz de fondo del software.

Estos son los códigos de control que aparentemente soportan estos monitores:

New control value
Restore factory defaults
Restore luminance/contrast defaults
Restore color defaults
Luminance
Contrast
Select color preset
Red video gain
Green video gain
Blue video gain
Active control
Input source
Screen orientation
Horizontal frequency
Vertical frequency
Panel sub-pixel layout
Display technology type
Application enable key
Display controller type
Display firmware level
Power mode
Display application
VCP version
Manufacturer specific - 0xE0
Manufacturer specific - 0xE1
Manufacturer specific - 0xE2
Manufacturer specific - 0xF0
Manufacturer specific - 0xF1
Manufacturer specific - 0xF2
Manufacturer specific - 0xFD

También he evaluado algunas otras herramientas:

  • Regulador de intensidad - No atenúa la luz de fondo. Utiliza software falso oscurecimiento.
  • ScreenBright - Aparentemente utiliza DDC / CI para controlar la luz de fondo, pero se ha eliminado del sitio web del autor. No he intentado descargarlo de uno de esos sitios espejados.
  • Redshift - Falsea como Dimmer.

Editar: Resulta que hay una API fácil de usar para configurar el brillo de la pantalla en Windows. Aquí hay un código de ejemplo:

Monitor.h

#pragma once

#include <physicalmonitorenumerationapi.h>
#include <highlevelmonitorconfigurationapi.h>

#include <vector>

class Monitor
{
public:
    explicit Monitor(PHYSICAL_MONITOR pm);
    ~Monitor();

    bool brightnessSupported() const;

    int minimumBrightness() const;
    int maximumBrightness() const;
    int currentBrightness() const;

    void setCurrentBrightness(int b);
    // Set brightness from 0.0-1.0
    void setCurrentBrightnessFraction(double fraction);

private:
    bool mBrightnessSupported = false;

    int mMinimumBrightness = 0;
    int mMaximumBrightness = 0;
    int mCurrentBrightness = 0;
    PHYSICAL_MONITOR mPhysicalMonitor;
};

std::vector<Monitor> EnumerateMonitors();

Monitor.cpp

#include "stdafx.h"
#include "Monitor.h"

Monitor::Monitor(PHYSICAL_MONITOR pm) : mPhysicalMonitor(pm)
{
    DWORD dwMonitorCapabilities = 0;
    DWORD dwSupportedColorTemperatures = 0;
    BOOL bSuccess = GetMonitorCapabilities(mPhysicalMonitor.hPhysicalMonitor, &dwMonitorCapabilities, &dwSupportedColorTemperatures);

    if (bSuccess)
    {
        if (dwMonitorCapabilities & MC_CAPS_BRIGHTNESS)
        {
            // Get min and max brightness.
            DWORD dwMinimumBrightness = 0;
            DWORD dwMaximumBrightness = 0;
            DWORD dwCurrentBrightness = 0;
            bSuccess = GetMonitorBrightness(mPhysicalMonitor.hPhysicalMonitor, &dwMinimumBrightness, &dwCurrentBrightness, &dwMaximumBrightness);
            if (bSuccess)
            {
                mBrightnessSupported = true;
                mMinimumBrightness = dwMinimumBrightness;
                mMaximumBrightness = dwMaximumBrightness;
            }
        }
    }
}

Monitor::~Monitor()
{
}

bool Monitor::brightnessSupported() const
{
    return mBrightnessSupported;
}

int Monitor::minimumBrightness() const
{
    return mMinimumBrightness;
}

int Monitor::maximumBrightness() const
{
    return mMaximumBrightness;
}

int Monitor::currentBrightness() const
{
    if (!mBrightnessSupported)
        return -1;

    DWORD dwMinimumBrightness = 0;
    DWORD dwMaximumBrightness = 100;
    DWORD dwCurrentBrightness = 0;
    BOOL bSuccess = GetMonitorBrightness(mPhysicalMonitor.hPhysicalMonitor, &dwMinimumBrightness, &dwCurrentBrightness, &dwMaximumBrightness);
    if (bSuccess)
    {
        return dwCurrentBrightness;
    }
    return -1;
}

void Monitor::setCurrentBrightness(int b)
{
    if (!mBrightnessSupported)
        return;

    SetMonitorBrightness(mPhysicalMonitor.hPhysicalMonitor, b);
}

void Monitor::setCurrentBrightnessFraction(double fraction)
{
    if (!mBrightnessSupported)
        return;
    if (mMinimumBrightness >= mMaximumBrightness)
        return;
    setCurrentBrightness((mMaximumBrightness - mMinimumBrightness) * fraction + mMinimumBrightness);
}


BOOL CALLBACK MonitorEnumCallback(_In_ HMONITOR hMonitor, _In_ HDC hdcMonitor, _In_ LPRECT lprcMonitor, _In_ LPARAM dwData)
{
    std::vector<Monitor>* monitors = reinterpret_cast<std::vector<Monitor>*>(dwData);

    // Get the number of physical monitors.
    DWORD cPhysicalMonitors;
    BOOL bSuccess = GetNumberOfPhysicalMonitorsFromHMONITOR(hMonitor, &cPhysicalMonitors);

    LPPHYSICAL_MONITOR pPhysicalMonitors = NULL;
    if (bSuccess)
    {
        // Allocate the array of PHYSICAL_MONITOR structures.
        LPPHYSICAL_MONITOR pPhysicalMonitors = new PHYSICAL_MONITOR[cPhysicalMonitors];

        if (pPhysicalMonitors != NULL)
        {
            // Get the array.
            bSuccess = GetPhysicalMonitorsFromHMONITOR(hMonitor, cPhysicalMonitors, pPhysicalMonitors);

            // Use the monitor handles.
            for (unsigned int i = 0; i < cPhysicalMonitors; ++i)
            {
                monitors->push_back(Monitor(pPhysicalMonitors[i]));
            }
        }
    }
    // Return true to continue enumeration.
    return TRUE;
}

std::vector<Monitor> EnumerateMonitors()
{
    std::vector<Monitor> monitors;
    EnumDisplayMonitors(NULL, NULL, MonitorEnumCallback, reinterpret_cast<LPARAM>(&monitors));
    return monitors;
}

Utilizar de la manera obvia.


funciona en mi Philips BDM4065UC en DisplayPort usando softMCCS y realmente feliz por eso, gracias !!!!
Avlin

2

Es posible controlar la configuración del firmware y la configuración de los monitores compatibles con DDC / CI.

Dell proporciona un software de marca personalizada con el nombre de Administrador de pantalla de Dell , diseñado por EnTech Taiwan, para usar con sus monitores. Es principalmente una utilidad basada en GUI pero ofrece una capacidad de línea de comandos bastante completa. La versión actual es compatible con Windows Vista - Windows 10. Puede funcionar con pantallas de otros proveedores, pero eso no se ha confirmado.

La última versión del software se puede descargar directamente desde el sitio web oficial .


Administrador de pantalla de Dell

La siguiente información es un extracto del programa. Acerca de información y parte de la Léame.txt archivo que destaca la sintaxis de la línea de comandos.

Acerca de

Administrador de pantalla de Dell
Versión 1.27.0.1792
Copyright (c) 2007-2016, EnTech Taiwan.

Licenciado a Dell Inc.

Sitio web: http://www.entechtaiwan.com
Correo electrónico: dell.support@entechtaiwan.com

Lenguaje de comando

Un lenguaje de comando rico y flexible es compatible a través de   Los argumentos de línea de comando y línea de comando se pueden combinar.   Cuando sea apropiado, una pantalla específica puede ser dirigida por   precediendo el comando con el número de pantalla, por ejemplo, 2:AutoSetup; si no se especifica un número de pantalla, el   El comando se aplicará a la pantalla seleccionada actualmente.   o a todas las pantallas, según corresponda. Los comandos incluyen:

SetActiveInput [DVI2/HDMI/DP2,etc] - cambia la entrada activa
RestoreFactoryDefaults - Restaura los valores predeterminados de fábrica *
AutoSetup - ejecuta una configuración automática (solo analógica) *
RestoreLevelDefaults - Restaura los valores predeterminados de nivel *
RestoreColorDefaults - Restaura los valores predeterminados de color *
SetBrightnessLevel X - ajusta el brillo a X% (0-100) *
SetContrastLevel X - Ajusta el contraste a X% (0-100) *
SetNamedPreset [Movie/CAL1,etc] - cambia el modo Preset *
SetPowerMode [on/off] - establece el modo de potencia de pantalla *
SetOptimalResolution - cambia a resolución óptima
SaveProfile [Name] - guardar configuraciones en el perfil nombrado *
RestoreProfile [Name] - restaurar la configuración del perfil nombrado *
DeleteProfile [Name] - eliminar el perfil nombrado
SetGridType [X] - Cambia el tipo de cuadrícula de Easy Arrange a X
Rescan - Rescanes hardware de pantalla
ForceReset - Reconecta y resansa el hardware de visualización.
SetControl X Y - establece el control hexadecimal X al valor hexadecimal Y
IncControl X Y - aumenta el valor del control X en Y
DecControl X Y - disminuye el valor del control X en Y
Wait X - pausa X milisegundos
Exit - termina el programa

Algunos de estos comandos requieren familiaridad con el MCCS   estándar. Por ejemplo, en monitores que lo soportan, el   comando para cambiar el idioma OSD al español sería SetControl CC 0A; para desbloquear un OSD que ha sido   inadvertidamente bloqueado SetControl CA 02.

Las instrucciones se pueden combinar en la línea de comandos y   asignado a los accesos directos de Windows estándar con teclas de acceso directo opcionales.   Por ejemplo:

ddm.exe /RestoreLevelDefaults /2:SetContrastLevel 70

primero restauraría los valores predeterminados de nivel en todos los monitores, y luego   establezca el nivel de contraste en el monitor n. ° 2 al 70%.

Nota : Si no está dirigido a un monitor específico, los comandos enumerados   los que están etiquetados con un asterisco (*) se aplican a todos   Monitores para facilitar un control simple y uniforme sobre todos.   miembros de una matriz multi-monitor. Por ejemplo, si se ejecuta   en una matriz de 16 monitores idénticos, la línea de comando:

ddm.exe /SetNamedPreset Warm /SetBrightnessLevel 75

establecería los 16 monitores en el modo de preajuste cálido, con un   Nivel de brillo del 75%.


1

He estado usando el programa "mControl" que me funciona bien. Mi monitor es Dell U2312HM:

mControl convierte los arreglos de monitores simples y múltiples en dispositivos inteligentes programables que cambian dinámicamente la orientación, conservan la energía, cambian los perfiles de color y ajustan el brillo, eliminando la necesidad de aprender y navegar a través de menús oscuros utilizando botones arcaicos en la propia pantalla.

Para descargar este programa, debe encontrar la sección "Utilidades de gráficos y monitores" en la mitad inferior de la página http://www.ddc-ci.com/ y haga clic en el enlace "mControl" en la parte inferior de esa sección.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.