I am running a Mellanox PCIe card that uses PCIe 4.0 x8 that should be running at 16GB/s. This is connected into a PCIe 3.0 x16 slot on this motherboard. This also runs at 16GB/s and I should be able to obtain the full speed from this slot with my card. However when running lspci --vv the card says it is only running at Speed 8GT/s (downgraded), Width x8 (ok) I think this is stopping me be able to use the card. Why would it do this?

This is running on Ubuntu 22.04

  • What else do you have connected to the PCIe bus? The card running at x8 shouldn't prevent you from using the card, considering the description of the card is an x8 card not a x16 card. Please edit your questions to include the necessary details required to diagnose your issue.
    – Ramhound
    Commented Feb 24, 2023 at 10:37
  • Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.
    – Community Bot
    Commented Feb 24, 2023 at 10:37
  • 1
    but your slot is pcie 3.0, and you card is x8 so it will only use 8 lanes pcie 3.0 even when it's an x16 slot; that's how it works
    – Tom Yan
    Commented Feb 24, 2023 at 10:43
  • 1
    I'm not seeing any comment even said otherwise (i.e. false information). So running a pcie gen 4x8 card on a pcie gen 3x16 slot is that your pcie can run only gen 3 speeds and your card can run only 8 lanes so you end up with pcie gen 3x8lanes... Besides, literally you can deduce from the physical width. If it works like how you thought, then all pcie slots can have x1 contact/finger/width (since all the speed can be rerouted / aggregated to that single contact)
    – Tom Yan
    Commented Feb 24, 2023 at 10:54
  • 1
    @maxwalley "x8" is telling you how many "bits of wire" the card or motherboard has available to transfer data over. If one side has 16 and the other has 8 then you will only ever get an x8 connection because the required wires for x16 are physically not available to be used. The generation "2" or "3" tells you the maximum speed the electronics can work at. If one side is Gen3 and the other is Gen4 then the Gen4 will fall back to Gen3 speeds, the highest that both sides can physically talk. Plugging a Gen4 x8 card into a Gen3 x16 slot will result in a Gen3 x8 connection as a result.
    – Mokubai
    Commented Feb 24, 2023 at 11:32

1 Answer 1


There is some compatability for PCI-E 3.0 and 4.0. You can run a PCI-E 4.0 card in a PCI-E 3.0 slot but you will do so at a reduced speed.

The article you originally link also has that information in it:

PCIe versions are forward compatible, meaning that you can use a newer PCIe device with an older system. However, PCI-Express will use speeds based on the lowest of the two versions for communication.

A x4 Device will always ever use x4 speeds even if in a bigger slot because there aren't more physical connections that could be used to transfer more data.

The article you linked even has a nice little table for the speeds.

x1 Bandwidth x2 Bandwidth x4 Bandwidth x8 Bandwidth x16 Bandwidth
PCIe 1.0 250 MB/s 500 MB/s 750 MB/s 2 GB/s
PCIe 2.0 500 MB/s 1000 MB/s 2 GB/s 4 GB/s
PCIe 3.0 1 GB/s 2 GB/s 4 GB/s 8 GB/s 16 GB/s
PCIe 4.0 2 GB/s 4 GB/s 8 GB/s 16 GB/s 32 GB/s
PCIe 5.0 4 GB/s 8 GB/s 16 GB/s 32 GB/s 63 GB/s
PCIe 6.0 8 GB/s 16 GB/s 32 GB/s 63 GB/s 126 GB/s

The card is a PCI-E 4.0 device while your board only features PCI-E 3.0. As a result your x8 PCI-E 4.0 device will only run at up to 8 GB/s (x8 PCI-E 3.0).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .