Gaming On A TP-Link TL-WDR4900 Wireless Router

When you look at your home router, the first thought that comes to mind probably isn’t about playing games on it. But that doesn’t stop [Manawyrm] and [tSYS] from taking on the task of turning the 2013-era TP-Link TL-WDR4900 router into a proper gaming machine using an external GPU. This is made possible by the PCIe lanes on the mainboard, courtesy of the PowerPC-based SoC (NXP QorIQ P1014) and remappable Base Address Registers (BARs). This router has been an OpenWRT-favorite for years due to its powerful hardware and feature set.

This mod required a custom miniPCIe PCB that got connected to the PCIe traces (after cutting the connection with the Atheros WiFi chipset). This allowed an external AMD Radeon HD 7470 GPU to be connected to the system, which showed up in OpenWRT. To make full use of this hardware by gaining access to the AMD GPU driver, full Debian Linux was needed. Fortunately, the distro had a special PowerPCSPE port that supports the e500v2 CPU core in the SoC. After this it was found that the amdgpu driver has issues on 32-bit platforms, for which an issue ticket got filed.

Using the legacy Radeon driver helped to overcome this issue, but then it was found that the big endian nature of the CPU tripped up the Grand Theft Auto: Vice City game code which has not been written with BE in mind. This took a lot of code patching to help fix this, but eventually the game was up and running, albeit with glitches. Whatever the cause of these graphical glitches was will remain unknown, as after updating everything things began to work normally.

So now it’s possible to convert a 2013-era router into a gaming console after patching in an external GPU, which actually could be useful in keeping more potential e-waste out of landfills.

Thanks to [adistuder] for the tip.

18 thoughts on “Gaming On A TP-Link TL-WDR4900 Wireless Router

  1. While I laud the hack as neat there’s absolute piles of modern CPU tablets and laptops that get slagged every day for lack of interest. Lower hanging fruit rotting on the ground, as it where.

    US schools are probably the most egregious offenders (that I see) as they appear to get free money to throw away technology. No idea on how you’d change that but I doubt PCIe hacking a router’s going to make a dent in re-use.

      1. pretty much every school in my area is guilty of this. But in a way you probably don’t think of. The students get total POS chomebook junk. Then the rest of the budget goes towards insanely high end laptops that get replaced at least every 2 years if not every year. The worst part is that are mandated to destroy the old systems or hire out a 3’rd party to do so. Every 3’rd party around here is a school employee that basically takes the old systems and resells them because there is no verification done. It is truly sad.

  2. Looking around his blog I learned of the 22kb iPXE modified to boot NVMe on older BIOS systems, even 32-bit. Read only, but that’s cool enough.

    Complain as you like at this hack, but eventually SBC will have GPU support partially aided by hacks like this. And its a fairly decent hack that didn’t hurt anyone, just some throwaway tech.

  3. This is a great article, and explains my intentions and interests when I started documenting on an LX2K ARM-workstation. I’ve always wanted a RISC desktop that could take a modern GPU so I could also work on multimedia projects. Running this on an embedded PowerPC with Big-Endian and getting things running mostly smoothly shows how capable even embedded RISC CPU’s are at performing daily workloads. Kudos to this guy for getting all of this working, as I still have issues with PCIe GPU’s on a PowerMac G5 Quad. Love this post!

  4. > After this it was found that the amdgpu driver has issues on 32-bit platforms, for which an issue ticket got filed.

    And subsequently auto-closed due to lack of response as is customary in such larger projects ;p

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.