Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

I had an issue on Kubuntu (X11) where it kept crashing after accepting the TOS with this error:

X Error of failed request: BadCursor (invalid Cursor parameter)
Major opcode of failed request: 2 (X_ChangeWindowAttributes

I traced it to the ImGui + SFML integration, where sf::Cursor::loadFromSystem is used to set various ImGui mouse cursors.

I managed to work around it by creating a patch to override the loadFromSystem method at runtime. Here is that override:

#include <SFML/Window/Cursor.hpp>
#include <iostream>

extern "C" bool _ZN2sf6Cursor14loadFromSystemENS0_4TypeE(void* self, int type) {

    std::cerr << "[cursor-patch] Intercepted loadFromSystem(type = " << type << "), forcing fallback\n";

    return false;  // Simulate failure to load cursor

}

Then compiled it with:

g++ -fPIC -shared -o patch_cursor.so patch_cursor.cpp

Then launched the app with this:

LD_PRELOAD=./patch_cursor.so ./RahiTuber

This let me get past the TOS screen by skipping the bad cursor path and using the fallback instead and now starts normally since the config file has been created and is skipping the TOS screen. 

Edit: Almost forgot I also had to create a symlink for libportaudio.so, as only libportaudio.so.2 was present on my system:
sudo ln -s /usr/lib/x86_64-linux-gnu/libportaudio.so.2 /usr/lib/x86_64-linux-gnu/libportaudio.so

Side note: Doing anything in this itch.io text box is a formatting nightmare.

Hi, thank you so much for the report and for the helpful information!


If you like, you can find the github repository in the project info and submit this as a change - the repo has had some useful updates from Altazimuth to really streamline the building process with a cross-platform CMake solution, so hopefully it should be easy to get running on your Linux distro.

One thing to bear in mind is that you'll have to manually copy the "res" folder to the built executable output location or it will crash.