Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)I

InvertedParallax

@ InvertedParallax @lemm.ee

Posts
2
Comments
887
Joined
3 yr. ago

  • if your input is barely too late for one 125Hz poll,

    So those polls are generally isochronous to the USB bus transaction state, not based on polling frequency of the CPU, what happens is:

    1. USB interrupt URB comes in to HCI controller,.URB descriptor written to descriptor chain.
    2. Controller adds to descriptor chain, once chain length > WAT (| Timeout), interrupt and start processing incoming URBs.
    3. In interrupt controller, follow chain, push URBs onto usb stack queue, trigger handler tasklet
    4. Stack processes URB, routes to proper class driver
    5. Class driver checks if URB has file handle open (or has open ref from drivers like HID/input).
    6. If so, poll or other input read() returns value.

    Now it's possible there are multi-input poll reads in games, and I'm doing linux of course.

    For MSFT it's URB -> IRP -> WDM filter driver stack -> kernel32/directinput or win32 input stack (WNDPROCs after routing).

    In any of these cases, I'm struggling to see how interrupts would come in faster with the same code on PC.

    See, the same code probably runs on both MSFT and normal hardware, so it's going to have the same structure, unless you actually believe a dev team is optimizing input latency that much, that's often the lowest priority, they'll optimize video lag more because it's more noticeable. The engines themselves use DirectInput, and that's routed through to libinput in WINE, and the same for all devices.

    Btw, DirectInput has a device-based interface, so it couldn't poll like this anyway, basically each controller has its own input queue that is round-robin and pluck stuff out of their input stream when available.

    In any case, you're not getting the latency improvement, both because it's so different in software and because nothing can appreciate this.

    I'm not trying to be extra autistic for no reason, I've just had to make these decisions before, and these are how we have to think.

  • I can respect that, I just think there should be a lot of pressure on MSFT to reprogram firmware to support linux natively.

    The kernel has been desperately trying to move away from these 1-off, quirky drivers as they're impossible to maintain.

  • Firstly, it's not a real hub, it's an emulated hub, and you can do that emulating everything as USB 2.0.

    Secondly you can have multiple hid interface endpoints on a single device.

    Thirdly, you wouldn't be polling, these would be hid interrupt urbs, and you can storm them 1 per micropacket if you want, they just show up in the ehci buffers.

    Finally, no human is overflowing the hid interface like this, not even 8 of them.

  • Hid is what should be required.

    There are a million standards already here, I'd they really want to they can extend hid or something.

    This is just a scrappy proprietary driver for no reason :(

  • My point is that the PS link doesn't need a dedicated driver, why does this one?

  • assume they didn’t want to emulate an eight-port USB hub on the dongle.

    https://github.com/abcminiuser/lufa

    Literally a kid did this in high school, this is without hardware support, just GPIO, but he also implemented the full stack on avrusbs and cortex-ms, and one thing he emulated was multiple devices on a hub.

  • Not in the south.

    Their dedication to racism eclipses even their sexism, everything else is just in service to the greater goal.

  • Yes, nobody has any agency except the powerful.

    How manichaean of you.

  • Neither is the xbone dongle, as you argued.

    The difference is: The dongle uses all the normal standards, and doesn't need a kernel driver like the msft piece of shit.

  • Yes but the christofascists are literally the dumbest morons in the country.

    There are just so damn many of them, and they're too stupid to be stopped.

    When I was young we had a term for this: 'r-word strength'

  • Top female drivers are their version of uberx.

  • Live on the west coast of sweden, we have huge container ships going by all the time.

    TIL they have the right-of-way.

  • The reason the right are desperate for religious charter schools is that they want to build state-funded segregation academies again.

    https://en.wikipedia.org/wiki/Segregation_academy

    The south only has and only ever has had one political issue: racism. They switched parties when the democrats stopped letting them be as racist as they wanted, and they will do literally everything (they attacked America itself) to get their 'Proper Order' back.

  • It also means Firefox loses another revenue stream (that nobody ever used) keeping it going.

  • Yes, and they were hijacked by religious fascists.

    Nobody has a problem with the good people of Iran, I don't have a problem with the good people of America either.

    But the religious fascists in both countries just trying to hurt everyone else to see the pain? They need to go.

  • What in the fuck are you even talking about?

    PS5 is bluetooth, standard bluetooth, and wired uses both standard HID and standard usb audio, my point is: Why isn't MSFT?

    Also, since you clearly don't know the first fucking thing you're talking about:

    After 2016, when Bluetooth connectivity was introduced with the second controller revision (model 1708) alongside the Xbox One S, Microsoft rebranded its proprietary connection protocol as "Xbox Wireless".[10] Xbox Wireless uses the same frequency range as Bluetooth (2.40-2.48 GHz), but has a higher transmit power, improving range and input latency. Starting in 2017, Microsoft began working with third-party manufacturers to produce additional accessories using Xbox Wireless, with the first class being headsets.[11]

    With a firmware update that began rolling out in September 2021, controllers with Bluetooth are able to pair with devices using both wireless protocols, allowing those controllers to switch connections by double-tapping the pairing button.[12]

    Drivers were released in June 2014 to allow Xbox One controllers to be used over a USB connection on PCs running Windows 7 or later.[69] The Xbox One Wireless Adapter for Windows is a USB dongle that allows up to eight controllers to be used at once wirelessly.[70]

    Look at how stupid broken this is! You need drivers to use it over standard USB!

    Everything about this design is broken, it should be kicked out of the kernel and MSFT should release firmware that actually implements HID like normal, non-stupid people.

    8bitdo has exactly this, same dongle system and pairing and again, it works perfectly without any drivers at all, because they're not morons.

  • More like:

    "This is a land of evil Dixiecrats, trying to re-establish brutal racial apartheid upon their land."