Menu

Profiles not working after reboot

Aethaeran
2017-05-31
2017-07-30
  • Aethaeran

    Aethaeran - 2017-05-31

    I have to re-create my profiles everytime I restart my computer.
    No other app copies the Windows 10 duplication/extend setting properly.
    This program is a godsend.

    My Specs:
    Windows 10 x64
    NVIDIA GeForce GTX 970
    Have my monitor via VGA to Onboard graphics
    Have my living room tv via HDMI to the GTX 970
    Have one tv in my bedroom via HDMI, but needed an adapter to turn the HDMI to 'Display Port' as the GTX 970 model i have doesn't have multiple HDMI slots.

    Troubleshooting abit.

    Ran debugger and got an error 87.
    The only variance between the previous .xml and the updated ones is "LowPart".
    "LowPart" fluctuates every single time I restart the computer.

    What is "LowPart"? Why is it fluctuating? Is there a workaround?

    .xml example #1:

    <displaysettings><pathinfoarray><displayconfigpathinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><sourceinfo><adapterid><lowpart>30756</lowpart><highpart>0</highpart></adapterid><id>1</id><modeinfoidx>1</modeinfoidx><statusflags>InUse</statusflags></sourceinfo><targetinfo><adapterid><lowpart>30756</lowpart><highpart>0</highpart></adapterid><id>4864</id><modeinfoidx>0</modeinfoidx><outputtechnology>Hd15</outputtechnology><rotation>Identity</rotation><scaling>Identity</scaling><refreshrate><numerator>60020</numerator><denominator>1000</denominator></refreshrate><scanlineordering>Progressive</scanlineordering><targetavailable>true</targetavailable><statusflags>InUse</statusflags></targetinfo><flags>1</flags></displayconfigpathinfo></pathinfoarray><modeinfoarray><modeinfo><id>4864</id><luid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><lowpart>30756</lowpart><highpart>0</highpart></luid><displayconfigmodeinfotype>Target</displayconfigmodeinfotype><displayconfigtargetmode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><targetvideosignalinfo><pixelrate>108000000</pixelrate><hsyncfreq><numerator>108000000</numerator><denominator>1688</denominator></hsyncfreq><vsyncfreq><numerator>60020</numerator><denominator>1000</denominator></vsyncfreq><activesize><cx>1280</cx><cy>1024</cy></activesize><totalsize><cx>1688</cx><cy>1066</cy></totalsize><videostandard>Other</videostandard><scanlineordering>Progressive</scanlineordering></targetvideosignalinfo></displayconfigtargetmode></modeinfo><modeinfo><id>1</id><luid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><lowpart>30756</lowpart><highpart>0</highpart></luid><displayconfigmodeinfotype>Source</displayconfigmodeinfotype><displayconfigsourcemode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><width>1280</width><height>1024</height><pixelformat>Pixelformat32Bpp</pixelformat><position><x>0</x><y>0</y></position></displayconfigsourcemode></modeinfo></modeinfoarray></displaysettings>

    .xml example 2:

    <displaysettings><pathinfoarray><displayconfigpathinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><sourceinfo><adapterid><lowpart>30702</lowpart><highpart>0</highpart></adapterid><id>1</id><modeinfoidx>1</modeinfoidx><statusflags>InUse</statusflags></sourceinfo><targetinfo><adapterid><lowpart>30702</lowpart><highpart>0</highpart></adapterid><id>4864</id><modeinfoidx>0</modeinfoidx><outputtechnology>Hd15</outputtechnology><rotation>Identity</rotation><scaling>Identity</scaling><refreshrate><numerator>60020</numerator><denominator>1000</denominator></refreshrate><scanlineordering>Progressive</scanlineordering><targetavailable>true</targetavailable><statusflags>InUse</statusflags></targetinfo><flags>1</flags></displayconfigpathinfo></pathinfoarray><modeinfoarray><modeinfo><id>4864</id><luid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><lowpart>30702</lowpart><highpart>0</highpart></luid><displayconfigmodeinfotype>Target</displayconfigmodeinfotype><displayconfigtargetmode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><targetvideosignalinfo><pixelrate>108000000</pixelrate><hsyncfreq><numerator>108000000</numerator><denominator>1688</denominator></hsyncfreq><vsyncfreq><numerator>60020</numerator><denominator>1000</denominator></vsyncfreq><activesize><cx>1280</cx><cy>1024</cy></activesize><totalsize><cx>1688</cx><cy>1066</cy></totalsize><videostandard>Other</videostandard><scanlineordering>Progressive</scanlineordering></targetvideosignalinfo></displayconfigtargetmode></modeinfo><modeinfo><id>1</id><luid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><lowpart>30702</lowpart><highpart>0</highpart></luid><displayconfigmodeinfotype>Source</displayconfigmodeinfotype><displayconfigsourcemode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><width>1280</width><height>1024</height><pixelformat>Pixelformat32Bpp</pixelformat><position><x>0</x><y>0</y></position></displayconfigsourcemode></modeinfo></modeinfoarray></displaysettings>

     
  • Charles Custer

    Charles Custer - 2017-06-08

    Hi Martin, I am getting this too. Specifically I loaded 2 profiles and after reboot I get the following

    I am using Windows 10 version 1703 (OS Build 15063.332), with all updates.

    I think I figured it out though. I found the xml files and put them in the same directory of the monitorswitcher.exe and it seems to work. I did switch over to command line vs the gui.

    more specifically I made some .bat files that switched to where I have the .exe and I made shortcuts, with the hotkeys to run the bat files. This seems to work for me.

    HTH

     
  • Martin

    Martin - 2017-06-10

    Hi Charles, that is very weird. I don't see any reason why the GUI can't find the XML Files. Can you give me the full path were your xml files were originally stored? Is there a spacing or any crazy special character in your windows username? (Meaning also C:\Users{Username})

     
  • Aethaeran

    Aethaeran - 2017-06-10

    I'd appreciate having my post moderated. I love your program, this bug is the only thing keeping my computer from running optimally.

     
  • Martin

    Martin - 2017-06-10

    Sorry for the long delay, I was not aware that sourceforge is having any moderation function (I do not receive notifications on that).

    The problem with the flucutating low part is that on each reboot the Adapter IDs change (for whatever stupid reason). What the Program tries to do is compare the saved settings to the current settings and create a working mix of both worlds (old settings with ne adapter IDs). For some reason this is not working on your system.

    What you can try is to use the latest version and send me the debug output (or post it here). The process how to get the debug output is described here:
    https://sourceforge.net/p/monitorswitcher/wiki/Home/

     
  • Alexa White

    Alexa White - 2017-06-15

    I am having the same issue. I tried to follow the debug directions but when I began to enter text into the command line version, the command window would close itself.

    My profiles are saved, I have located them, but selecting them from the GUI doesn't actually make any changes. It was working fine a week ago, before the updated version of the app.

     
    • Martin

      Martin - 2017-06-17

      Can you try if the old version is still working (just download it again).
      Please try to make sure that loading the profiles also does not work when using the command line utility (see the wiki). You have to run the command line version from a windows command prompt (cmd.exe)

       
  • Aethaeran

    Aethaeran - 2017-06-18

    I have managed to get the debug information you require. I was trying to switch from a dual monitor profile (bedroom tv and monitor) to my JUST monitor profile, after a restart.

     
  • Aethaeran

    Aethaeran - 2017-06-18

    Oh, also you're going to have to moderate my post again. Apparently.

     
  • Aethaeran

    Aethaeran - 2017-06-21

    Moderation needed again. Lol.

     
  • Andy

    Andy - 2017-07-07

    I have ran your code through a debugger. I am getting error code 87 - ERROR_INVALID_PARAMETER.

     
  • Felipe Oliveira Garcia

    Exacly the same thing happening to me. Andy's debugOutput.txt above matches my debugging as well.

    I'm using Windows Version 1703 (OS Build 10.0.15063.413).

     
  • Martin

    Martin - 2017-07-11

    Very weird debug output from both of you. Honestly I don't see what is going on.

    Can you try one more thing?
    Setup the profiles and get the debug output when switching before you reboot the computer. Then reboot the computer and get the debug output again. So basically two outputs, one that still works and one that does not after the reboot.

     
    • Felipe Oliveira Garcia

      It looks like the issue is indeed regarding adapterId. It changes after reboot.

       
    • Felipe Oliveira Garcia

      I took the liberty of going through the code. What if you store the device's friendly name in addition to the adapter id? It could act as a fallback when it changes. I believe this guy has a fairly similar solution: https://stackoverflow.com/a/28257839

       

      Last edit: Felipe Oliveira Garcia 2017-07-11
      • Martin

        Martin - 2017-07-14

        Thank you very much for that suggestion, I do not have much time to work on the project at the moment but this definetly could be a solution. It might take me one or two weeks to get this to work, but I will definetly try it out!

         
  • Aethaeran

    Aethaeran - 2017-07-25

    Friendly name is a great idea.
    My solution wqas going to be similar as well, there must be a way to get it to grab the new adapter ID on boot rather than just being useless. Especially since Windows itself is having no issues defining the same monitors as 1,2 or 3. Regardless of adapter ID.

     
  • Martin

    Martin - 2017-07-30

    Just a quick status update, I have implemented the API calls for getting the user friendly names already. Next step is implementing everything in the core of the program. Sadly I don't have much time at the moment, but I hope that I can release a new version within the next 4 weeks.

     
  • Aethaeran

    Aethaeran - 2017-09-05

    Have you had a chance to implement this yet?

     
  • Carlos Melo

    Carlos Melo - 2017-09-11

    This would be great! It's a PITA to save the profiles each time we turn on the computer.

     
  • Martin

    Martin - 2017-09-24

    I have started on the implementation but due to holidays and family matters have not finished it yet. But I can assure you that I'm still on it.

     
  • Martin

    Martin - 2017-10-08

    I have finally managed to implement an alternative monitor switching mode which might hopefully work in all those cases where the switching stops to work after a reboot. You can find the new version as a beta release here: https://sourceforge.net/p/monitorswitcher/discussion/general/thread/4d64ab84

    please comment only in the beta release thread if the new test version fixes your problems. Please also make sure to resave your profiles with the new version as additional information are now saved in the profiles.

     

Log in to post a comment.

MongoDB Logo MongoDB