Bug Report Mouse Cursor Corruption With Log & Useful Details

bugreporter42

New Member
I see constant strange mouse cursor corruption with OBS Studio 0.13.4 when capturing from a display like some others have reported. Log here (forum said message was too long):

http://pastebin.com/HRBnk75w

The cursor looks like this (a bunch of gray hashes where a solid white cross should be, link instead of image as images don't appear to show correctly in forum preview):

https://www.dropbox.com/s/df7ww77yetsty9k/corrupt_cursor.PNG?dl=0

I attached a log file where this occurred during a capture. The cursor corruption appears in both the preview window and in the final recorded stream.

Not all cursor shapes are affected. For example the arrow pointer is fine and certain other cursor shapes are fine in the same capture session on the same window, like this:

https://www.dropbox.com/s/0upe2qnjc84xi7a/noncorrupt_cursor.PNG?dl=0

I have observed this in at least Unreal Editor, Chrome (specifically the I shaped text selector cursor when editing in the address bar), and in Word (same as Chrome). In the Chrome and Word cases, it looks like the cursor has 'selection' lines around it like in a photo editing app.

I can go into Windows Mouse properties, Pointers, and if I change some of the cursors to a different cursor file, I no longer get the corruption because I am using a different cursor. For example, I could replace the "Precision Select" cursor, which is the one corrupted in the image above, with aero_busy.ani. Then the little aero wheel appears when the white cross would have and this is previewed and captured fine in OBS, but of course looks really weird to anyone familiar with the program being captured.

This may be a stretch, but if I see a pattern, it maybe has to do with cursors that are all or mostly black on a white background. For example, in in the Windows mouse properties window, the Precision Select cursor is depicted as a black cross. In Unreal Editor, it shows as a white cross on the actual screen, but the weird corrupted version in the preview/capture.

My setup is multi monitor connected to an Nvidia GTX 780 Ti with latest drivers (364.72) on Windows 10. I am capturing the display of the primary monitor and this still occurs when all resolutions match (display, canvas, output, etc.).

Note that capturing by windows instead of display does NOT exhibit this problem in Chrome. Window capture does not work on Unreal Editor and Word reliably (perhaps a different bug report) so I cannot compare there.

Note that I think I also saw this just before I upgraded from OBS MP 0.12.3, so I don't think it is something specific to the 0.13.x releases.

While a little mouse corruption doesn't seem like a big deal, it makes it difficult to create professional looking screencasts, so I'd love to see this fixed. Thanks for OBS!
 

bugreporter42

New Member
Some more info that may help debugging: The underlying pattern seems to be either cursors with inverted pixels OR black pixels on a diagonal WITHOUT transparent pixels to alias them. This site is useful for popping cursor files into:

http://www.cursor.cc

These (and many more) cursors have inverted pixels in them and corrupt in the OBS capture:

C:\Windows\cursors\lcross.cur *
C:\Windows\cursors\move_i.cur
C:\Windows\cursors\beam_r.cur

* The lcross.cur is the default Precision Select one that gets corrupted as in the first image in the first post.

Example of a cursor that doesn't have inverted pixels, but has black pixels on a diagonal and corrupts:

C:\Windows\cursors\arrow_m.cur

Examples of cursors that don't have inverted pixels, but do have transparent pixels aliasing their black diagonals. These do NOT corrupt:

C:\Windows\cursors\aero_arrow.cur
C:\Windows\cursors\aero_up.cur

Some possibly useful links:
http://stackoverflow.com/questions/9440835/how-to-make-a-cursor-contrast-with-the-background - describes cursor pixel values
https://en.wikipedia.org/wiki/ICO_(file_format) - .cur format is apparently basically .ico
https://msdn.microsoft.com/en-us/library/windows/desktop/ms648379(v=vs.85).aspx - Windows API for loading cursors

Other reports by OBS users about the same issue:
https://obsproject.com/forum/threads/windows-10-text-cursor-looks-odd.42487/
https://obsproject.com/forum/threads/obs-studio-win-10-cursor-behavior.43974/
 
Top