やじうまPC Watch

ルーターにGPUを接続して「真のゲーミングルーター」を作った強者登場

 さまざまな機器にDOOMを移植してプレイする……というのはよく聞く話なのだが、家庭用のWi-Fiルーターを改造し、ビデオカードを接続、その上で「Grand Theft Auto(GTA): Vice City」をプレイするというのは、初めての試みかもしれない。

 このたびManawyrm氏とtSYS氏は、TP-LinkのWi-Fiルーター「TL-WDR4900 v1」を改造し、AMDビデオカードである「Radeon HD 7470」を接続、その上でDebian Linuxを走らせ、GTA: Vice Cityを動作させることに成功したという。

 “TL-WDR4900 v1で”これを実現できた背景は、ほかのルーターでよく使われているMIPSやArmのCPUではなく、PowerPC e500v2がベースのNXP/Freescale製「QorIQ P1014」が使われていることが大きく影響している。このCPUは完全な36bitアドレス空間を備えており、優れたPCI Expressコントローラを内蔵し、2013年のルーターとしては比較的高性能であったのがポイントだという。

 PCI Express拡張カードはホストCPUのメモリ空間を透過的にマッピングしており、各カードには「BAR(Base Address Register)」と呼ばれるマッピングを持つのだが、マッピングの最大サイズは各CPUによって異なる。たとえばRaspberry Pi CM4でさえも、アドレス空間の64MiBまでしかビデオカードに割り当てられず、MIPSベースのCPUでは32MiBまたはそれ以下に制限されていることも多い。

 ところが、最新のビデオカードは少なくとも128MiBの空間が必要で、Intel Arcのような新しいカードでは64bitメモリ空間--いわゆるResizable BAR--により、ビデオメモリ全体をホストのメモリ空間にマッピングしている。これが、Arm CPUなどにおいてPCI Expressビデオカードがx86と同様に動作しない理由であるという。

 TL-WDR4900 v1ではArmやMIPS CPUではなく、QorIQ P1014を用いているため、このような問題が発生しない、ということだ。なお、標準の状態ではQualcomm Atheros製の2.4/5GHz無線チップセットをPCI Express経由で接続しているが、これを切断し、信号をブレイクアウトボードにジャンパーして、外部にRadeon HD 7470を接続した。

 それ以降は、Debian Linuxのインストール、GTA: Vice Cityのリバースエンジニアリングバージョンである「reVC」のビッグエンディアンへの対応作業(標準ではリトルエンディアンデータが含まれていてすぐにクラッシュするため)、新しいRadeonドライバが含まれた新しいカーネルのビルド、mesaの更新を経て、ようやくゲームが正常に動作するようになったという。