ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.07k stars 1.28k forks source link

SteamVR 2.0.10 - Dashboard thumbnail not shown for overlay; shows question mark instead #1785

Open Raivr-dev opened 10 months ago

Raivr-dev commented 10 months ago

SteamVR 2.0.10.

After creating a dashboard overlay using OpenVR's CreateDashboardOverlay(), I then set the thumbnail using SetOverlayFromFile() or SetOverlayRaw(). Instead of showing the image, SteamVR 2.0 shows a question mark.

The SteamVR Overlay Viewer shows the image has been set correctly. The Overlay Viewer does show the correct image, but the SteamVR dashboard shows an image of a question mark. You can test and reproduce the bug using the Reality Mixer app (AppID 1844610).

An older SteamVR, version 1.27.5, shows the thumbnail correctly. Tested with beta 'temp_1.27.5 - Temporary branch version 1.27.5 (for testing)'.

TheDeveloperGuy commented 10 months ago

It has a very direct impact on perceived quality. What is the use case for "VREvent_DashboardThumbChanged"? What is the workaround in current SteamVR release (as the SteamVR icons show fine)?

TheDeveloperGuy commented 9 months ago

Latest SteamVR beta still doesn't address this issue. Can we please fix this regression? Your product bugs are affecting perception of my product. @jeremyselan @aleiby

2601677867 commented 7 months ago

This issue still seems to exist in the latest version of SteamVR, but the Reality Mixer app (AppID 1844610) seems to use other methods to solve the problem.

The last time I used iVry, I found that the icons became normal. Could you share how to fix this problem? @TheDeveloperGuy

TheDeveloperGuy commented 7 months ago

This is still not fixed, which is par for the course with OpenVR. Report a bug in every forum they have available for the purpose, and they'll ignore it for years. Kind of makes reporting bugs redundant. In this instance there seems to be two modes the dashboard works in. In 1 mode the icon is displayed correctly, in the other it isn't.

TheDeveloperGuy commented 7 months ago

@kisak-valve Rather than closing bug reports that aren't resolved, maybe getting them assigned is the better path of action?

2601677867 commented 7 months ago

This is still not fixed, which is par for the course with OpenVR. Report a bug in every forum they have available for the purpose, and they'll ignore it for years. Kind of makes reporting bugs redundant. In this instance there seems to be two modes the dashboard works in. In 1 mode the icon is displayed correctly, in the other it isn't.

Thanks for your reply. Do you have any information or code about mode 1 ?

helloworld_overlay not work

TheDeveloperGuy commented 7 months ago

No. You can't switch modes yourself. I guess it's some kind of backward compatibility mode that's used for something. It doesn't really matter, the majority of the time it displays the incorrect icon. I have seen titles display the correct icon, but haven't been able to figure out what they're doing differently.

sergioberg commented 7 months ago

Hi, I'm an fpsVR developer, I don't have this problem. But I'm using SDK version 1.26.7. Maybe this is the reason? On which SDK versions are you seeing this issue?

2601677867 commented 7 months ago

Hi, I'm an fpsVR developer, I don't have this problem. But I'm using SDK version 1.26.7. Maybe this is the reason? On which SDK versions are you seeing this issue?

Hello, the latest version 2.2.3 has this problem, I will try to use version 1.26.7 later. thanks for your advice

TheDeveloperGuy commented 7 months ago

Hi, I'm an fpsVR developer, I don't have this problem. But I'm using SDK version 1.26.7. Maybe this is the reason? On which SDK versions are you seeing this issue?

I've seen it on new and old SDK versions. It's the runtime version that changes it. I think it's related to the image format and size used for the thumbnail. Can you share what size and format your thumbnail is?

sergioberg commented 7 months ago

image

sergioberg commented 7 months ago

This works too: image

sergioberg commented 7 months ago

I am using VS 2022, C#

                    var isKeyinUse = OpenVR.Overlay.CreateDashboardOverlay("sb.fpsVR.dashboardoverlay", "fpsVR", ref overlay_dashboardoverlay, ref thumbnailHandle);
                    ..........
                    Log(OpenVR.Overlay.SetOverlayFromFile(thumbnailHandle, Directory.GetCurrentDirectory() + @"\logo.png"));
sergioberg commented 7 months ago

Thanks, that seems to confirm that the C++ API is broken. The other app I referred to previously is also C#.

Try check if you actually get thumbnail handle from CreateDashboardOverlay.

2601677867 commented 7 months ago

To make 100% sure I'm not doing anything incorrectly, I used SetOverlayTexture() to set my icon texture onto the overlay. That works, so the issue is 100% something to do with not being able to set the overlay texture for the thumbnail. Also tried using other textures for setting the thumbnail. Always the same result (ie. a ?).

The C++ API does seem to be broken, using C# and WPF without any problems.

Also I noticed that the ivry app has fixed this bug, are you the developer of ivry? Or do you use Dashboard Overlay rewritten in other languages to solve this problem?

TheDeveloperGuy commented 6 months ago

RESOLVED: The change in behaviour that was introduced with SteamVR 2.0 is:

Overlay key cannot include spaces.

This is what is causing the icon behaviour. Previous versions of SteamVR didn't have this behaviour. Everything else works correctly. Fix (in lieu of SteamVR fix) is to not include spaces in overlay key.