Giter Club home page Giter Club logo

Comments (7)

lhavelund avatar lhavelund commented on May 19, 2024 1

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.

haimgel avatar haimgel commented on May 19, 2024

Hmm... I don't have a good suggestion here, other than the following:

  1. 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.

  2. 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.

lhavelund avatar lhavelund commented on May 19, 2024

Hmm... I don't have a good suggestion here, other than the following:

  1. 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.
  2. 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.

haimgel avatar haimgel commented on May 19, 2024

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.

lhavelund avatar lhavelund commented on May 19, 2024

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.

lhavelund avatar lhavelund commented on May 19, 2024

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.

haimgel avatar haimgel commented on May 19, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.