If your computer has an integrated graphics card and also a gaming graphics card, follow the instructions in this thread to disable the integrated GPU.
Make sure both your headset and PC are connected to the same router. If one device is on a different router or subnet you'll get the infinite loading screen. Your PC must be wired to the router and the headset must be on 5 GHz wifi with 80 MHz channel width. Your headset must be kept close to the router if using AirLink.
If still not loading, try the following:
Make sure your graphics card driver is up to date.
Run OculusDebugTool (in C:\Program Files\Oculus\Support\oculus-diagnostics) and:
- set "(PC) Asynchronous Spacewarp" to disabled.
- set "Sliced Encoding" to off (possibly leave it enabled for cable connection but off for Airlink, but try both with it off first).
- set "Encode Dynamic Bitrate" to disabled.
- set "Encode Bitrate (Mbps)" to 70.
If that gets Link/AirLink working then you can experiment setting a slightly higher bitrate until the games/dashboard start stuttering. For cable connection, 400 Mbps max. For AirLink, 200 Mbps max. It might be possible to go as high as about 900 Mbps for cable connection, but that number keeps changing after software updates etc, so it's not reliable. Also note that you will need to check these settings every time you switch between AirLink and USB cable connection and after every software update.
Note: the folder path for the OculusDebugTool software might be "Meta Horizon" instead of "Oculus" depending on when you installed the software.