Coder Social home page Coder Social logo

Comments (21)

terrymacdonald avatar terrymacdonald commented on June 1, 2024 2

@Shepskii Thank you so much for that helpful tip! Hope that helps FormelLMS sort out their issue.

@FormelLMS I'm afraid the current v1.1.4 version of DisplayMagician cannot set things like Bezel spacing :(

The good news is that the upcoming v2.0.0 version should be able to (with caveats). I'm currently revisiting and rebuilding the Display manipulation logic, as I'm adding AMD Eyefinity support as well. Checkout issues #20, #21 and #23 if you want to see what else I'm fixing.

The new version will be storing full Display Configs for each display profile, which will mean it will grab all the settings that it can and will apply those same settings when applied later on.

The logic will go like this for NVIDIA and AMD cards/drivers:

  • Check if there is NVIDIA Surround or AMD Eyefinity needed
  • Setup the NVIDIA Surround or AMD Eyefinity including the bezel settings and order and everything else we can
  • Setup any specific NVIDIA or AMD specific HDR settings
  • Use the Windows CCD display configuration to layout the screen (it treats Surround or Eyefinity as a single screen) and set up the primary monitors and apply any HDR settings.

Then do the reverse when it is time to change back!

This is, as you can guess, a lot of work. I'm expecting it will take probably 2 months from now (3 months in total), as I'm having to write an AMD C# manipulation library because AMD doesn't provide one for ADL (there support documentation is very bad). I'm having to reverse engineer the purpose of all the library calls and build C# equivalents of all the structures :(. It's taking AGES.

Anyway this is a very long way of saying - stay tuned - I might have something that will work the way you want it in the next 2 months or so.

Terry

from displaymagician.

Shepskii avatar Shepskii commented on June 1, 2024 1

I assume you have triple monitors based on the resolution you've stated so a simpler solution would be to use the bezel correction function in the games themselves by using "multimon_mode 4" in the config file and creating the appropriate settings in the accompanying multimon_config file.

Specifically, the "heading_offset" variable in the multimon_config file adjusts the camera to compensate for bezels. The left monitor needs a positive value, right a negative. For example, I have 4mm bezels and use values of "0.800000" and "-0.800000".

from displaymagician.

FormelLMS avatar FormelLMS commented on June 1, 2024 1

The solution for ETS and ATS works like a charm. So thankful for this tip.

And a big heads up for the coming version. DisplayMagician is for me a perfect program with two things somehow not working for me:

  1. My screens are 2560*1440 and I have a setup saved "Normal 1440p" My older eyes need sometimes a lesser resolution, so I wanted to save a "Normal 1080p" setup. So I've loaded the normal 1440p and make the changes to 1080p. After opening DisplayMagician, it says, my actual profile is "Normal 1440p" and I can only rename it. Is it possible to add the second profile somehow?
  2. Steam Startup Parameter doesn't seem to work. They simply don't apply

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

@FormelLMS Firstly - thank you so much for the donation! I really appreciate it.

I have a stop-gap solution for you if that helps? I've just finished a test program that I wrote to exercise the windows display drivers, and it should work for your issue #1 you mention. It is called CCDInfo and it is here: https://github.com/terrymacdonald/CCDInfo/releases/latest

CCDInfo will let you store the current windows display configuration into a single CCDInfo config file. What I recommend doing is to set up the screens the way you want it, then save a CCDInfo config file for that display layout. Next, change the display layout and then save a second CCDInfo config file. You will then be able to load the CCDInfo config file you want and CCDInfo will apply it to windows.

Note - this will only work for settings that windows knows! It will not set up NVIDIA or AMD specific video card settings. I still have to write those libraries, but I'll be trying to bring the same sort of comprehensive config grabbing to those two video cards as well.

Now for #2, that's actually a bug. Can you please log that #2 issue under another issue number? That will make sure I won't lose it! I'll be spending some more time on the AMD video card drivers for the next couple of weeks, but I'm hoping to have time to do some bug fixing in the next little while. This fix will probably be rolled into v2.0.0 as I'm really trying to focus all my efforts into that, as I know the results will be worth it!

Thanks
Terry

from displaymagician.

FormelLMS avatar FormelLMS commented on June 1, 2024

Hey Terry,

thank you. The workaround is working very well.
But one thing: Somehow I managed to save two configurations with Nvidia Surround. One with 1080p and one with 1440p. Which is fantastic. So I wanted to save the 1080p normal without surround and the 1440p normal without surround.
It's really strange that it works with the surround profiles and not with the normal. Look here:
1080p
1440p

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

from displaymagician.

FormelLMS avatar FormelLMS commented on June 1, 2024

Hey Terry, you’re right, I haven’t seen it. Tried a few hours everything and then this 😣
So yes, ccdinfo is very good. So I could everything save for me.
It would be fantastic if you can ad the ccdinfo functionality to DisplayMagician. So that you can save the Config as you like. If the program sees an new configuration or not. So it’s on the end of the user if there is a configuration or not. But as I’ve seen above this is your goal for version 2.0, isn’t it?

Regards,
Dennis

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

@FormelLMS I've just finished the first 'basic' version of NVIDIAInfo v0.0.1 Alpha. Can you please test it for me to see whether it works with an NVIDIA Surround setup? I've written a new NVIDIA library from scratch, and this is the first 'mostly' working version. It will successfully save and load NVIDIA surround/mosaic settings, but it won't do NVIDIA HDR or anything else. It is a pre-release version of the software, but I need you to do some testing so I can be sure its working.

Please download the NVIDIAInfo v0.0.1 zip file from https://github.com/terrymacdonald/NVIDIAInfo/releases/tag/v0.0.1, unzip the zip file and then follow the instructions in the release notes to save 2 different display profiles - one using Surround, and one not using Surround. Then please try to swap between them using the load command.

Once you've finished testing, please post your NVIDIAInfo.log files here for me to see, and tell me how the testing went.

Thanks
Terry

from displaymagician.

FormelLMS avatar FormelLMS commented on June 1, 2024

Thank you for your hard work. I've tested it today but it's not working. Made first the surround setting than deleted surround and set up the normal triple screen. Restoring the surround settings with Nvidia Info was working, but back to normal triple not. It gaves me the error " Display Settings were not applied correctly"
Here is my logfile of it:
NVIDIAInfo.log
Tried it a few times.
Display Magician and CCDInfo is doing the job so I've ask myself why there is now the third program.

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

from displaymagician.

FormelLMS avatar FormelLMS commented on June 1, 2024

Hey Terry, thanks for your kind answer. Now I understood the jungle, you're in.
Please let me know if I could test something. This project is definitely worth it.

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

@FormelLMS I've added the ability to save NVIDIA HDR information to NVIDIAInfo v1.0.0, as well as checking that the display configuration is available before attempting to apply it. I've tested it successfully internally, but now I need you to test it again for me to make sure I haven't affected the GeForce card support.

IMPORTANT - The configuration file format has changed so you will need to create new cfg files for this as the old configs will not work with NVIDIA v1.0.0.

So, can you please download NVIDIA v1.0.0.zip from https://github.com/terrymacdonald/NVIDIAInfo/releases/tag/v1.0.0, and then test that it works?

Please create four new configuration files for the following scenarios:

  • A config file for a Mosaic screen with all 3 screens joined as a single screen
  • A config file for a Triple screen with the left screen as the main screen
  • A config file for a Triple screen with the middle screen as the main screen
  • A config file for only two screens with the right screen turned off

Please test swapping between those 4 different configs to make sure that it works correctly transitioning between each configuration.

If it all works without any issues, then I guess I'm moving on to integrating this library with DisplayMagician!

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

And another update. This has been a monster challenge, but I think I'm nearing the end of the NVIDIA chapter at least. Things that the new DisplayMagician can do:

Swap between surround and non-surround profiles within about 14 seconds
Handle surround and non-surround screens together
Works with NVIDIA mosaic cards now
Uses the PCI video card vendor ID to recognise NVIDIA and AMD vendors, and sets it's driver mode accordingly
Can be 'forced' to use a different video card mode if needed (unlikely to be used, but hey, why not)
Can set/clear a Desktop Background per profile if you want
Stores and applies Windows HDR and NVIDIA HDR settings
Records all settings provided by the NVIDIA driver and windows drivers under Windows 10, meaning that you display refresh settings are stored and set, as are bezel distances, or any other weird and wonderful settings you creative users are able to configure :)
But at present there are still bits I have to finish before I can craft any sort of production ready release:

It is very slow to load. I've identified this is due to DisplayMagician keeping on calling the video card libraries. I need to implement some caching to ensure that the video detection is only run at programme launch and when screen layout changes in some way.
I need to add AMD library support. This is the core reason why I started this journey, so it seems a little disingenuous to release DisplayMagician without this!
I need to add a nice message that popups when an old DisplayMagician file is detected, that informs the user that this is a new version of DisplayMagician that uses a brand new DisplayProfile format that will require them to create a brand new set of Display Profile layouts.
I need to test, and to provide my beta testers an early release of the software so that I iron out any bugs before a general release.
I need to add the ability to test the upgrade mechanism without upgrading the production upgrade functionality. This is needed so I can iron out any issues before a general release. Very important as DisplayMagician now has over 1500 users!
And I think that's about it!

Some cool things to come for sure, and it's taken a lot of hard work to get this close. Another little while and we're hopefully good to go!

Thanks
Terry

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

@FormelLMS,

I finally have an test version of DisplayMagician v2.0.0 to share, and I'd be honoured if you'd do some testing for me.

An important point to note is that using DisplayMagician v2.0.0-alpha1 will affect your DisplayMagician v1.1.4 game shortcuts. Please only test DM v2.0.0-alpha1 out if you are prepared to revert the changes if the testing is unsuccessful.

I've attached DisplayMagician v2.0.0-alpha1.msi to this issue, and I'm really interesting to find out if it works on your system. This version of DisplayMagician uses two completely new display manipulation libraries that I created (one for NVIDIA and one for Windows CCD) so it needs some proper testing. Please feel free to test complicated setups like 2 screens in a Surround screen with another two screens next to it, or with different refresh rates, or HDR on only some of the screens. I really want to know if it will break.

IMPORTANT: DisplayMagician v2.0.0 uses a completely new Display Profile format. This means that you will need to create brand new Display Profiles when you first start DisplayMagician v2.0.0, and you will then need to edit your Game Shortcuts to use those new Display Profiles.

How to install this version of DisplayMagician:

  • Download and run the DisplayMagicianSetup-v2.0.0-alpha1.msi installer
  • Once installed, run DisplayMagician v2.0.0
  • Go straight to 'Settings' on the main screen
  • Change the Logging Level to 'Full application trace'
  • Click 'Back'
  • Click the 'Display Profiles' button
  • Setup the Display Profiles that you want to use (e.g. open up Windows Setup or NVIDIA Setup and change your display configuration until it's the way you want it, then swap back to DisplayMagician and save the DisplayProfile).
  • Edit your Game Shortcuts to use the new Display Profiles you just set up.

Then now please start using DisplayMagician v2.0.0 and see what breaks!

If you find a bug, please log it as a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose

Thanks
Terry

DisplayMagicianSetup-v2.0.0-alpha1.zip

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

One thing I forgot to mention is that it currently won't work on any system that has an AMD video card. I've not finished the AMD library, yet AMD detection is already plumbed into DisplayMagician, which means that DisplayMagician will attempt to use the non-existent AMD library if an AMD video card is detected, and it will just crash.

Thanks
Terry

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

@FormelLMS Great news. I've got another DisplayMagican v2 build to test. This one has had a lot of local testing, and I've fixed a lot of bugs that I've found. And now I think it's ready for another round of testing.

I'd really love it if you could test this out for me. To install DisplayMagician v2.0.0-alpha2:

  • Firstly, uninstall DisplayMagician v2.0.0 alpha1 if you installed it earlier.
  • Secondly, download and install DisplayMagician v2.0.0 alpha2 from this issue
  • Thirdly, test it out :).

Hopefully it goes well for you and does everything it should, but if you do find any issues, please log them as new issues here: https://github.com/terrymacdonald/DisplayMagician/issues/new?assignees=terrymacdonald&labels=bug&template=bug_report.md&title=

Thanks
Terry

DisplayMagicianSetup-v2.0.0-alpha2.zip

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

Great news! DisplayMagician v2.0.1 has been released, and fixes this very issue. Please test it out, and if you still have any issues please log a new issue.

I'm closing this issue as the fix is in DisplayMagician v2.0.1, and I need to clear out the completed issues so I am able to work on the new issues that come in.

Thanks
Terry

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

@FormelLMS I've managed to find and solve a WHOLE BOAT LOAD of issues since we last communicated. And I'm now at a point that I think the video library stuff is working as intended. I'm confident enough to provide you with test version 2.1.0.35 for you to test. It should handle cloned windows, NVIDIA surround, weird layouts (even a combined surround with extra single display works!) and it works after multiple reboots.

I'd really love you to install this version, and to test the different displays. I really want you to try and break it :D.

DisplayMagicianSetup-v2.1.0.35-test.zip

One important thing to note - it will require you to create new Display Profiles as part of the upgrade. It turns out I needed a bit more information than was available in the DisplayProfiles_2.0.json format I created earlier. So this new 2.1 version creates a DisplayProfiles_2.1.json instead.

Hopefully everything works, and then I can release a new DisplayMagician version and move on to adding other features!

Thanks
Terry

from displaymagician.

FormelLMS avatar FormelLMS commented on June 1, 2024

Dear Terry, sorry to let nothing hear about me. I was away a few weeks and my time is a bit limited. Can you help me a bit about this fantastic news? I think I have to uninstall the normal version, right? So every setting like startup programs etc is away or can I save them somewhere? (The Thing is, the older version is working very good for now :) ) I really like to test these days.

from displaymagician.

terrymacdonald avatar terrymacdonald commented on June 1, 2024

from displaymagician.

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.