Giter Site home page Giter Site logo

envyupdate's People

Contributors

fyr77 avatar johannesibk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

envyupdate's Issues

Online version is wrong at first start

When starting the application for the first time, the online version displayed is wrong.
I don't know why this happens, a restart fixes it permanently.

Prevent opening twice

It should be simple to prevent the application from being openend twice.
I will add this together with the language update.

Use proper locale

The drivers support multiple download locations and locales. Detecting them and using the correct download would be nice.

Supported languages:

  • English (US)
  • English (UK)
  • English (India)
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Japanese
  • Korean
  • German Deutsch
  • Spanish (Spain) Español (España)
  • Spanish (Latin America) Español (América Latina)
  • French Français
  • Italian Italiano
  • Polish Polski
  • Portuguese (Brazil) Português (Brazil)
  • Russian Pусский
  • Turkish
  • Other

Use native Windows notifications

Using native Windows notifications would look a lot better on Windows 10, since it will integrate with the OS better.
This would make notifications incompatible with Windows 8.1 and earlier.

Cache information when installed

As of 2.0, EnvyUpdate gets all information at runtime. This is great for portable uses, but when in "installed" mode, caching some of that info could lead to better start time and performance.

Update tray icon

The current tray icon library does not feel quite native on Windows 11. Including a context menu would also be nice.

Autostart crashes

When using the autostart version, it crashes.
Gotta look into that.

Game Ready Driver and Driver Studio specific check

Useful program, but should be able to distinguish whether the installed driver version is GRD (Game Ready Driver) or SD (Driver Studio) and consequently check the availability of updates related to the installed driver type.

DCH option

EnvyUpdate always leads you to download the standard version of the Nvidia driver but what if the user is required the DCH version? A option to let you chose between standard and DCH would be handy.

Support Quadro

Quadro GPUs have a different version system. Would be nice if EnvyUpdate supported those as well.

Problem with recognising DCH after upgrade from Standard drivers

When Standard drivers are upgraded to DCH, EnvyUpdate may still think Standard drivers are being used.

There are currently 2 checks in place for DCH:

  1. Registry, which is always correct, but access might be blocked by Windows. I have not yet understood what this depends on.
  2. Existence of file nvsvs.dll in system32, which does not exist after upgrading to DCH.

Checking for a unique file would be optimal, since Registry support is flaky. I need to find out which files are truly unique to Standard or DCH.

Ability to use appdata

Currently EnvyUpdate saves all config and downloads next to the main .exe file. It would be nice to allow users to toggle whether to use appdata instead.

This would be off by default to keep the app portable, but enabled when either failing to acquire write permissions for the directory or being saved on the desktop.

V2 would benefit from checking for write permissions as well, so this should be backported.

Error each time running EnvyUpdate

I'm having an issue with EnvyUpdate which I think makes it not work at all at the moment (I wondered why I wasn't prompted to install new drivers when they were released, but I knew EnvyUpdate was scheduled to run on startup).

In EventHistory there are two "Errors" that appear each time I try to start EnvyUpdate. This is regardless if I start it normally, as admin, or as a scheduled task.

The first error is the following (unfortunately in Swedish):

Tillämpningsprogram: EnvyUpdate.exe
Framework-version: v4.0.30319
Beskrivning: Processen avslutades på grund av ett ohanterat undantag.
Undantagsinformation: System.IO.DirectoryNotFoundException
   vid System.IO.__Error.WinIOError(Int32, System.String)
   vid System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean)
   vid System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions, System.String, Boolean)
   vid System.Net.FileWebStream..ctor(System.Net.FileWebRequest, System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, Boolean)
   vid System.Net.FileWebResponse..ctor(System.Net.FileWebRequest, System.Uri, System.IO.FileAccess, Boolean)

Undantagsinformation: System.Net.WebException
   vid System.Net.FileWebResponse..ctor(System.Net.FileWebRequest, System.Uri, System.IO.FileAccess, Boolean)
   vid System.Net.FileWebRequest.GetResponseCallback(System.Object)

Undantagsinformation: System.Net.WebException
   vid System.Net.WebClient.DownloadDataInternal(System.Uri, System.Net.WebRequest ByRef)
   vid System.Net.WebClient.DownloadString(System.Uri)
   vid System.Net.WebClient.DownloadString(System.String)
   vid EnvyUpdate.MainWindow+<Load>d__9.MoveNext()
   vid System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)
   vid System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   vid System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   vid System.Windows.Threading.DispatcherOperation.InvokeImpl()
   vid System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   vid MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   vid System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   vid System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   vid System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   vid MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   vid System.Windows.Threading.DispatcherOperation.Invoke()
   vid System.Windows.Threading.Dispatcher.ProcessQueue()
   vid System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   vid MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   vid MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   vid System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   vid System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   vid System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   vid MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   vid MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   vid System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   vid System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   vid System.Windows.Application.RunDispatcher(System.Object)
   vid System.Windows.Application.RunInternal(System.Windows.Window)
   vid System.Windows.Application.Run(System.Windows.Window)
   vid EnvyUpdate.App.Main()

And the second error is:

Felet uppstod i programmet med namn: EnvyUpdate.exe, version 2.13.0.0, tidsstämpel 0xe1b77e98
, felet uppstod i modulen med namn: KERNELBASE.dll, version 10.0.19041.2364, tidsstämpel 0x1e5c8604
Undantagskod: 0xe0434352
Felförskjutning: 0x0012e292
Process-ID: 0x532c
Programmets starttid: 0x01d91b56d62f6893
Sökväg till program: C:\Users\fough\scoop\apps\envyupdate\current\EnvyUpdate.exe
Sökväg till modul: C:\WINDOWS\System32\KERNELBASE.dll
Rapport-ID: fc2f6219-5230-46bb-9aa2-f6227c680e22
Fullständigt namn på felaktigt paket: 
Program-ID relativt till felaktigt paket: 

I am running Windows 10 Pro (19045.2364) and EnvyUpdate 2.13.0.0 (as can be seen in the error). And I am also using scoop to update the tool (and have disabled auto-update). Though I can see now that scoop doesn't have the absolut latest version yet (should be 2.15, right)?

[Question] What does it all install / update?

I couldnt find the answer in README, therefore i wanted to ask here. Which all components of driver does it install? For example, i dont have GeForce Experience installed and would not like to install it. Will it install it together with driver? Will it update the other components of driver, like FrameView SKD, HD Sound Driver and nVidia System Software?

Thank you.

Invalid API response from NVIDIA.

An "Invalid API response from NVIDIA" problem occurs if you choose the "Studio" option while your card doesn't have any studio drivers available. After that, the program can't be started without deleting its settings file.

image

[CRITICAL] Nvidia changed version numbers

Until driver version 471.96 I used the Windows management interface to check the local driver version, which reported to the correct version. This seems to have changed to a new format: 30.0.14.7196

This is for non-DCH 64bit. I need to check other machines to get a full picture.

This means I need to find a new way of getting the local version. Until then, EnvyUpdate will report the wrong version.

Invalid API response from NVIDIA

The program doesn't work on my end. It opens a gray square and this error prompt shows up.

EnvyUpdate_20240223_074044458

I'm using the v3.3 downloaded 5 minutes ago from the Releases tab, Windows 11 v22H2 (Build 22621.2283) and my GPU is a GT 1030 manufactured by GIGABYTE.

Tbh, I don't have the intention of updating my drivers just yet since I already did it a few days ago, I just wanted to check if the program was working at all.

Self-updater

When this leaves the pre-release phase, there should be an integrated updater to always download the most recent version from github.
I could try downloading the newest file every reboot, since it's only 24kb or something, but I have to be careful to not trip any antivirus applications when doing that.

This has low priority for now.

Update local driver version periodically

I'd like Util.GetLocDriv to get called occasionally without having to relaunch the program. Ideally we'd hook this to an event for a new program getting installed (Maybe through ManagementEventWatcher?)

If an event driven model wouldn't work, then it should run once every few hours, with the ability to manually trigger it via a "Refresh" button.

Get rid of Costura

It should be possible tom embed DLLs without the use of external "stuff".
I need to look into that.

Set up tool for translations

Translating this application will probably be a lot easier if there's a way to do it without installing Visual Studio. Weblate seems like a good idea.
I will look into this.

UWP

Porting this project to UWP would ease a lot of things like updating or processor compatibility with ARM becoming more popular.

The new NVIDIA App

NVIDIA has published the beta of their new app, which merges GeForce Experience and the control panel and crucially does not require an account (finally!).

They do not state clearly if the old control panel will be retired entirely, the only info on this is "During the NVIDIA app beta, GeForce Experience and the NVIDIA Control Panel will continue to be available."

If the old control center gets completely replaced by the app, EnvyUpdate will become obsolete - users may no longer be able to choose to install "just the driver". If that is the case, this project will be retired. However, if NVIDIA continues to provide driver-only packages I will keep working on this.

Additional languages

It might be a good idea to implement a translation feature.
I will do that at some point.

An option to ignore the current driver and not send any more notifications for it would be great.

Hey, first off thank you so much for this program. It's been integral to my goal of slimming down my task manager and installed programs (which included removing GeForce Experience).

One small issue I've come across is when there is a new driver version available that I would prefer to skip, but I keep getting notifications popping up regularly about it. It would be great if there were a button or check box somewhere which gave the option "ignore this version".

I don't want to stop notifications entirely -- usually I do get the most recent driver, so I want to continue getting notifications about new ones. The issue is that sometimes certain drivers are reported to not do so well in benchmarks, so I'd prefer to skip them (this is currently true with 512.15). The button/check box I had in mind would basically turn off notifications until the next version is detected.

.NET 6

For future sustainability it would be wise to port this project from .NET Framework to .NET Core / the upcoming .NET 5.
Low priority, probably won't happen before .NET 5 is actually released.

Automatically detect GPU

Automatic GPU detection would be preferable over the current manual method using the website.
This probably needs a database to translate the GPU names reported by the system to the seemingly arbitrary GPUIDs used by Nvidia.

CRITICAL: Updater broken again.

I am removing the updater for now, since it is causing a loop again.

I will release a new version soon which seperates the "install" version and the portable version.

Updater causing problems again

After rewriting the updater for the 3rd time and using a third party library, updating EnvyUpdate automatically still causes problems. Ironic I suppose.

I will remove the self-updating functionality. If you want that functionality, use scoop. I will look into publishing it to the MS Store or something.

[question] update frequency

When minimized to the taskbar, does EnvyUpdate check once in a while? Perhaps once a day or something? Or does it only check once, when it is first opened? I checked the readme but I didn't find anything about the timing.

AMD support?

It should be possible to support AMD GPUs as well, especially since AMDs GPU download URLs make much more sense. This has no real priority right now, but it will be considered for a future major release.

Supporting AMD would probably warrant a name change as well, hmm...

Incompatible with latest Windows 11

Unusual behavior:
launch EvnyUpdate.exe, it's indeed shows up in tray icon then auto-crash without any information.

Windows 11 Pro 22H2
OS Build 22621.755
Windows Feature Experience Pack 1000.22636.1000.0

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.