Realtek driver hang

Pagine

Posts: 1496
Joined: 25 Mar 2012 - 01:19
Re: Realtek driver hang

This is a proof-of-concept implementation of "dynamic priority".
VMS now starts at Normal priority, then it switches to High when at least one device is in use and gets back to Normal when all the devices have been released.

Could you please check if it fixes the Realtek issue?

PS: this is interesting regardless Realtek issue, since there's no need to set VMS process at High priority when not in use...

Attachments (Only registered users)
CoolSoft_VirtualMIDISynth_2.7.0-dynamicPriority.zip
Posts: 1
Joined: 25 Apr 2017 - 02:09
Re: Realtek driver hang

Just thought I'd share that I have the same issue, except it's the virtualMIDIsynth.exe process that is holding a no-sleep request through the Realtek driver as long as the process remains open, regardless of whether anything is playing or not and regardless of the priority setting of virtualMIDIsynth.exe.

I had the same problem once with an older version of VLC where pausing or stopping play didn't release the audio driver no-sleep request, only closing VLC released it.

You can see what things are blocking sleep mode by running "powercfg /requests" in an admin-elevated cmd prompt or powershell. This is what mine looks like while virtualMIDIsynth.exe is running regardless of audio output:

PS C:\WINDOWS\system32> powercfg /requests
DISPLAY:
None.

SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_1220&SUBSYS_10438735&REV_1000\4&11cc5c2&0&0001)
An audio stream is currently in use.

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

I know that isn't any help really, but this isn't a huge issue either, I just have to remember to close VMS when I'm not using it.

Posts: 12
Joined: 24 Maggio 2017 - 20:24
Re: Realtek driver hang

Buona giornata,

Installed version 2.7.  Played file.  Closed player.  Powercfg -requests...

SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_1220&SUBSYS_10438735&REV_1000\4&11cc5c2&0&0001)

Coolsoft icon remained in tray.  Exited the program.  Realtek driver released.  Apparently no change in behavior.

Best,  kros

Posts: 102
Joined: 8 Mar 2014 - 22:29
Re: Realtek driver hang
tab cola wrote:

Just thought I'd share that I have the same issue, except it's the virtualMIDIsynth.exe process that is holding a no-sleep request through the Realtek driver as long as the process remains open, regardless of whether anything is playing or not and regardless of the priority setting of virtualMIDIsynth.exe.

I had the same problem once with an older version of VLC where pausing or stopping play didn't release the audio driver no-sleep request, only closing VLC released it.

You can see what things are blocking sleep mode by running "powercfg /requests" in an admin-elevated cmd prompt or powershell. This is what mine looks like while virtualMIDIsynth.exe is running regardless of audio output:

PS C:\WINDOWS\system32> powercfg /requests
DISPLAY:
None.

SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_1220&SUBSYS_10438735&REV_1000\4&11cc5c2&0&0001)
An audio stream is currently in use.

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
None.

ACTIVELOCKSCREEN:
None.

I know that isn't any help really, but this isn't a huge issue either, I just have to remember to close VMS when I'm not using it.

So my idea of pausing the stream when it's not required is probably the best choice...

KaleidonKep99 wrote:

In that case, I guess the only way to get around this would be to suspend the playback thread when there's no MIDI activity (BASS_ChannelPause), then wake it up again (BASS_ChannelPlay) when needed.

Posts: 1496
Joined: 25 Mar 2012 - 01:19
Re: Realtek driver hang

So my idea of pausing the stream when it's not required is probably the best choice...

KaleidonKep99 wrote:

In that case, I guess the only way to get around this would be to suspend the playback thread when there's no MIDI activity (BASS_ChannelPause), then wake it up again (BASS_ChannelPlay) when needed.

No, sadly it's not. VMS already calls BASS_ChannelPlay/Close at virtual device start/stop.
I've tried running the same powercfg /requests command on my side (thanks to @tabcola for the tip) and I've got a similar output than yours (the audio device is kept in use when VMS is running, even if no device was ever used).
Since I don't have a Realtek audio device but an Conexant/Intel one, my PC went to sleep without issues.

So I've debugged VMS startup step-by-step and I've found that the device is marked in use just after calling BASS_Init(), way before the BASS_Play() call.
Delaying BASS_Init() (and so calling BASS_Free() when a device is closed) could lead to unacceptable delays in device startup, need to find a better way...

Meanwhile, this is a workaround that could help; it was posted for Windows 7 but it works on Windows 10 too:
https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/...

In short:

  1. run powercfg -requests with VMS running
  2. take note of driver name (in this case it's Realtek High Definition Audio)
  3. run this command in a privileged prompt:
    powercfg -REQUESTSOVERRIDE DRIVER "Realtek High Definition Audio" SYSTEM

In short, it forces the system to ignore power request coming from a specific driver.
It worths a try...

Posts: 12
Joined: 24 Maggio 2017 - 20:24
Re: Realtek driver hang

Tested the "requestsoverride" command at about the time this thread commenced.  No change.

Pagine

It seems you're using an AdBlocker or JavaScript is disabled!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).

This 10 seconds wait is to let you update your AdBlocker whitelist...

Got it, show me the content...
Please enable JavaScript!