Comments (7)
And just like that, setting Monitor 2 to "Hdmi1" has done the trick - which is odd, since there isn't a single mention of Hdmi1 in the logs!
Thanks for your help @haimgel - from my side the issue is closed; let me know if my updated configs, logs, etc. would be of help in any way.
from display-switch.
Hmm... I don't have a good suggestion here, other than the following:
-
Please update to 1.0 (I just merged it) from 0.3.0. There are some improvements in there w.r.t. retrying failed DDC/CI transactions, which might help.
-
You did not specify the OS on both machines: is it Windows, Mac, or Linux? This could be important, especially if we get more reports like yours.
from display-switch.
Hmm... I don't have a good suggestion here, other than the following:
- Please update to 1.0 (I just merged it) from 0.3.0. There are some improvements in there w.r.t. retrying failed DDC/CI transactions, which might help.
- You did not specify the OS on both machines: is it Windows, Mac, or Linux? This could be important, especially if we get more reports like yours.
Thanks for the reply - it's been a while since I've submitted any kind of bug report, so I've left out the most basic thing! I'm running Windows 10 20H2, build 19042.985, and the 0.3.0 build was compiled from source.
I've upgraded to the pre-built binaries on my desktop and I'm getting the following output:
21:03:09 [INFO] Configuration loaded ("C:\\Users\\user\\AppData\\Roaming\\display-switch\\display-switch.ini"): Configuration { usb_device: "7844:6868", input_sources: InputSources { on_usb_connect: None, on_usb_disconnect: None }, monitor1: Some(PerMonitorConfiguration { monitor_id: "", input_sources: InputSources { on_usb_connect: Some(DisplayPort1(0xf)), on_usb_disconnect: None } }), monitor2: Some(PerMonitorConfiguration { monitor_id: "", input_sources: InputSources { on_usb_connect: Some(Custom(0x110f)), on_usb_disconnect: None } }), monitor3: None, monitor4: None, monitor5: None, monitor6: None }
21:03:09 [INFO] Display 'Generic PnP Monitor #1' is currently set to DisplayPort1(0xf)
21:03:09 [INFO] Display 'Generic PnP Monitor #2' is currently set to Custom(0x1111)
21:03:09 [ERROR] Failed to get current input for display 'GP102-A/2147881091:SVideo #3': Ddc(InvalidChecksum)
21:03:09 [INFO] Display 'GP102-A/2147881094:Lvds #4' is currently set to DisplayPort1(0xf)
I've also ordered a USB-C to DisplayPort cable I plan to test once it arrives.
Thanks.
from display-switch.
OK, so I think the issue is that your monitor_id
values are empty, so these match anything, and could be the reason monitors "alternate" as you say. The app detects 4 monitors, and with these empty monitor_id
values, it switches all four, to both values, one after another (in your first log). Also, since you only have 2 monitors connected, I'd say the error about Svideo input is not important. I'd suggest trying with this config:
[monitor1]
monitor_id = "#1"
on_usb_connect = 0xf
[monitor2]
monitor_id = "#2"
on_usb_connect = 0x110f
See if Generic PnP Monitor #1
and ... #2
are indeed the two you need to switch, and if not, adjust monitor_id
values to match other monitors as reported by the app. It matches by a substring.
P.S.: Configuration parser in the app should ideally balk on such a config, and not do a stupid confusing thing above... So this is something I'd try to fix.
from display-switch.
Thanks for the reply. I've updated my config and will give it a whirl in the morning once my work laptop goes on - thanks for the help! It might be a really simple tool, but if I get this working as it's intended, then it's a massive productivity aid. Thank you!
from display-switch.
Right, some progress. Monitor 1 (my 32") seems to be switching fine - monitor 2 (the 24") seems to want to stay on my laptop at all times. It turns off each time I press the switch, but very shortly after loads up my laptop (which one a DP input). I've also swapped my DisplayPort lead to a USB-C -> DisplayPort lead, since I didn't have enough bandwidth to run 2 high resolution monitors on a single USB-C link.
I've tried cycling through #2
, #3#
and #4
with no success... not quite sure where to go from here.
from display-switch.
I'd say, if ithe second monitor does not switch, then probably the on_usb_connect = 0xf0f
setting is incorrect (but you can confirm in the logs what exactly does it say). I'd start by using some known-good values, e.g. DP, HDMI1, etc., and see if that works.
Another avenue to explore would be to try some other DDC/CI controlling software and try switching with that (sorry I cannot recommend anything on windows specifically). This way you'd know if this is some kind of misconfiguration or an issue with your hardware specifically... Some monitors have a buggy or incomplete DDC/CI implementations.
from display-switch.
Related Issues (20)
- rusb callbacks never hit on macOS 12.4 HOT 1
- Doesn't open on Windows HOT 1
- main branch build fails with --locked because version differs between Cargo.toml and Cargo.lock HOT 1
- DDC error, even though I am not even trying to control a DDC monitor HOT 1
- Dual display setup with unconfigured monitor throwing an error HOT 2
- 100% CPU usage on Linux HOT 1
- Daisy chaining 2 displays with only 1 that supports DDC drops the second monitor when changing HOT 3
- `build.rs`'s `rerun-if-changed` directives don't expand `*.swift` HOT 1
- [Question] I'm considering user-friendly crossplatform UI. Anything already in the works? HOT 2
- [Question] Does this require installation? HOT 1
- [linux] laptop connected to dual monitors via a dock HOT 1
- Arch linux needs newer ddc-i2c HOT 1
- Switch on system (Application) boot HOT 1
- FR expand ~ in on_usb_connect_execute HOT 1
- USB Monitor Controls
- 1.3.0 on Windows doesn't detect USB changes HOT 2
- Support multiple command executions with `on_usb_<event>_execute` HOT 1
- Error when installing and no .ini or log files?
- Sceptre C35 InputSources
- index out of bounds HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from display-switch.