A gaming router is often bought to ensure that you can get the most stable low ping internet to keep your online multiplayer games running without any lag, they aren’t designed to be gamed on, but that doesn’t stop us. A Hardware modder Manawyrm at kittenlabs.de has showcased their recent project which involves playing games on a TP-Link Router through the use of an eGPU.
This feat of hardware tinkering makes use of the TP-Link TL-WDR4900 V1 with a Linux build and a Radeon HD 7470 GPU connected externally. This router was chosen because instead of the typical MIPs or ARM CPUs that most routers use, this one uses a PowerPC-based CPU by NXP which offers a surprising amount of performance for a 2013 router, plus the modder claims that they have excellent PCIe controllers. Despite that though the router didn’t come with any external PCIe connectivity so it was required to retrofit one using a custom mini PCIe breakout PCB and some enameled copper wire. One of the existing PCIe traces leading from the CPU to one of the Atheros chipsets was cut and redirected towards this mini PCIe slot.
The modder installed Debian Linux onto the router and then initially tested it with a more modern RX 570 but ran into issues with the drivers. These issues weren’t exclusive to this router and seemed to extend to any other 32-bit platform as well. They then chose the older Radeon HD 7470 which worked much better.
With the hardware sorted, now it was time to test, and the chosen game was a reverse-engineered version of GTA Vice City (reVC). Unfortunately, this didn’t work right away as the game and rendering engine weren’t big-endian aware. “Loading the game’s assets will load structs (containing offsets, sizes, numbers, coordinates, etc.) directly into memory. These structs then contain little-endian data on a big-endian platform. This causes the game to try to access memory at absurd offsets and crash pretty much immediately.”
So how did they fix this? Well for a start they found another port of reVC for the Wii U that uses a PowerPC-based processor as well and was running in big-endian mode. They contacted the author of this port, reviewed and borrowed their patched source code but still had issues. They spent a long time searching for methods of fixing this until eventually tried a new kernel with newer Radeon drivers alongside a few other changes to their kernel. All of this eventually led to a slow 1 frame per 20 seconds but the graphical corruption was all but gone. Fixing the frame rate required installing a new update mesa on the router and after installing the new libglvnd, drm and mesa, the game began to work fine on real hardware, Though the modder was a bit unhappy to not have discovered the exact issue.
The result of all this can be seen below and it’s pretty cool to see a router used this way.
SOUNDS GREAT – Full stereo sound (12W peak power) gives your setup a booming audio…
Special Edition Yoshi design Ergonomic controller shape with Nintendo Switch button layout Detachable 10ft (3m)…
Fluid Motion: These flight rudder pedals are smooth and accurate that enable precise control over…
Heavy Equipment Bundle: Includes a steering wheel for heavy machinery, gas and brake pedals, and…
Low-profile Keys for an ergonomic gaming experience. With slimmer keycaps and shorter switches, enjoy natural…
Size & style: Ambidextrous lightweight mouse for gaming. Built for speed, control and comfort, with…