Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No icons in WINE (Linux) #30

Open
Anuskuss opened this issue Dec 3, 2022 · 11 comments · May be fixed by #44
Open

No icons in WINE (Linux) #30

Anuskuss opened this issue Dec 3, 2022 · 11 comments · May be fixed by #44

Comments

@Anuskuss
Copy link

Anuskuss commented Dec 3, 2022

The plugin loads and works but isn't fully functional. Same error message when installing manually or through BakkesMod itself:

Error - Check that this folder is present in BakkesMod: data/RocketStats

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?

@Skidamek
Copy link

same, bump.

@Arubinu
Copy link
Collaborator

Arubinu commented Dec 10, 2022

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.

@Anuskuss
Copy link
Author

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?

@Larsluph
Copy link
Collaborator

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.

@Amzd
Copy link

Amzd commented May 27, 2023

As far as I can find this plugin doesn't call LoadForImGui before it checks IsLoadedForImGui 🤔

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.

https://github.com/bakkesmodorg/BakkesModSDK/blob/fc83258a066c1fee199c355f4eef40d716175036/include/bakkesmod/wrappers/ImageWrapper.h#L36

@Arubinu
Copy link
Collaborator

Arubinu commented May 28, 2023

The third parameter of the "ImageWrapper" class precisely requests the loading for ImGui.

@Amzd
Copy link

Amzd commented May 28, 2023

Ah yep I see 🤦

@Anuskuss Anuskuss changed the title Doesn't work in Linux No icons in WINE (Linux) Jul 5, 2024
@Anuskuss
Copy link
Author

Anuskuss commented Jul 5, 2024

Any news about this? I decided to debug this but without success. Anyway I did remove this (pointless?) check

if (rs_logo != nullptr && rs_title != nullptr && rs_logo->IsLoadedForImGui() && rs_title->IsLoadedForImGui())

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 (bakkesmodorg/BakkesModSDK#75).

@Arubinu
Copy link
Collaborator

Arubinu commented Jul 5, 2024

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 :)

@Anuskuss
Copy link
Author

Anuskuss commented Jul 9, 2024

@Stanbroek figured out that TGAs work so I went ahead and converted all PNGs to TGAs and it works now :)

RocketStats_PNG2TGA.zip

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.

@LOSEARDES77 LOSEARDES77 linked a pull request Oct 14, 2024 that will close this issue
@eyeonus
Copy link

eyeonus commented Jan 1, 2025

@Stanbroek figured out that TGAs work so I went ahead and converted all PNGs to TGAs and it works now :)

Yup, worked for me, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants