Most people only use a single PCIe slot on the motherboard, namely the topmost x16 slot, to install their graphics card. The other PCIe slots are left vacant on most PCs since any additional capability served by expansion cards is already baked into modern motherboards. Wi-Fi and high-speed Ethernet are on almost every motherboard, and most users have more SATA slots than they know what to do with.
Even sound and capture cards have fallen out of favor, so it's hard to justify populating more than one PCIe slot on the motherboard. However, I wanted to finally use my vacant PCIe slots for something useful, and fortunately, I found some solutions.
My GPU still runs in x16 mode
No reduction in GPU performance
One of the concerns some people have with populating all the PCIe slots is the risk of reduced bandwidth for the graphics card. Due to the sharing of PCIe lanes between some PCIe and M.2 slots, installing an SSD in such slots can sometimes halve the bandwidth available to the graphics card. This is why your NVMe SSD can slow down your GPU if it's installed in an M.2 slot that shares PCIe lanes with the GPU slot.
That said, I didn't have to face a similar problem because the vacant PCIe slots on my motherboard were connected to the chipset. There was no question of sharing PCIe lanes with the GPU slot, which was directly connected to the CPU. My graphics card continued to operate in the x16 mode, enjoying all 16 lanes available to the primary PCIe slot.
x2 and x1 slots are enough for my expansion cards
Solving long-standing issues without performance penalties
When I was contemplating which expansion cards to install in my vacant PCIe slots, the first one was a no-brainer. For several years, I've been facing a weird Ethernet problem. The connection randomly drops to 100Mbps instead of the 1Gbps link it should otherwise report. This leads to a straight halving of my internet speeds on my 200Mbps connection. I had failed to conclusively solve this issue until now.
I decided to get a 2.5GbE PCIe card in hopes of removing the problem from the root, and it worked. I haven't seen the speed drop issue in weeks, and I haven't made any other changes to the PC. The best part is that the PCIe NIC doesn't need too many lanes for maximum performance — one of the PCIe x1 slots was the perfect fit for it.
I used the other x1 slot to add some extra USB ports to my motherboard since I keep running out of them, and have to resort to USB on my monitor. The 8Gbps bandwidth of the x1 slot was enough for the USB 2.0 adapter. Finally, I designated the remaining x2 slot for a PCIe M.2 adapter, so I could install some slower NVMe SSDs in the future. An x4 configuration is ideal for NVMe drives, but I need capacity, not speed, on tertiary drives.
The expansion cards don't block any other cables
A bit of elbow grease, and it was all good
Another concern when adding too many PCIe expansion cards is potentially obstructing airflow or other connections. Space can sometimes be a legitimate issue, depending on the size of the graphics card. Since my GPU is only a two-slot card, I didn't face this problem. As for crowding the inside of the case, three expansion cards weren't going to make much of a difference to the airflow.
Lastly, installing anything in the bottom PCIe slot can be a challenge since there are cables connected to the fan and USB headers below it. However, I used that slot to install the PCIe NIC, which didn't have any thickness to speak of. With that, I had successfully utilized all the vacant PCIe slots on my motherboard, making some useful modifications to my PC.
Put those spare PCIe slots to use
You can take advantage of spare PCIe slots by installing useful expansion cards to improve the networking, storage, and I/O capabilities of your PC. Sound and video capture are also areas you can improve, but the impact is usually not as great on modern motherboards. I managed to solve a weird networking problem and increase the number of USB ports and M.2 slots on my motherboard by filling all the PCIe slots.
