You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I haven't tested the current implementation, and I know you're not a big fan of D-Bus, but I believe this can be a much simpler implementation based on a single D-Bus call.
# initial query when no gamemode clients are active
$ qdbus6 com.feralinteractive.GameMode /com/feralinteractive/GameMode com.feralinteractive.GameMode.ClientCount
0
# now we run vkcube through gamemoderun
$ gamemoderun vkcube &disown# now we query again and it should return the number of active clients (in this case, 1)
$ qdbus6 com.feralinteractive.GameMode /com/feralinteractive/GameMode com.feralinteractive.GameMode.ClientCount
1
Now all you'd have to do is implement that in C++/Qt, but hopefully it's not too hard...
First though, I just want to check if these 3 different implementations don't lead to the same final path (a D-Bus call). I'll do some testing and I'll report back.
So I guess I'd recommend just keeping the last implementation, which is shorter and it helps the Flatpak package too, because I won't need to package the GameMode binary/library for this to work...
Alternatively, if you want to keep all of them, prioritize the one that makes the direct D-Bus call. (I just saw that you've already done that).
I'll just wait for the CI to pass and then I'll test with the AppImage.
time=" 67.028" type="debug" -> core: Game mode: DBus client count is '5'.
time=" 67.028" type="warning" -> core: Feed auto-fetch is delayed because Game Mode is active.
time=" 68.028" type="debug" -> core: Game mode: DBus client count is '5'.
time=" 68.028" type="warning" -> core: Feed auto-fetch is delayed because Game Mode is active.
time=" 69.028" type="debug" -> core: Game mode: DBus client count is '5'.
time=" 69.028" type="warning" -> core: Feed auto-fetch is delayed because Game Mode is active.
time=" 70.028" type="debug" -> core: Game mode: DBus client count is '5'.
time=" 70.028" type="warning" -> core: Feed auto-fetch is delayed because Game Mode is active.
If the checkbox in settings is NOT disabled, then it means the Gamemode is available (there is a runtime check).
I checked the box and debugged all functions related to it and it works.
Ah, I think I understand why it didn't work for me; I only tested the auto-fetch at startup, I didn't try to manually fetch or wait for the 15 min auto-fetch.
But now I tested it and it works. But maybe this can be expanded to auto-fetch on startup as well?
Activity
martinrotter commentedon May 12, 2026
OK, it is implemented, but UNtested yet.
Can you test yourself? Wait 30 minutes, until devbuild compiles and then test via AppImage.
@43v204ug
guihkx commentedon May 12, 2026
I haven't tested the current implementation, and I know you're not a big fan of D-Bus, but I believe this can be a much simpler implementation based on a single D-Bus call.
Now all you'd have to do is implement that in C++/Qt, but hopefully it's not too hard...
martinrotter commentedon May 12, 2026
@guihkx
faf7089
martinrotter commentedon May 12, 2026
So far I left all implementations there
DBus > library call > direct executable test
we need to somehow test it by someone and then i will likely remove the library call part and only keep DBus and fallback ?
guihkx commentedon May 12, 2026
Yeah, I can test this.
First though, I just want to check if these 3 different implementations don't lead to the same final path (a D-Bus call). I'll do some testing and I'll report back.
guihkx commentedon May 12, 2026
Okay, so it indeed seems like they're all relying on D-Bus in the end.
The
gamemode_query_statussymbol you call here:rssguard/src/librssguard/miscellaneous/systemfactory.cpp
Line 118 in faf7089
Calls D-Bus at the end:
The second implementation via cli, which relies on the output of
gamemoded -s, also relies on D-Bus (I checked withdbus-monitor):So I guess I'd recommend just keeping the last implementation, which is shorter and it helps the Flatpak package too, because I won't need to package the GameMode binary/library for this to work...
Alternatively, if you want to keep all of them, prioritize the one that makes the direct D-Bus call.(I just saw that you've already done that).I'll just wait for the CI to pass and then I'll test with the AppImage.
martinrotter commentedon May 12, 2026
I see. Let me clean it up.
martinrotter commentedon May 12, 2026
99aace2
guihkx commentedon May 12, 2026
I just tested with ee9f4f2, but it's not working and I think I know why:
ClientCountis a property, not a method:So instead of doing this:
rssguard/src/librssguard/miscellaneous/systemfactory.cpp
Lines 103 to 111 in 7051a38
I think you need to do this instead (untested):
martinrotter commentedon May 12, 2026
f121c4f
guihkx commentedon May 12, 2026
Hmm, I don't see any messages about Game Mode in logs now, and auto-fetch at startup still occurs when GameMode is active and has clients.
I made sure to enable the option in RSS Guard's settings as well:
Here are the logs: https://pastebin.com/raw/BaBdNDiz
This is the Qt6 text AppImage build based on f121c4f
martinrotter commentedon May 12, 2026
i will test myself.
martinrotter commentedon May 12, 2026
Latest master:
If the checkbox in settings is NOT disabled, then it means the Gamemode is available (there is a runtime check).
I checked the box and debugged all functions related to it and it works.
guihkx commentedon May 12, 2026
Ah, I think I understand why it didn't work for me; I only tested the auto-fetch at startup, I didn't try to manually fetch or wait for the 15 min auto-fetch.
But now I tested it and it works. But maybe this can be expanded to auto-fetch on startup as well?
martinrotter commentedon May 12, 2026
adefe5d
guihkx commentedon May 12, 2026
Awesome, thanks!
fix martinrotter#2265