ledoge / novideo_srgb

Calibrate monitors to sRGB or other color spaces on NVIDIA GPUs, based on EDID data or ICC profiles
GNU General Public License v3.0
986 stars 35 forks source link

Windows 7 Support? #59

Open SoS-XZ opened 1 year ago

SoS-XZ commented 1 year ago

Hi. I have an older Windows 7 computer with a 1070 that I'd like to use with the S2721DGFA monitor from Dell. The problem as you know is that it is a high gamut display and it has no sRGB clamp in the OSD which is a shame.

Is it at all possible to make this program run on Win7? When I download and try to run it it crashes, opening it in VS debugger gives this info:

System.Windows.Markup.XamlParseException: 'The invocation of the constructor on type 'novideo_srgb.MainViewModel' that matches the specified binding constraints threw an exception.'

Inner Exception: Win32Exception: The parameter is incorrect

Here are the details:

System.Windows.Markup.XamlParseException HResult=0x80131501 Message=The invocation of the constructor on type 'novideo_srgb.MainViewModel' that matches the specified binding constraints threw an exception. Source=PresentationFramework StackTrace: at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri) at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri) at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri) at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream) at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc) at System.Windows.Application.DoStartup() at System.Windows.Application.<.ctor>b__1_0(Object unused) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at novideo_srgb.App.Main()

This exception was originally thrown at this call stack: [External Code]

Inner Exception 1: Win32Exception: The parameter is incorrect

ledoge commented 1 year ago

Not really sure what could be causing that, I thought it should just work on Windows 7. Only thing I can think of is that it won't work on a 32 bit Windows install, as it's built as a 64 bit executable.

SoS-XZ commented 1 year ago

Hi, thanks for the quick response. I have windows 7 x64 home premium.

SoS-XZ commented 1 year ago

I commented out lines 33...36 where it throws the exception in displayconfigmanager.cs not sure what it is but it seems to be working.

System.ComponentModel.Win32Exception HResult=0x80004005 Message=The parameter is incorrect Source=novideo_srgb StackTrace: at novideo_srgb.DisplayConfigManager.<>c.b6_0(Int32 e) in C:\Users\x\Downloads\novideo_srgb-master\novideo_srgb\DisplayConfigManager.cs:line 37 at novideo_srgb.DisplayConfigManager.<>cDisplayClass6_0.b__1(DISPLAYCONFIG_PATH_INFO path) in C:\Users\x\Downloads\novideo_srgb-master\novideo_srgb\DisplayConfigManager.cs:line 64 at System.Array.ForEach[T](T[] array, Action`1 action) at novideo_srgb.DisplayConfigManager.GetHdrDisplayPaths() in C:\Users\x\Downloads\novideo_srgb-master\novideo_srgb\DisplayConfigManager.cs:line 48 at novideo_srgb.MainViewModel.UpdateMonitors() in C:\Users\x\Downloads\novideo_srgb-master\novideo_srgb\MainViewModel.cs:line 76 at novideo_srgb.MainViewModel..ctor() in C:\Users\x\Downloads\novideo_srgb-master\novideo_srgb\MainViewModel.cs:line 33

dersu12 commented 1 year ago

Hello! I have the same (?) problem with CLR20r3. Win7 x64, nvidia gtx 970M at laptop and additional monitor. I suppose it's a Windows dotnet problem, not novidio, but it will so great, if you can help me by advice. If I understand true, there is an answer in the message above? What is the way to produce that things - comment out lines & make new exe-file? Sorry for my English, and Happy New Year!

About me, versions since 3.0 to 4.0 were tested & I didn't win. May be this information can help to identify the problem.

For example, trying novideo v.4

Delete all possible .NET - it says, that needs dotnet v.4.0.30319.

Install v.4: Имя события проблемы: CLR20r3 Сигнатура проблемы 01: novideo_srgb.exe Сигнатура проблемы 02: 1.0.0.0 Сигнатура проблемы 03: d2018b0d Сигнатура проблемы 04: mscorlib Сигнатура проблемы 05: 4.0.0.0 Сигнатура проблемы 06: 4ba22001 Сигнатура проблемы 07: 1be Сигнатура проблемы 08: 20 Сигнатура проблемы 09: System.Windows.Markup.XamlParse Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: 3444 Дополнительные сведения 2: 3444ad3989cb32ba5200c12dc376c47b Дополнительные сведения 3: 7132 Дополнительные сведения 4: 71324d12848b653f7cd704c732da16cb

Instal v.4.62: Имя события проблемы: CLR20r3 Сигнатура проблемы 01: novideo_srgb.exe Сигнатура проблемы 02: 1.0.0.0 Сигнатура проблемы 03: d2018b0d Сигнатура проблемы 04: novideo_srgb Сигнатура проблемы 05: 1.0.0.0 Сигнатура проблемы 06: d2018b0d Сигнатура проблемы 07: eb Сигнатура проблемы 08: 9 Сигнатура проблемы 09: System.Windows.Markup.XamlParse Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: df30 Дополнительные сведения 2: df307ab653c4708c417e82d7ab298e73 Дополнительные сведения 3: a9e1 Дополнительные сведения 4: a9e15444aaced611c1d2980f3efa571a

Instal 4.7: Имя события проблемы: CLR20r3 Сигнатура проблемы 01: novideo_srgb.exe Сигнатура проблемы 02: 1.0.0.0 Сигнатура проблемы 03: d2018b0d Сигнатура проблемы 04: novideo_srgb Сигнатура проблемы 05: 1.0.0.0 Сигнатура проблемы 06: d2018b0d Сигнатура проблемы 07: eb Сигнатура проблемы 08: 9 Сигнатура проблемы 09: System.Windows.Markup.XamlParse Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: fe40 Дополнительные сведения 2: fe4003a9987f76ad58e299caf72997f5 Дополнительные сведения 3: aac0 Дополнительные сведения 4: aac05c8cc4fa8814d9ac49fca7a46612

Instal 4.72: Имя события проблемы: CLR20r3 Сигнатура проблемы 01: novideo_srgb.exe Сигнатура проблемы 02: 1.0.0.0 Сигнатура проблемы 03: d2018b0d Сигнатура проблемы 04: novideo_srgb Сигнатура проблемы 05: 1.0.0.0 Сигнатура проблемы 06: d2018b0d Сигнатура проблемы 07: eb Сигнатура проблемы 08: 9 Сигнатура проблемы 09: System.Windows.Markup.XamlParse Версия ОС: 6.1.7601.2.1.0.256.1 Код языка: 1049 Дополнительные сведения 1: fe40 Дополнительные сведения 2: fe4003a9987f76ad58e299caf72997f5 Дополнительные сведения 3: 46a2 Дополнительные сведения 4: 46a259dd675ec2fa20d49a0414051013


I'm try to start novideo at Win10 too - and there is nothing happend, no starting, no error massages.