
UNSOLVED
A
AndrewShark
2 Posts
0
5867
March 26th, 2021 12:00
DDM, Linux, standard command to switch Preset Modes
Hello.
I am trying to get the ability to switch Preset Modes with ddcutil under linux.
In ddm.exe there is such a command for this purpose (described in readme):
SetNamedPreset [Movie/CAL1,etc] - changes the Preset mode*
Also, there is a generic control command there:
SetControl X Y - sets hex control X to hex value Y
Can you please tell how that SetNamedPreset may be invoked via a standard SetControl X Y commands?
In ddcutil/ddcui I can see 0xdc (Display Mode) control and it works normally (i.e. the monitor changes its brightness and color when I change a value). But it does not contain all modes that are in dell menu, it only contains this:
Feature: DC (Display Mode)
Values:
00: Standard/Default mode
02: Mixed
03: Movie
05: Games
(I think they are just standard for all monitors, but I may be wrong). Seems like ddm uses another feature that is 0xe2. This is from ddcutil capabilities scanning output for P2217H:
Feature: 0xe2 (Manufacturer Specific)
Values:
0x00: No lookup table
0x1d: No lookup table
0x01: No lookup table
0x02: No lookup table
0x04: No lookup table
0x0e: No lookup table
0x12: No lookup table
0x14: No lookup table
When I switch a Preset Mode manually via physical buttons on the monitor (they are called Standard, ComfortView, Multimedia, Movie, Game, Warm, Cool, Custom Color), and then read the value of that control (0xe2) with ddcutil getvcp, I can see that it changes:
# ddcutil getvcp e2
VCP code 0xe2 (Manufacturer Specific): mh=0x00, ml=0xff, sh=0x00, sl=0x 1d
# ddcutil getvcp e2
VCP code 0xe2 (Manufacturer Specific): mh=0x00, ml=0xff, sh=0x00, sl=0x 01
VCP code 0xe2 (Manufacturer Specific): mh=0x00, ml=0xff, sh=0x00, sl=0x 1d
# ddcutil getvcp e2
VCP code 0xe2 (Manufacturer Specific): mh=0x00, ml=0xff, sh=0x00, sl=0x 01
But I am unable to change it via ddcutil setvcp:
# ddcutil setvcp e2 x1d
Verification failed for feature e2
Verification failed for feature e2
Can you please tell how that SetNamedPreset may be invoked via a standard SetControl X Y commands to get effectively the same result?
So when I know that, I could just do the same via ddcutil in linux.
Thanks.
Responses (0)
Solutions (0)
