Open Anuskuss opened 1 year ago
same, bump.
Hello, as we often repeat, WIC is missing on the version of Windows you are using, and this is used via ImGui for displaying images.
No one has found a solution to date on Linux, if you unblock the situation, we're a taker.
WIC is missing on the version of Windows you are using
I don't think that's it. I installed windowscodecs
via protontricks
and the error is still there. Could you maybe add more errors messages if you don't mind?
Problem is that this error isn't caused by RocketStats but ImGUI itself, so we don't have any info on what is causing this error to happen. The only thing that we know is that ImGUI is unable to load images found in RocketStats/Resources
in this repo.
As far as I can find this plugin doesn't call LoadForImGui
before it checks IsLoadedForImGui
:thinking:
I can't find documentation on them but their names imply that you need to call load before the isloaded would ever return true? Not sure why it would work without this on windows.
edit:
okay so I found that GetImGuiTex
should also load the image but I don't think this is called before IsLoadedForImGui
checks in many cases.
The third parameter of the "ImageWrapper" class precisely requests the loading for ImGui.
Ah yep I see :facepalm:
Any news about this? I decided to debug this but without success. Anyway I did remove this (pointless?) check https://github.com/Lyliya/RocketStats/blob/b07d11e2fcb40ca117b5a3a5d81728b39a39c717/RocketStats/Managements/WindowManagement.cpp#L436 which allows me to change the theme (I now use a theme which doesn't have any icons).
But I did find out that RocketStats uses functionality from BakkesModSDK to load images so I figured that this was the wrong place to submit the bug report as it's most likely a bug in BakkesModSDK instead (https://github.com/bakkesmodorg/BakkesModSDK/issues/75).
Thank you for taking the time to address this concern. Our plugin is not the only one that has this problem and after a lot of research we noticed that WINE does not understand WIC (Windows Imaging Component).
I hope BakkesMod has a solution :)
@Stanbroek figured out that TGAs work so I went ahead and converted all PNGs to TGAs and it works now :)
If someone wants to try it out you'll need to grab the ZIP and move the bakkesmod
directory into
~/.local/share/Steam/steamapps/compatdata/252950/pfx/drive_c/users/steamuser/AppData/Roaming/bakkesmod
and override all files. The other files are only needed if you wanna compile it yourself.
I guess for the RocketStats devs TGAs could be useful as they are much lighter computation-wise and sometimes even beat PNG size-wise but I don't want you to do that just for Linux compatibility as I'm sure BakkesMod can find a workaround or WINE manages to emulated WIC correctly someday.
The plugin loads and works but isn't fully functional. Same error message when installing manually or through BakkesMod itself:
Running in Linux is done through Proton (Wine) which emulates a Windows environment. I don't know how those files get loaded but maybe try using absolute paths?