PDA

View Full Version : help: Overlay stops working till reboot


avih
10th February 2008, 11:41
Ok, this is an issue that bothers me for a while now. After some time of using the computer (could be hours or days or weeks, my window is usually up at least 2-3 weeks between reboots), Overlay stops working. I get no error but instead of video overlay I get a black window. Rarely it comes back, but it did come back, at least once or twice (out of many many times that it happened). Untill it stops working, everything works fine, including all the apps described below.

I'm using an FX5600U card with dual monitor setup (main is LCD, secondary is CRT) on XP SP1 with recent NVIDIA driver (with shitty "stand alone" panel instead of the one embedded into the display properties dialog). Directx is 9.0c. Forceware version is 163.71 but it happened with earlier drivers too.

The related applications that I use with overlay are DScaler, MPC, VLC, mplayer (via MPUI usually). I also run few 3D games. The rest is pretty standard "office/internat" usage (sans ms office) with firefox etc.

Interesting note: If I set (through the NVidia panel) that when video is playing, the secondary screen shows the video full screen, then the secondary screen shows the video even when it's black video window on the main screen. After a reboot on that configuration, both displays show the video properly.

Since it bothers me, I changed the output methods of some of my players as follows, to avoid the issue as much as possible.

MPC: output set to VMR 7. Isn't affected anymore.

VLC: output set to OpenGL. Isn't affected anymore.

MPUI: output set to directx:noaccel. Isn't affected but ugly scaling and more CPU I think.

essentially, as far as i understand, the above 3 apps don't use "plain" overlay anymore so i think they're not triggering this issue.

DScaler: couldn't find a way to solve. Output can use or not use overlay but regardless, it shows a black window. DScaler is the main motivation to find a solution since I couldn't find a bypass for this problem for it. I'm suspecting it might also be the cause but i don't have a proof for it.

My questions:

1. Is there a different output method for DScaler that I've missed?

2. Is there a way to "reset" overlay output of the driver? My suspicion is that it's a driver bug triggered by something in dscaler. However I can't be sure of that and different drivers exhibit the same behavior.

3. has anyone had similar issues? Is the cause known? was a solution found?

thanks in advance
avih

[edit]
Almost positive that it's unrelated, but it still does "stuff" with the display, forgoto to mention that I also use this PC as a VNC server that I sometimes access from work. It's hooked to the display, initially "normaly" and later with the "mirage" mirror driver. Changing the hook driver didn't affect this issue. As far as i remember, the issue was there also before I started using the VNC server on that PC.

Reimar
10th February 2008, 12:30
1. Is there a different output method for DScaler that I've missed?


Since there is only one hardware overlay, you can start playing a video first via the overlay (or something else that blocks the overlay) and then "start" DScaler, it then has no other choice than to use the overlay emulation (emulation is done via hardware as well, so it is fast, but it may lack brightness/contrast/saturation control).


3. has anyone had similar issues? Is the cause known? was a solution found?


It was a rather well known problem under Linux, there either just restarting the X server (which unloaded and loaded again the driver) or using one of the non-hardware overlays worked.
Unfortunately I do not know how to do any of these under Windows (except method under 1 ).

avih
10th February 2008, 12:44
Since there is only one hardware overlay, you can start playing a video first via the overlay (or something else that blocks the overlay) and then "start" DScaler, it then has no other choice than to use the overlay emulation (emulation is done via hardware as well, so it is fast, but it may lack brightness/contrast/saturation control).



It was a rather well known problem under Linux, there either just restarting the X server (which unloaded and loaded again the driver) or using one of the non-hardware overlays worked.
Unfortunately I do not know how to do any of these under Windows (except method under 1 ).

Thx.

Method "1" doesn't work as DScaler refuses to run with a "Can't create overlay surface" error...
Method 2 or something a bit less extensive is something I'm willing to use, if it exists on windows. Maybe something like a small executable that resets overlay or something.

The interesting thing, as I noted on my earlier post is that the overlay data DOES get to the driver, or else it wouldn't be able to display the video full screen on the slave display, but it does, even when the video window on the main display is black. bahh... it annoys.

avih
10th February 2008, 13:18
Another thing that I tried and didn't help is changing the display properties. I.e. resolution, color depth, dual-monitor setup etc. None helps, video window remains black till next reboot. Secondary display, if configured to show video as full screen, keeps displaying video properly...

[edit]
Another update. Just noticed that the latest alpha version of DScaler (4.1.16) has initial code to work with D3D output instead of overlay. Gonna give it a shot and see if it works and if it stops the initiating of this problem. Will try this with all other players output set back to normal overlay.

Still, if anyone knows of the exact reason for this issue, or a good fix for it, I'd like to hear.

thx.