RkBlog

OCuLink as an eGPU and cheap PCIe connectivity solution for laptops and mobile devices

OCuLink or optical-copper link is a PCI SIG standard for PCIe connectivity for internal and external use in PC hardware. Initially envisioned as an eGPU solution for laptops it was adopted by the server hardware manufacturers. Right now, after many years, it's gaining traction as an eGPU solution.

GPD launched a G1 eGPU and Win Max 2 2023 laptop both with OCuLink connectivity. Other Chinese AMD handheld vendors are following suit while Minisforum is launching a nettop with this connector. Cheap and popular PCIe connectivity for mobile devices? Let see.

Basic eGPU setup with a desktop GPU
Basic eGPU setup with a desktop GPU
GPD G1 as a compact and portable eGPU
GPD G1 as a compact and portable eGPU

History of external GPU solutions for laptops

Connecting an external GPU to a laptop dates to PCMCIA and ExpressCard connectors. When those got obsoleted by USB2 and USB3 things got complicated. USB can't do PCIe signaling so eGPU started to die out, but then we got miniPCIe connector inside laptops. That was PCIe connectivity used usually for wireless modems. The problem was the fact that it was not an external connector. To connect a GPU to a laptop you would have to take the bottom cover off and connect a custom cable to the mini PCIe slot.

With time wireless cards moved to USB and mini PCIe connectors also moved from having PCIe lanes to non-standard USB. This once again blocked eGPU but the popularisation of M.2 NVMe drives once again gave us an internal PCIe connector.

Custom M.2 eGPU kit
Custom M.2 eGPU kit
Custom M.2 eGPU kit

None of such eGPU solutions went mainstream as a viable consumer product. It was kept alive mostly by hobbyists. Some laptop vendors started to notice this. Alienware equipped their laptops with a custom PCIe/USB connector and released their own eGPU box. Then MSI had a few laptops with yet another proprietary connector and an eGPU dock. Nowadays we have Asus XG Mobile proprietary connector and eGPUs.

Standardised eGPU wasn't a thing until we got Thunderbolt 3 and some Microsoft effort to support GPU handling through Thunderbolt PCIe lanes. Razer released their TB3 eGPU box and that is how it pretty much started for Thunderbolt.

Thunderbolt 3 is a protocol, and standard that provides USB, DisplayPort, and PCIe connectivity through an easy-to-use connector and cable. As it has all those features crammed into one cable it's not that easy to implement and requires quite a bit of silicon to run. Add certification and licensing on top of that. Intel pushed Thunderbolt 3 technology to the USB standardization body which allowed USB 4 to become a royalty-free protocol offering similar features. Even so, both connectors tend to be rare on laptops, especially those cheaper ones. Even the integration of Thunderbolt controllers into Intel mobile SoC did not push vendors to offer TB3 on cheaper devices. On the other end, a TB3 dock still needs some electronics to take the TB3 protocol and connect a GPU to it.

Cheapest TB3 eGPU board from Aliexpress
Cheapest TB3 eGPU board from Aliexpress

The state of Thunderbolt 3 eGPU is that the docks are quite expensive, often costing as much as a mid-range GPU. The laptops that have TB3 or USB4 and without any cut-down implementations also aren't cheap. And we didn't cover software and compatibility issues. In short TB3 eGPU didn't picked off.

Asus XG mobile looks like something long-lasting and compatible with a few ROG Flow laptops that get a refresh each AMD/Intel generation. It's a proprietary solution but it works. The downside can be the noise as the eGPU enclosures are quite small and use small loud fans. You also can't put your own GPU inside. It's a locked box.

As of 2023 there are multiple M.2 kits available on Aliexpress, eBay, and similar stores. You can notice they re-use HDMI or even USB 3 cables to carry the signal from M.2 to the PCIe riser. The thing is such cables weren't designed for this so it's a constant battle of preserving signal integrity for it to work. And some kits are PCIe 3.0 x1 or x2 only.

OCuLink as a commercial eGPU product

OCuLink standard has existed since like 2013 and the PCIe 4.0 version from like 2016. You will find a lot of server hardware for it but nothing on the consumer side... nothing before GPD G1 eGPU and 2023 refresh of GPD Win Max 2 laptop.

The GPD G1 is a very small box containing a mobile RX 7600M XT graphics card. It offers OCuLink and USB4/Thunderbolt connectivity. OCuLink is PCIe 4.0 x4 while USB4 adhering to the specs is PCIE 3.0 x4 - so half of the bandwidth. Either way, both can be used for eGPU solutions. GPD Win Max 2 laptop has an external OCuLink connector allowing an easy connection with the eGPU.

GPD G1 eGPU
GPD G1 eGPU

GPD on its own is just one company, but what happened next is what will likely promote OCuLink to something more mainstream. After GPD showcased other AMD gaming handhelds makes announced their devices will also have an OCuLink connector. It's rather trivial to add so now it's also on newer Aya Neo devices and other Chinese vendors likely as well.

Minisforum, a well-known nettop maker recently released a UM790 XTX nettop with Ryzen 9 7940HS - a mobile CPU in a small desktop form factor device. And as you can guess - it got the OCuLink connector.

OCuLink connector on the Minisforum UM790
OCuLink connector on the Minisforum UM790

We got a few vendors jumping in on the connector. We got GPD G1 eGPU, and we also got a few kits to connect standard desktop graphics cards through OCuLink and it seems to be working. Not perfect but it looks like the best thing we ever got. Will we see OCuLink on a mainstream laptop? Probably not anytime soon as such things take a lot of time for bigger vendors.

Hummingbird TB3/OCuLink docking box
Hummingbird TB3/OCuLink docking box
Plexi box for OCuLink PCIe adapter board
Plexi box for OCuLink PCIe adapter board

How does OCuLink looks like?

OCuLink x8 and x4 cables
OCuLink x8 and x4 cables
OCuLink x8 and x4 cables
GPD Win Max 2 OCuLink connector next to HDMI
GPD Win Max 2 OCuLink connector next to HDMI

The most common connector/cable is the x4 one (PCIe 4.0 x4). There are also x8 wider connectors and some vendors use two x8 connectors to carry an x16 bus. This is purely in the server market.

The connector resembles DisplayPort but it's thinner. The cables are quite short and rigid. All of that is already in use in servers and really well known by manufacturers.

If a laptop or other PC does not have a matching connector we can add it. A desktop can just use a PCIe expansion card or just connect the GPU directly. For SFF PC this however could be a solution to connect a big GPU to a small PC... Laptops, and nettops with M.2 NVMe connectors can use an adapter that converts it to OCuLink. This requires removing the bottom cover of a laptop. If you are lucky the M.2 will be accessible through a small access panel - for such cases some users already started 3D printing replacement access panels that expose the connector while fully closing off the M.2 bay.

You can read more on eGPU through OCuLink on egpu.io forums.

M.2 adapters can be used for laptops without external OCuLink connector
M.2 adapters can be used for laptops without external OCuLink connector
PCIe expansion cards with external OCuLink could be handy for some SFF PCs
PCIe expansion cards with external OCuLink could be handy for some SFF PCs

GPD Win Max 2 with OCuLink eGPU

I used one of commonly available PCIe adapter boards for OCuLink. This kit also includes a 2230 M.2 adapter for older GPD Win Max 2 laptops without the external connector (or any other compatible laptop).

It uses an ATX motherboard connector to provide power on the PCIe slot but also to turn the ATX power supply on when the laptop is powered on. If you use a GPU that uses additional power connectors then the ATX power supply has you covered.

PCIe adapter board for OCuLink
PCIe adapter board for OCuLink

The GPD G1 eGPU is a much cleaner solution as it also handles power delivery for the laptop, and you don't need an ATX power supply. The disadvantage is that you are limited to RX 7600M XT and the quite steep price of the device.

For the adapter boards you connect your PCIe card - wherever GPU or other, then you connect it to the PC via OCuLink cable. ATX power supply should power on alongside the laptop. The adapter board also has a manual power-on button if needed.

Basic eGPU setup
Basic eGPU setup

After booting to Windows the GPU was detected and working. As the GPD Win Max 2 is using AMD SoC the drivers were already present. Games and synthetic game benchmarks detected the GPU. Some benchmarks like V-Ray and Corona did not and used iGPU.

For eGPU configurations one element is very important - which display is used. If you use the laptop display then some of the eGPU connection bandwidth will be used to send the rendered frames back to it. This can limit performance, sometimes quite noticeably. For optimal performance, it's recommended to use an external display connected directly to the GPU (without using or mirroring the image to the laptop display).

For best performance you should use an external display connected directly to eGPU
For best performance you should use an external display connected directly to eGPU

GPD Win Max 2 also has a USB4 connector which is pretty much the same thing as Thunderbolt 3, so I've also tested an old TB3 adapter board:

Thunderbolt 3 eGPU testing
Thunderbolt 3 eGPU testing

As you can see without an enclosure the setup will be messy and not really portable. More power-hungry desktop GPUs with PCIe power connectors will require an ATX power supply or custom power bricks with such connectors to power them up.

Intel JHL6540 Alpine Ridge Thunderbolt 3 controller
Intel JHL6540 Alpine Ridge Thunderbolt 3 controller

As you can see TB3 board is way more complex than the OCuLink - Thunderbolt controller and quite a bit of many other components. It's also around 4-5 times more expensive. OCuLink provides PCIe 4.0 x4 while TB3/USB4 offers PCIe 3.0. Also, Thunderbolt traffic goes through the CPU so the more GPU or other I/O traffic the higher the load on the CPU which can cause a CPU bottleneck quicker than for the OCuLink solution.

Performance - Nvidia, Intel Arc and Radeon RDNA with Ryzen 7840U

I've just started testing and troubleshooting TB3 and OCuLink with GPD Win Max 2 and the results are showcased in the articles linked below:

Comment article