-
Notifications
You must be signed in to change notification settings - Fork 165
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
Unable to Control Viotek GN34C #305
Comments
Thanks for the logs. |
I attached an API debugger to ScreenBright filtered on only When I drag the brightness slider a single step I get two API calls The microsoft docs state that this is not meant to be called directly by applications but because of the checkbox mentioned above I'm pretty sure that ScreenBright is calling it directly. I tried to capture any API call made to the normal I know absolutely zero C# but when I cloned the repo and searched I could only find reference to This made me realize that the non-zero return value actually probably contained the full error. I used Microsoft's error lookup tool to get this: I guess this makes sense because Wikipedia seems to indicate that DDC is just I2C in disguise? I have no idea why the first write fails but the second write is successful. It also seems strange to even require two calls to increase the brightness by one step. Hopefully this sheds some light on the issue. |
Perhaps this is related to #270 |
Thanks for in-depth report. |
After clicking on the refresh button I get the following low level API calls. This test was done identically to the one above. I did however realize that I was being a bit silly and that there is actually a ton of higher level API calls happening which are probably of more interest. Scrolling down on the documentation page for Capturing with a filter of all Similarly, if I capture what happens when I adjust the brightness I get The documentation states that these functions return only |
Thanks again. First, is it fair to say that a function (e.g. GetMonitorBrightness) of dxva2.dll internaly calls a function (e.g. DDCCIGetVCPFeature) of gdi32.dll? I just felt it contradicts the option Second, is it possible to get error code (not return value) when a function of dxva2.dll fails (returns 0)? I am wondeing DDCCIGetVCPFeature's error code in question, |
I found that you can get the error code by current version of this app.
|
To address your first comment
To address these I am experimenting with To address your second commentInteresting troubleshooting steps! I did manage to set the preclear option but for anyone else attempting this, note that I had to get the Regardless after applying this change (and restarting the app!), the monitor does indeed show up and can be controlled however it is extremely buggy. It only seems to work correctly when I adjust the brightness twice in quite succession which is consistent with the observation above that the second write in quite succession from I did get an output in
The error code corresponds to Not sure what the difference between |
Thanks again.
Just a sidenote on preclear option. It will replace |
Could you try the attached and post probe.log? |
Closing the normal version and running the build you attached above I get the following probe.log
Seems that I combined this with the |
Thanks for testing. This change is applied by 00073b0 and will be included in next minor update. |
Awesome! Thank you so much for the support. I'm glad we could figure this out and maybe this one will help others debug their issues also! I will make sure to close this issue when I do a final test with the next minor update! |
This app is so simple and slick but unfortunately I cannot control my primary monitor, a Viotek GN34C.
I have confirmed that DDC/CI is enabled and functioning correctly using
ScreenBright
which allows me to adjust the brightness but that tool is really not very user friendly.I hope I included all the information required to get the discussion going at least. I initially struggled to get anything useful to print in the operation.log but I think now there is some info there.
Probe.log
Operation.log
The text was updated successfully, but these errors were encountered: