Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iiyama fails verify, needs "ddcutil scs" to apply settings #136

Open
ranma opened this issue Aug 2, 2020 · 9 comments
Open

iiyama fails verify, needs "ddcutil scs" to apply settings #136

ranma opened this issue Aug 2, 2020 · 9 comments
Labels
enhancement iiyama monitor specific problems with particular monitors

Comments

@ranma
Copy link

ranma commented Aug 2, 2020

I recently got a new iiyama Monitor (XUB2792QSU-B1) and was initially frustrated that ddcutil seemed to be only able to read the settings, but not set them.

interrogate.txt

After some trial and error I found that some settings worked (e.g. "Feature: 04 (Restore factory defaults)" and "Feature: 60 (Input Source)").

Finally I stumbled across this comment: #32 (comment)

And it turns out that for this monitor "ddcutil scs" is needed to apply most settings.
Additionally I also need to set "--noverify" since otherwise I get an error on the setvcp call:
(ddc_write_read_with_retry) Display_Handle[i2c: fh=3, busno=1], ddc_write_read() succeeded after 1 sleep and retry for DDC Null Response
Verification failed for feature 10

It would be nice if this could be auto-detected.

Lastly, in case someone finds this useful:
The service menu on this monitor can be entered by holding all buttons except "<" while powering on, then the INPUT button will bring up the (minimal) service menu, allowing to enable/disable a burn-in mode and also to reprogram the color temperature preset RGB values.

@rockowitz
Copy link
Owner

rockowitz commented Aug 3, 2020 via email

@ranma
Copy link
Author

ranma commented Aug 8, 2020

What is doable is a command line option named something like "--setvcp-requires-scs" to indicate that a Save Current Settings
request should be sent after setting a feature value Would this satisfy your needs?

Well for my purposes I can just use "ddcutil --noverify setvcp $reg $data && ddcutil scs", so no new option is necessary. There would indeed be need for some sort of quirks table to make this automatic.

I see that there are 2 connections to the monitor, a DisplayPort connection with I2C device /dev/i2c-1 and a DVI connection with I2C device /dev/i2c-3. Do you experience the same problem on both connections? Why are there 2 connections?

For debugging I was trying out both, they behave the same.

Both amdgpu and the older radeon driver are loaded. Is this intentional?

I just upgraded the GPU, the previous one used the radeon driver, so I currently have both compiled into the kernel.

But this monitor gives no indication that a feature is unsupported.

At least all commands reported by "ddcutil capabilities" seem to work, I haven't tried any of the unsupported ones.

@rockowitz rockowitz added enhancement monitor specific problems with particular monitors labels Oct 8, 2020
@Tom-Brouwer
Copy link

Tom-Brouwer commented Oct 23, 2020

@rockowitz I came across this issue because I also had trouble using ddcutil on a Iiyama display (XUB2492HSU), so perhaps it's not as rare as it may seem. Just to confirm, if I do ddcutil setvcp 10 50 --bus=0, I get:

(ddc_write_read_with_retry) Display_Handle[i2c: fh=3, busno=0], ddc_write_read() succeeded after 1 sleep and retry for DDC Null Response
Verification failed for feature 10

and nothing happens. As said above, when I use ``ddcutil setvcp 10 50 --bus=0 --noverify && ddcutil scs`, it does work. In my case the display is connected through displayport, using a displayport to HDMI converter, to the HDMI port of the display.
Here's my interrogate.txt

@rockowitz
Copy link
Owner

rockowitz commented Oct 24, 2020 via email

@DarrenCook
Copy link

I've got the same monitor, and arrived here after getting the "verification failed for feature 10" error. In my case just adding --noverify was enough, so no need for scs. So these both work:

 sudo ddcutil --noverify --model PL2792Q setvcp 10 100
 sudo ddcutil --noverify --model PL2792Q setvcp 10 0

I'm connecting with HDMI, in case that might be the difference? Or maybe brightness control is one that doesn't need it?

(Now I just need to put together a bash script to be able inc/dec the brightness, drop the need for sudo, and attach it to a couple of keyboard shortcuts. I'm happy with the monitor, but the OSD UX is soul-destroying.)

@rockowitz
Copy link
Owner

@DarrenCook Thank you for posting your experiences with this monitor. It helps everyone. I assume the monitor is changing brightness after each of the setvcp commands. What values do get from "ddcutil getvcp 10" after each setvcp call?

Re the bash script, I just want to make sure you're aware of relative setvcp commands, e.g. "setvcp 10 + 20", and that --brief output is generally formatted to simplify screen-scraping.

As for OSDs, I agree they're generally painful. The jog button that seems to be in vogue now makes the OSD even harder to use. Unfortunately, more and more functionality is controlled by manufacturer specific command sequences, so you're forced to use it. The only real solution to discovering these command sequences is to sniff the I2C packets on the cable when using a Windows program that knows how to control the monitor.

@DarrenCook
Copy link

The getvcp calls match what I just set (and the monitor appearance has changed).

e.g. "setvcp 10 + 20",

I couldn't get this to work (+ or -)... ah, just noticed I have version 0.8.6 installed, which looks to be 3 years old. So that might be related to why I get different behaviour to the OP!

If/when I install the latest version I'll add a note if behaviour has changed.

@rockowitz
Copy link
Owner

The parsing of relative vcp values is, well, odd. The spaces around the + or - sign are necessary to get around the command line parsing that happens before ddcutil is started. IIRC there was also a bug in the parsing that I fixed a couple years ago. 0.8.6 is ancient. You really want to be on a current version. As you've probably noticed, 1.1.0 is in the release candidate phase.

@evadim
Copy link

evadim commented Jun 10, 2024

Going to add some chaos. I have two identical PL2792Q monitors connected via Dell thunderbolt dock station, DP cables.
Difference is in manufacture date: one 2018, Week: 6 and another 2020, Week: 20.

For both input selection works without additional flags.
New one can be managed with --noverify flag
Older can not and ddcutil scs also don't help...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement iiyama monitor specific problems with particular monitors
Projects
None yet
Development

No branches or pull requests

5 participants