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

Output queue full in kmesg/dmesg #10

Closed
arabek opened this issue Dec 21, 2020 · 11 comments
Closed

Output queue full in kmesg/dmesg #10

arabek opened this issue Dec 21, 2020 · 11 comments

Comments

@arabek
Copy link

arabek commented Dec 21, 2020

After game launch, this starts spamming the console:

[ 3034.516377] t300rs 0003:044F:B66E.000B: output queue full
[ 3034.533090] t300rs 0003:044F:B66E.000B: output queue full
[ 3034.533094] t300rs 0003:044F:B66E.000B: output queue full
[ 3034.533096] t300rs 0003:044F:B66E.000B: output queue full
[ 3034.551362] t300rs 0003:044F:B66E.000B: output queue full
[ 3034.551365] t300rs 0003:044F:B66E.000B: output queue full

Game: ETS2 on Steam (running the windows version via Proton Experimental)

@berarma
Copy link

berarma commented Dec 21, 2020

This is the game sending more effect updates than the device can handle. Limiting the frame rate can help with the issue.

It happens with other wheels too.

@arabek
Copy link
Author

arabek commented Dec 21, 2020

I decided to hack a bit and changed the DEFAULT_TIMER_PERIOD to 2 instead of 8 in hid-tmt300rs.h. For now it seems stable and no msg spam even with unlocked framerate. Might be a placebo but the effects in ETS2 seem more defined / on point too.

@arabek arabek changed the title Outpu queue full in kmesg/dmesg Output queue full in kmesg/dmesg Dec 21, 2020
@Kimplul
Copy link
Owner

Kimplul commented Dec 21, 2020

Might not be placebo, as you've essentially increased the effect's resolution. That being said I'm not really comfortable lowering the timer period down to 2 ms, because I experienced some issues with my wheel when I set the timer that low. The wheel itself would occasionally freeze up, and I'd have to unplug the wheel and plug it back in. Though that was before the resolution we found in #6, so the timing issue might've been also been affected by the changes.

@arabek
Copy link
Author

arabek commented Dec 22, 2020

I've now played with the 2ms setting for quite some time and it didn't occur anymore. Neither with ETS2 nor Project CARS 2 under Steam/Proton.

@Kimplul
Copy link
Owner

Kimplul commented Dec 22, 2020

That sounds promising. I'd still like to test it out on my own wheel.

I could also just set the timer to be a module parameter, so users could set their own timers, if I find out that different wheels have different tolerances.

@arabek
Copy link
Author

arabek commented Dec 22, 2020

So i've played Assetto Corsa Competizione, and this might give you a hint:
https://www.wolframalpha.com/input/?i=333hz+to+miliseconds
(game allows update rates for force feedback up to 333hz - options are 111hz, 222hz & 333hz ingame). Basically what i'm saying is - setting 2ms (3ms might do too, idk, never tested) is the only option that makes sense to me (and leaves 1ms for other stuff the wheel might want to do). Since i've set it to 2ms i never had any dmesg spam with queue (nor broken effects). Hope it helps.

@Kimplul
Copy link
Owner

Kimplul commented Dec 23, 2020

Yep, thanks, I'll try it out on my wheel as soon as possible. Not 100% confident in pushing such a change without some testing by myself.

@Kimplul
Copy link
Owner

Kimplul commented Jan 8, 2021

Hello again, sorry for the long delay. I added in functionality for setting the timer period when loading the module, either by modprobe hid-tmt300rs timer_msecs=NUMBER or by setting options hid-tmt300rs timer_msecs=NUMBER in /etc/modprobe.d/hid-tmt300rs.conf. As far as I could tell, setting the number to 2 ms didn't seem to crash my wheel as it had done previously, but I'm still going to keep the default period at 8 ms, just to be on the safe side.

Check that everything is alright and we can close this issue.

@arabek
Copy link
Author

arabek commented Jan 8, 2021 via email

@Kimplul
Copy link
Owner

Kimplul commented Jan 8, 2021

I'm sort of on the fence about it.

You're absolutely right that changing the timer has cleaned up the console spam on your setup, and the increased resolution is definitely a plus. But I'm not really comfortable with the thought that some people's wheels MIGHT crash the first time they're trying it out, and then have to go back and see if there's something they can do about it. I'd prefer to make sure that the wheel works out of the box, and if the user feels the need to tune the wheel then they can do so.

The output you showed in this thread admittedly does speak for the 2 ms setting, but I don't have ETS2 and no other game has had similar issues. That I own, at least.

@arabek
Copy link
Author

arabek commented Jan 11, 2021

lgtm to me

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

No branches or pull requests

3 participants