USB devices flickering
Hello. I have been experiencing an issue with my USB devices when running Windows through Boot Camp. During GPU-intensive scenes in several games, my USB devices flicker on and off without fully disconnecting. Even after closing said games, strange phenomena happen. Examples: mouse lights flicker on and off, and if I move the mouse while lights are off, the cursor "jumps" to the final position. The keyboard registers continuous key presses, even though I only pressed a key once. Headphones have static, and the microphone gain gets extremely blown out.
I have disabled the USB selective suspend options, to no avail. I currently have some possible explanations:
A. Incompatibility between the USB hub I'm using (a Lenovo USB hub that also has Ethernet, HDMI, a SD card reader etc.) and Windows or the TB3 drivers
B. Too much bandwidth usage in the same USB/Thunderbolt 3 controller between the eGPU and the hub (could be alleviated by connecting the hub to the other side)
C. AMD Boot Camp Driver optimizations interfering with memory mapping for USB devices (could be alleviated by using the no-optimization V2 drivers)
Would anyone have any suggestions regarding fixing this? (As a reminder, Windows 10 1903 after .295, as well as 1909, don't work with this enclosure on Boot Camp)
13-inch MacBook Pro, 2018, 4 TB3 ports (MacBookPro15,2)
Sonnet Breakaway Box 550W, connected through an active TB3 cable to the top left-hand side TB3 port
Sapphire RX 5700 XT Nitro+
Dell U2414H monitor (which also has an integrated USB hub that I tested, with no differences)
Windows 10 1809 initial build, in Boot Camp
BootCampDrivers 2020 Adrenalin Edition 19.12.3
macOS 10.15.2 on the other partition
Sample applications that trigger the problem:
Yakuza 0, The Division 2, NieR: Automata, Google Chrome playing several YouTube videos, RPCS3 etc.
Have you tried connecting these input devices separately (i.e. Keyboard, mouse, etc.) directly to your Macbook? I had issues with my entirety of USB devices until I removed all input devices and connected these directly to the Macbook. Apparently these types of devices can cause Magnetic interference over a TB3 connection that can cause extraneous jumps on the USB side of things (or random disconnect/connect events). After I separated these, I have no problems with a DAC that is always connected to the eGPU over USB.
The devices I mentioned tend to work better when I connect them directly, but unfortunately I have 4 USB devices (headset, external SSD, keyboard and mouse) for only 3 ports, since one is taken by the enclosure.
I could use one less port by resizing my Boot Camp partition to avoid using an SSD, but it's kind of hard with a 256 GB internal SSD and the need to use dev tools on both Mac and Windows, as well as games. Previously, I also tried to use a headset with 3.5 mm connector, but that didn't work very well, as the microphone has an insane amount of gain when connecting via TRRS plug.
As for the theory that the problems come from magnetic interference, I'm not so sure, as everything (USB and 3.5 mm) works fine on the exact same configuration under macOS 10.15.2, and as the problem only appears under high GPU load on Windows. I believe this is a software problem due to interactions between drivers. There might be some conflict between memory allocation from the AMD driver and memory mapping for all other I/O, or some incompatibility between the Thunderbolt drivers on Windows and the specific hardware used in both the monitor's USB hub and the Lenovo hub.
It appears to me, however, that no one else so far has reported a success with using a USB hub in the same context. If I could get the number of ports used down by 1 (maybe by figuring out a way to make the microphone gain on the 3.5 mm jack work normally), this would probably be a workaround (but not a full solution.)
What if you place the low speed mouse/keyboard on a usb 2 hub and the ssd on a usb 3 port?
I didn't really have a USB 2.0 hub with which to test this out. However, it seems like TRRS decided to work out of the blue, so I just ditched the hub altogether. Sadly, it seems there is no real fix other than to avoid using a hub at all.