mickelson / attract

A graphical front-end for command line emulators that hides the underlying operating system and is intended to be controlled with a joystick or gamepad.
http://attractmode.org
GNU General Public License v3.0
393 stars 115 forks source link

Attract Mode doesn't start after installing Nvidia Driver 451.48 and above! #637

Closed Zzzzzap closed 3 years ago

Zzzzzap commented 4 years ago

Attract Mode doesn't start after installing Nvidia Driver 451.48 and above!

My System: Windows 10 64 Bit, Version: 10.0.19041 Build 19041. Graphicscard: NVIDIA Geforce RTX 2070.

Report.txt

->

Name der fehlerhaften Anwendung: attract-console.exe, Version: 2.6.1.0, Zeitstempel: 0x00000000 Name des fehlerhaften Moduls: nvapi64.dll, Version: 27.21.14.5148, Zeitstempel: 0x5eefd018 Ausnahmecode: 0xc0000005 Fehleroffset: 0x000000000033ac5d ID des fehlerhaften Prozesses: 0x2c10 Startzeit der fehlerhaften Anwendung: 0x01d64a848a273aee Pfad der fehlerhaften Anwendung: D:\Mame\Attract Mode\attract-console.exe Pfad des fehlerhaften Moduls: C:\WINDOWS\SYSTEM32\nvapi64.dll Berichtskennung: 020b577b-b938-492d-90fa-290ebe6905c2

pcca-matrix commented 4 years ago

tested on 2 installs with rtx 2070 super and 2080 super, driver 452.06 and no problems from my side.

Zzzzzap commented 4 years ago

But I use NVIDIA Geforce RTX 2070 and I get the error as you see above...

Zzzzzap commented 4 years ago

Update: It only happens with Attract Mode win64! The win32 Version is working. That's interesting cause I have win64.

oomek commented 4 years ago

Would you please provide a log of both 32 and 64 bit versions? You can run Attract Mode in debug mode by typing attract --loglevel debug in the console. I'm only interested in lines that start with NVAPI:

Zzzzzap commented 4 years ago

Win32 Version:

NvAPI: nvapi.dll loaded NvAPI: Initialize: NVAPI_OK NvAPI: CreateSession: NVAPI_OK NvAPI: LoadSettings: NVAPI_OK NvAPI: FindProfileByName: NVAPI_OK NvAPI: Threaded Optimizations OFF: NVAPI_OK NvAPI: Triple Buffering OFF: NVAPI_OK NvAPI: Prendered Frames set to 4: NVAPI_OK NvAPI: Maximum frames allowed set to 4: NVAPI_OK NvAPI: GPU Maximum Performance ON: NVAPI_OK NvAPI: Saving Nvidia profile: NVAPI_OK NvAPI: Closing Nvidia session: NVAPI_OK

Win64 Version:

NvAPI: nvapi64.dll loaded NvAPI: Initialize: NVAPI_OK NvAPI: CreateSession: NVAPI_OK NvAPI: LoadSettings: NVAPI_OK NvAPI: FindProfileByName: NVAPI_OK NvAPI: Threaded Optimizations OFF: NVAPI_OK NvAPI: Triple Buffering OFF: NVAPI_OK NvAPI: Prendered Frames set to 4: NVAPI_OK NvAPI: Maximum frames allowed set to 4: NVAPI_OK NvAPI: GPU Maximum Performance ON: NVAPI_OK NvAPI: Saving Nvidia profile: NVAPI_OK NvAPI: Closing Nvidia session: NVAPI_OK

Now its working also with the Win64 Version! I have no idea why... but thanks! ;-D

oomek commented 4 years ago

Most likely it's due to the nv profile was created by 32 bit app. I wonder if the situation repeats when you remove the nvidia profile for Attract Mode

Zzzzzap commented 4 years ago

how to remove the nvidia profile?

oomek commented 4 years ago

You can use Geforce Experience, Nvidia Inspector, or classic Nvidia control Panel. Attract should be in the list of game profiles.

Zzzzzap commented 4 years ago

I deleted it. And now Attract mode doesn't start anymore...

Win64 Version:

NvAPI: nvapi64.dll loaded

Win32 Version:

NvAPI: nvapi.dll loaded NvAPI: Initialize: NVAPI_OK NvAPI: CreateSession: NVAPI_OK NvAPI: LoadSettings: NVAPI_OK NvAPI: FindProfileByName: NVAPI_PROFILE_NOT_FOUND NvAPI: CreateProfile: NVAPI_OK NvAPI: CreateProfile: NVAPI_OK NvAPI: Threaded Optimizations OFF: NVAPI_OK NvAPI: Triple Buffering OFF: NVAPI_OK NvAPI: Prendered Frames set to 4: NVAPI_OK NvAPI: Maximum frames allowed set to 4: NVAPI_OK NvAPI: GPU Maximum Performance ON: NVAPI_OK NvAPI: Saving Nvidia profile: NVAPI_OK NvAPI: Closing Nvidia session: NVAPI_OK Nvidia GPU detected. Attract Mode profile was not found so it has been created. In order for the changes to take effect, please restart Attract Mode

After restart...

NvAPI: nvapi.dll loaded NvAPI: Initialize: NVAPI_OK NvAPI: CreateSession: NVAPI_OK NvAPI: LoadSettings: NVAPI_OK NvAPI: FindProfileByName: NVAPI_OK NvAPI: Threaded Optimizations OFF: NVAPI_OK NvAPI: Triple Buffering OFF: NVAPI_OK NvAPI: Prendered Frames set to 4: NVAPI_OK NvAPI: Maximum frames allowed set to 4: NVAPI_OK NvAPI: GPU Maximum Performance ON: NVAPI_OK NvAPI: Saving Nvidia profile: NVAPI_OK NvAPI: Closing Nvidia session: NVAPI_OK

After running the Win32 Version and then replacing it with the Win64 Version, it works again. Seems like you said, cause now there is a profile in the nvidia settings:

NvAPI: nvapi64.dll loaded NvAPI: Initialize: NVAPI_OK NvAPI: CreateSession: NVAPI_OK NvAPI: LoadSettings: NVAPI_OK NvAPI: FindProfileByName: NVAPI_OK NvAPI: Threaded Optimizations OFF: NVAPI_OK NvAPI: Triple Buffering OFF: NVAPI_OK NvAPI: Prendered Frames set to 4: NVAPI_OK NvAPI: Maximum frames allowed set to 4: NVAPI_OK NvAPI: GPU Maximum Performance ON: NVAPI_OK NvAPI: Saving Nvidia profile: NVAPI_OK NvAPI: Closing Nvidia session: NVAPI_OK

oomek commented 4 years ago

Thank you for confirming my suspicions, it was very helpful. I'm going to take a look at the nvapi initialization as soon as I get my hands on an nvidia card.

oomek commented 3 years ago

Fixed in b0d5424038218885fdd9be90ec07620ab578e97f