遊戲至勝 (前6章)

mythogen.engine
·
(修改过)
·
IPFS
·
遊戲即未來:四十年科技霸權的隱藏算術

遊戲即未來:四十年科技霸權的隱藏算術 (前6章)




作者 星忘塵 Nebula Walker

初版日期 23 APR 2026

引擎 MYTHOGEN ENG

網頁 mythogenengine-cyber... Facebook www.facebook.com/myt...


📖 下載電子書 Download eBook




「遊戲不是科技革命的附產品。遊戲是科技革命的壓力測試場和提款機。」

— 終章:遊戲即未來



版權聲明 · Copyright Notice

本書所有文字內容版權歸作者 星忘塵 Nebula Walker 所有。
本書由 專頁創象引擎 MYTHOGEN ENGINE 出品及協作排版。
未經作者書面授權,不得以任何形式複製、轉載、改編或商業使用。

All text content in this book is copyright © 星忘塵 Nebula Walker, 2026.
Published and produced under 專頁創象引擎 MYTHOGEN ENGINE.
No part of this publication may be reproduced, distributed, or transmitted
in any form or by any means without the prior written permission of the author.



章節目錄 · Table of Contents

#章節 Chapter核心命題 Core Thesis自序玩住學全局觀工程師的消亡路徑序章看不見的代價科技霸權底盤的形成第一章神仙打架的 DOS 時代標準戰爭的原型第二章特洛伊木馬DirectX 如何鎖住 PC 遊戲第三章微軟的恐懼與 Xbox 的誕生用虧損堵住 Sony第四章世嘉的五百萬美元善款NVIDIA 誕生的偶然性第五章AI 的野蠻生長與 Wintel 的盲區黑盒子的代價第六章Gabe Newell 的越獄行動Linux 反擊與 Steam 的新鎖定第七章CUDA 豪賭與遊戲玩家的 R&D 稅四層監獄的建立第八章唯一的軍工廠:台積電的終極壟斷信任壟斷如何煉成第九章CEO 的生死時速:Lisa Su vs Pat Gelsinger組織結構的達爾文演化第十章最後一根救命稻草壓力測試場的拆毀第十一章給遊戲玩家的情書世嘉的成全與任天堂的救贖終章遊戲即未來八次 Pattern 的最終收斂外傳上篇逃獄者Google的無魂豪賭與TPU閉環外傳下篇缺課者中國的應用狂歡與底層斷裂



關於本書 · About This Book

GameVictory 是一部科技歷史分析著作,以「偵探敘事五幕式結構」貫穿全書,
追蹤過去四十年間電子遊戲如何無意間鋪設了 AI 革命、智慧型手機、
全球半導體格局乃至地緣政治的底層軌道。

本書的核心命題:遊戲玩家,是人類歷史上最強大的非官方 R&D 資金池。

GameVictory is a work of technology history and analysis,
tracing how the video game industry inadvertently laid the foundation
for the AI revolution, the smartphone era, and the global semiconductor order
over the past forty years.



關於作者 · About the Author

星忘塵 · Nebula Walker

旺角信和中心長大的電腦少年。EEE + Computer Engineering double major 畢業。
在 DOS 底下調過 config.sys,在 HC11 微控制器上做過遊戲機,
在 Linux 底下讀過 Valve 的 Proton 源碼。
橫跨硬體與軟體、從電晶體到雲端皆有涉獵的工程師視角寫作者。

A writer with an engineer's eye — from transistors to the cloud.



出品說明 · Production Note

本書由 專頁創象引擎 MYTHOGEN ENGINE 出品。
所有歷史事實經人工研究核實;所有分析與觀點為作者 星忘塵 Nebula Walker 原創立場。

Produced under 專頁創象引擎 MYTHOGEN ENGINE.
All historical facts are human-verified.
All analysis and opinions are the original work of 星忘塵 Nebula Walker.



© 星忘塵 Nebula Walker · 23 APR 2026
出品:專頁創象引擎 MYTHOGEN ENGINE




玩住學

九十年代初,旺角信和中心的地下室裡,總是瀰漫著一種特殊的氣味——廉價影印紙、塑膠光碟盒、電腦風扇過熱時那種微微發焦的味道。那是我少年時代每個週末的朝聖地。

大補碟舖的店主未必認得我的臉,但我認得他架上所有的貨。《電腦時代》、《電腦廣場》、《PC Home》——這些雜誌在網路時代集體消失,但在當時,它們幾乎是我理解這個世界的唯一窗口。

我還有一位老師:一位港大 EEE 神人。我很多遊戲都是從他那抄來的,到電腦舖買 Maxell 磁碟——日本貨,比雜牌貴但耐用,那個年代雜牌磁碟經常壞軌——拿去他家,在 DOS 底下用磁碟機互抄。遇到不給跑的遊戲、或者吃記憶體吃到異常的,他會教我怎麼動 config.sys、怎麼換 COMMAND.COM、怎麼把記憶體擠出幾 KB 出來。所以其實我不是「一個小孩自己摸索」出來的——那些改機的本事,大半是有師傅手把手教的。

1995 年,我中三升中四那年,老師全家移民。臨走之前他跟我講的話,我至今記得:「世界要學的東西學不完。你已經可以不用等人教了,自己看書、看雜誌就能學;現在互聯網已經有了,只是還沒普及——但很快會普及,將來上網學會比等雜誌快得多。英文要學好。」

那一年之後,我沒有再找過另一位師傅。


小學的時候,家裡有一台電腦——而且始終是當年的頂規。那個年代流行「砌機」:主機板、CPU、RAM、顯卡都是可以拆開換的,我那台機器從 386 一路升級到 486、再到 Pentium。家境不算差,父母又寵我;那個年代要跑得動整套日常軟體——DOS 下的 ET3 中文系統、莎士比亞中文排版、加上 Windows 3.1、CorelDRAW——非得一路升級不可。

那時 Windows 3.1 並不是今天意義上的作業系統。你開機進的是 DOS,要跑 Windows 3.1 得自己打一行 win 指令;絕大多數日常軟體也沒有圖形介面,你面對的永遠是那個閃爍的 C:\> 游標。那個年代「用電腦」這件事本身,就是在跟命令列打交道——你別無選擇。

而那台不斷進化的頂規電腦,在我這個小學生手裡最大的用途,是拿來玩遊戲。就在一邊玩遊戲、一邊跟家裡那台電腦磨合的過程裡,我不小心學會了十六進位。

家裡有一部卡西歐工程計算機——原本是家姐的,那種中學生幾乎人手一部的標配型號——上面就有 BIN、OCT、HEX、DEC 四個按鍵。在數學課上把 255 按成 FF、再按成 11111111 打發時間,是我那時的消遣。所以「十六進位」這個詞我們早就會唸了,只是沒人告訴過我們它為什麼重要。

那個「為什麼」,是被遊戲撞出來的。改存檔也好、金手指也好,你會反覆看到同一個數字:角色練到封頂是 255、HP 上限是 255、某個數值表到頂就卡在 FF。二三十次「為什麼我的角色就是強不過去」之後,自己就把線連起來了——計算機上那顆 HEX 鍵按下去 FF 顯示 255,所以 FF 就是八個 bit 全部點亮的狀態;一個 byte 裝不下比 255 更大的數,就溢出。計算機上那顆你按過一千次的鍵,背後站著整個 CPU 的架構。

我那個年代的小孩不是坐下來學電腦的——我們是玩住學。那個年代要玩一隻遊戲,你往往得親手調 config.sys、算記憶體怎麼分、搞清楚音效卡接哪個 IRQ——軟硬體都要自己動。這些過程在當時的小孩眼裡不是苦差,是儀式:打通了,遊戲就跑;跑了,你就贏了。


2000 年前後我升上大學。那時 Computer Science、Computer Engineering、Software Engineering 這些科系早就已經有了,讀的人很多。傳統 EEE 也不冷門——它穩定、容易移民加分、家長接受——但大家讀 EEE 都是衝著「大電」那條傳統出路去的:建築二判、電廠、機電工程。很少人會想到用 EEE 來養一種跨層次的視野。

我選了 EEE,加上 Computer Engineering 的 double major。

我從小玩高達模型、遙控車、遙控直升機,心裡想做的事一直是「自己做一樣產品出來」,不是單純寫軟體。對我來說,要跨越硬體到產品,EEE 是最對的底子——即使同屆真的用這個角度在想事情的人並不多。

第一個學期,我們接到一個 assignment:用一顆 Motorola HC11 微控制器、一顆可變電阻、一條 RCA 輸出線,做一台撞磚頭遊戲機。沒有任何函式庫、沒有 framework。HC11 直接 bit-bang 出時序訊號,再透過一顆簡單的 DAC 轉成類比,才把一個個像素推到 RCA 輸出上。可變電阻那一端的類比訊號經過 ADC 取樣之後,轉換成球拍的位置。整個程式最後燒進一顆容量以 KB 計的 EEPROM 裡。

那一個學期,我一個人,從零做出了一台完整的遊戲機。


這本書表面上是在講電子遊戲如何推動了過去四十年的科技霸權。但我寫這本書的真正動機,是要回答一個更私人的問題——

為什麼我那個年代,還有人可以成長為一種橫跨硬體與軟體、從電晶體到雲端都懂一點點的工程師?為什麼這一條成長路徑,今天已經幾乎消失?

這個問題的答案,跟本書後面的每一個主角都有關。

John Carmack 之所以是 Carmack,是因為他成長的年代,硬體還是裸露的。他必須直接寫 VGA 記憶體、必須自己搞清楚 CPU 的每一個 clock cycle 要怎麼花——所以當日後 3D 繪圖引擎要在硬體極限上做取捨時,他是那個還站得穩的人。

Gabe Newell 的故事對我特別私人。我小時候不懂為什麼有些遊戲突然就跑不動、為什麼要換 COMMAND.COM、為什麼每個新版 Windows 都讓 DOS 遊戲更難玩——要等到多年後接觸 Linux,我才看清楚:那不是技術問題,是商業問題。這本書第五、第六章會展開這段歷史;但在自序這裡我只想說,有些路你是被逼著走完的,走完了才知道,原來別人也在走同一條路。

Gabe Newell 選擇 Linux,是因為他知道封閉 stack 的代價。抽象層本身不是問題,它是管理複雜度的唯一辦法;真正致命的是黑箱——當 Windows 和 Intel 把每一層都鎖起來,開發者就變成平台商的房客,隨時可以被收租、可以被逐出。Valve 要走出這個困境,需要一個不只懂 API、而是看得穿整個 stack 的領導者——因為要在一個開放但複雜的系統(Linux)上蓋起自己的遊戲平台,你必須知道哪一層打得開、打開之後能做什麼。

黃仁勳在 2006 到 2007 年間押注 CUDA、熬了將近十年,是因為他看得懂硬體與軟體之間那條縫。他既不是純軟體工程師,也不是純硬體工程師,而是一種罕見的、能夠同時握住兩端的人。

今天 Intel 與微軟的困局,本質上可以理解為:一代「只懂 framework、不懂硬體」的工程師,正在接手一個需要全局視野的帝國。他們非常聰明,但他們習慣的工作方式,是站在無數抽象層之上做優化,而不是穿透抽象層,去重新設計地基。


這本書記錄的是過去四十年的科技史。但它真正想問的問題是:

AI 時代,我們還有沒有可能培養出下一代的 Carmack、Lisa Su、張忠謀?

說真的,我本來就不算一個正常人——我只是一直在扮正常。

如果這種人已經不存在了,這本書就是一份悼詞。 如果這種人還在,這本書就是一份使用說明書。




序章:看不見的代價

凌晨兩點。

讀者或許正在這樣的時刻翻到這一頁。手邊一台 Steam Deck 流暢地跑著某款最新的 3A 級 Windows 遊戲,身旁充電的 iPhone 亮起通知,又很快暗下去。窗外城市靜了,但在地球另一端的某個資料中心,一整櫃 NVIDIA 的伺服器正以攝氏三十幾度的風扇噪音晝夜運轉,替某一個 AI 模型計算下一組權重。那些晶片出自新竹——台積電三奈米製程良率的終極勝利。

整個場景裡,每一樣東西都看起來理所當然。

但沒有一樣應該存在。

Steam Deck 是一台 Linux 掌機,它本來不該跑得動 Windows 遊戲;這件事能夠發生,是因為有一群人決定賭上公司的命運,替玩家偷偷架起一座虛擬的橋樑。iPhone 的處理器能夠量產到你口袋這個大小,是因為另外一群人願意替更大、更熱、更貪電的晶片埋單——那群人是 PC 玩家。NVIDIA 從來就不是一家「AI 公司」;它是一家賣遊戲顯卡的公司,靠著整整一代追求極致畫質的玩家,替它分攤了十年份的平行運算研發成本,才活到 ChatGPT 問世那一天。

這本書要講的,就是這整條線背後的故事。


過去四十年,矽谷、新竹、雷德蒙、東京、首爾——全球科技霸權的每一次重大轉向,表面上是 CEO 的豪賭、是華爾街的估值遊戲、是作業系統的版本更新。但若把時間軸拉得夠長,你會發現真正的驅動力只有一個:

有人想玩更好的遊戲。

這個動力聽起來微不足道,甚至有點荒謬。但它是過去四十年人類科技文明最暴力的引擎。

為了讓他們玩得更好,有公司破產,有公司起死回生;有工程師被逼著改寫別人家的顯卡驅動,有 CEO 被迫賭上整間公司的未來,去做一件自己根本不想做的事。有產業標準被蓄意絞殺,有技術路線在最後一刻被推翻。有獨裁的執行長、有瘋狂的程式設計師、有甘願吞下五百萬美元違約金的日本老人——他們彼此之間從未見過面,甚至可能一輩子都不知道對方的存在。但他們每一個人所下的決定,都在重塑同一塊看不見的底盤。

這塊底盤,就是今天 AI 革命、智慧型手機、全球半導體格局——乃至地緣政治——所站立的地方。

它從來不是被理性規劃出來的。

它是被一群想玩遊戲的人,逼出來的。


這本書要帶你回到那些現場。

回到 1990 年代初某間灰暗的辦公室,看 Bill Gates 親自敲定一樁決定 Windows 帝國未來的合作。回到 2000 年春天的東京,看一位年輕的黃仁勳走進世嘉總部,說出那句連他自己都不敢相信能奏效的話。回到 2010 年代某間 Valve 的會議室,看一群工程師決定不修改一行 Windows 源碼,就要讓 Windows 遊戲在 Linux 上跑起來。回到新竹科學園區某條永遠在運轉的無塵生產線,看全世界最難製造的晶片如何一片接一片,從不曾失約。

這也是一個關於代價的故事。

代價是看不見的,因為它從來不寫在財務報表上。它藏在每一片晶片的良率曲線裡、藏在每一行被逆向工程的圖形 API 裡、藏在每一個凌晨三點按下「再試一次」的玩家指尖。

沒有這些代價,不會有今天的 AI;也不會有你口袋裡的 iPhone、桌上的 Steam Deck、地球另一端那些替人類算出下一個句子的 GPU。

這本書要做的事,是把這筆帳,重新算清楚。





第一章:神仙打架的 DOS 時代

2025 年,你在 Steam 上買了一款遊戲。按下「安裝」,進度條跑完,按「開始」。畫面出來了,音效出來了,手把震動了。整個過程九十秒。

你不知道你的顯示卡用了哪一條中斷線。你不知道音效走的是哪個記憶體通道。你不知道你的 CPU 把哪幾個核心分配給了這款遊戲、又把哪幾個留給背景的 Discord 和 Spotify。你不需要知道。一切都被藏起來了——藏在驅動程式裡、藏在作業系統的抽象層裡、藏在遊戲引擎替你打理的幾百萬行程式碼裡。

你覺得這件事理所當然。

1993 年,同樣的動作——把一款遊戲裝進電腦、讓它跑起來——需要你親手回答四個問題:你的音效卡是哪一張?它佔用哪一條 IRQ 中斷線?DMA 通道是幾號?I/O 位址是多少?答錯任何一題,遊戲不會當機——它只是沒有聲音,或者整台電腦凍結,逼你按下電源鍵重來。

那個年代,「裝一款遊戲」這個動作本身,就是一場考試。而那場考試的存在不是意外,是整台機器從出生那天起就帶著的胎記。

那場考試後來被取消了。取消它的人,會在第二章出場。但取消的代價,要到三十年後才顯形。

這一章,先回到考試還在的年代。


支撐這場考試的,從來就不是一個被精密設計出來的系統,而是一堆為了完全不同的目的,在十年間拼湊起來的零件。

1981 年 8 月,IBM 在紐約發表了第一台 IBM PC。為了趕在 Apple II 面前守住辦公室桌面這個山頭,IBM 破天荒地放棄了自己一貫的垂直整合傳統,採用市面現成的零件——Intel 的 8088 晶片、一家西雅圖郊外小公司剛剛交付的作業系統 DOS、外加各式各樣能插進擴充槽的擴充卡。這些零件本來沒有要彼此合作;它們只是恰好被插在同一塊主機板上。

8088 晶片的 20 位元定址,意味著一次只能看見 1MB 的記憶體。IBM 工程師把其中 384KB 劃給系統與顯示硬體,留給應用程式的只有 640KB——後來人稱「常規記憶體」。1981 年,這個數字是奢侈。1987 年開始不夠。到了 1993 年,它已經是每一款認真的遊戲必須想辦法繞開的石牆。

繞開的工具叫 HIMEM.SYS 與 EMM386.EXE。前者讓系統觸及 1MB 以外的 RAM;後者在 Intel 386 之後才有的保護模式下,把高位記憶體偽裝成 DOS 看得懂的格式,讓驅動程式和部分遊戲資源偷偷搬到石牆以外的地方。使用這兩樣工具,需要玩家親手編輯一個叫 CONFIG.SYS 的純文字檔——逐行指定載入順序、記憶體配置、裝置驅動。改錯一行,開機失敗。

至於擴充卡這邊,從頭到尾也沒有人統一協調。每一張音效卡、網路卡、顯示卡,都在搶那 16 條 IRQ 中斷線與幾條 DMA 通道。1989 年,新加坡公司 Creative Technology 推出 Sound Blaster,靠的不是音質,而是它率先把 IRQ 5 / DMA 1 / I/O 220 這組預設值賣給了足夠多的使用者。之後每一張新進市場的音效卡,都得「Sound Blaster 相容」——默默把自己的預設值改成那一組,省得玩家抓狂。

這種基於市場慣例而非技術標準的「相容」,把整整一代 PC 玩家訓練成了半個硬體工程師。一旦你內化了那幾組數字,裝遊戲就是「下一步、下一步、開始」。真正的地獄只在兩種時候降臨——你是個剛入門的新手,或者你同時想讓中文系統、CD-ROM 驅動、音效卡與滑鼠在 640KB 裡各自相安。那種對著 CONFIG.SYS 改到凌晨三點的夜晚確實存在。但它是例外,不是日常。

日常,是五分鐘裝好、關燈、開打。


五分鐘奇蹟的另一半,由一群更孤僻、更偏執、願意親手跟晶片暫存器對話的人承擔。他們承擔的方式,正在替整個 DOS 時代的落幕寫下倒數。

1990 年,一位從密蘇里大學休學的 19 歲年輕人 John Carmack,進了路易斯安那州一間叫 Softdisk 的小公司,替每月磁碟訂閱寫小遊戲。不到一年後,他和幾位同事辭職,成立了 id Software。

Carmack 對 DOS 有一個近乎神學的觀點:DOS 不是作業系統,DOS 是啟動器。 當程式被載入記憶體之後,DOS 就應該徹底讓開,把整台機器——每一個時鐘週期、每一個 bit 的記憶體頻寬、每一個 I/O 埠——交給遊戲。任何試圖在 DOS 之上再疊一層抽象的東西,在他眼裡都是敵人。

這種哲學在 1992 年的《Wolfenstein 3D》身上第一次展現威力——第一款在 IBM 相容機上跑出流暢第一人稱 3D 畫面的遊戲。Carmack 做到這件事的方法,是把 VGA 晶片當作一張沒有說明書的白紙重新使用。VGA 的預設顯示模式只用了 64KB 視訊記憶體,但晶片實際上配備 256KB——多出來的 192KB,在 IBM 的官方文件裡沒有提。Carmack 挖出了這塊被遺忘的空間,寫出所謂的 Mode X:多畫面緩衝、快速頁面切換、硬體卷軸,全部同時做到。IBM 的工程師沒有預期會有人這樣用那塊記憶體;Carmack 用起來就像它本來就是為這個目的存在的。

一年半後的《Doom》把這種哲學推到極致。320×200 解析度、每秒 35 幀、256 色貼圖、偽 3D 迷宮,全部在一顆 486 CPU 上跑出來,沒有任何硬體加速,純粹靠 CPU 逐格計算每一個畫素應該是什麼顏色。Carmack 為此設計了一套叫 BSP 的渲染演算法——把一整層迷宮預先切成樹狀結構,讓 CPU 在每一幀只需要處理玩家視野內那幾個房間。這個技巧,在今天所有 3D 引擎裡都還看得到它的影子。

但 Carmack 的魔術有一個他從不對外人大聲講的前提:他必須親手記得住 VGA 晶片的每一個暫存器、486 CPU 的每一條流水線、Sound Blaster 的每一組 I/O 埠——還有 1990 年代市場上幾十款「Sound Blaster 相容」音效卡,各自偏離標準的程度。他的程式碼不經過任何作業系統中介,但代價是,他必須把整個 PC 硬體生態的所有例外情況,親手寫進自己的程式碼裡。

id Software 付得起這個代價——它只有十幾個人,每一個都是同等偏執的工程師。

但整個產業付不起。

每一家規模稍大的遊戲公司,都在替硬體碎片化繳稅。每一款遊戲出廠,要支援幾十張音效卡、十幾種顯示模式;每一種都得在遊戲裡寫對應的補丁。工程師花在硬體相容的時間,經常是花在遊戲本身的兩倍。而這筆稅不會隨著遊戲賣得更好而減輕——只會隨著遊戲賣得更好,顧客基數更雜,加倍。


1993 年 12 月 10 日深夜,這筆稅的帳單到了。寄出帳單的,是整個 DOS 時代自己最引以為傲的那款遊戲。

《Doom》,就是讓問題加倍的那個時刻。

1993 年 12 月 10 日深夜,id Software 把《Doom》的共享版本上傳到威斯康辛大學 Parkside 分校的 FTP 伺服器。檔案一上線,伺服器擠爆、當機、重啟、再當機,校方管理員半夜打電話給 id,要求把檔案搬走。接下來一年,《Doom》被下載超過 1500 萬次。

這是 PC 遊戲第一次真正跨出科技愛好者的圈子,觸及一般消費者。

但一般消費者不會自己改 CONFIG.SYS,也不懂什麼叫 IRQ 衝突。《Doom》上市兩週內,id 的技術支援信箱收到超過一萬封信——大部分不是遊戲 bug,是玩家的記憶體設定、音效卡的中斷線、他們第一次在家用 PC 上嘗試一款需要 4MB RAM 的 3D 遊戲時撞上的每一面石牆。Carmack 親自回信到深夜,一行一行教陌生人改系統。那些寫信的人,很多從來就不應該需要知道 HIMEM.SYS 是什麼。他們只想玩一個遊戲。

這時候,每一家規模大一點的遊戲公司心裡都明白了同一件事:靠 Carmack 那套寫法——每個程式設計師親手跟每一塊晶片對話——永遠不可能支撐一個面向普通人的遊戲市場。 必須有人把硬體藏起來、把設定自動化、把驅動程式做成作業系統的責任,而不是遊戲程式設計師的責任。

但那個「有人」,不會是 id。

它只能是——作業系統本身。


問題在於,正準備接管 PC 的那個新作業系統,恰好是 Carmack 整個職業生涯最不信任的那種東西。

1995 年 8 月 24 日,Microsoft 在 Redmond 總部辦了全球矚目的 Windows 95 發表會。新作業系統自豪地宣告:32 位元、記憶體保護、統一 API、再也不用改 CONFIG.SYS。

但有一個細節,微軟在發表會上沒有提——

Windows 95 上,跑不動《Doom》。

不只《Doom》。它跑不動當時市面上任何一款認真的 PC 遊戲。當微軟內部工程師把《Wolfenstein 3D》裝到 Windows 95 上測試時,畫面變成了幻燈片。Windows 95 的抽象層,把 Carmack 辛辛苦苦榨乾的每一個時鐘週期,重新吃掉了一大半。

那一刻微軟才意識到問題的嚴重性。如果這件事不解決,Windows 帝國會在遊戲——這個最大、最黏、最年輕的消費應用市場——拱手讓給 DOS。而 DOS 正在死去。遊戲不能跟 DOS 一起陪葬,否則微軟剛剛建好的作業系統護城河,會被一個簡單得令人難堪的理由從旁挖開:

因為我兒子要玩《Doom》。


回到 2025 年那個按下「安裝」的你。

你今日享受的那九十秒體驗——不用改設定檔、不用背中斷線號碼、不用知道任何硬體細節——是 1993 年那場危機的直接產物。《Doom》證明了 PC 遊戲有巨大的大眾市場;同時也證明了,DOS 時代的裸機生態無法服務那個市場。

這裡藏著一個本書之後每一章都會反覆出現的 pattern 的起源。

DOS 時代沒有平台鎖定。硬體是裸露的,軟體是自由的,任何一個程式設計師都可以直接跟機器的每一個暫存器對話。沒有中間人抽成、沒有平台商審核、沒有 API 准入門檻。這是自由。

但自由的代價,是混亂——每一款遊戲要替自己解決所有硬體相容問題,每一個玩家要替自己做半個系統管理員。當市場只有科技愛好者時,這個代價可以接受。當《Doom》讓遊戲觸及普通人,代價就變得不可承受。

而每一次「自由的代價變得不可承受」,就會有人站出來,用便利交換控制權。表面上是幫你解決問題;骨子裡,是用你對便利的感激,換取你對平台的依賴。

提供便利的人,拿走自由。這筆交易一旦完成,就不可逆。

1993 年的 DOS 時代,正是這筆交易的前夜。而即將站出來提供便利的那個人,已經在 Redmond 某棟不起眼的辦公樓裡,被分派了一項看似不可能完成的任務——

把 John Carmack,以及他背後那一整個「不信任抽象層」的派系,連哄帶騙地拉進 Windows。

他的名字叫 Alex St. John。他即將發動的那場戰役,不只會改寫 PC 遊戲的命運——它會在不經意間,為整個科技產業接下來三十年最深的一道鎖,釘下第一根樁。




第二章:微軟的特洛伊木馬 —— DirectX

2024 年,一位剛畢業兩年的遊戲工程師,準備將他的第一款獨立遊戲推出市場。他用 Unity 寫,目標平台六個:Windows、Mac、Linux、iOS、Android、Switch。每一個平台背後跑的是不同的繪圖 API——DirectX、Metal、Vulkan、加上主機廠自己的專屬介面——每一套都有自己的怪癖、自己的 bug、自己的除錯工具。同一段 shader 邏輯,他要調校到每一個 API 上都能正確運行,才算完成工作。

他心裡覺得這件事天經地義。Graphics API 嘛,自然是每家公司有自己的一套。Windows 用 DirectX,Apple 用 Metal,Linux 用 Vulkan——就是這樣。

錯。

1996 年,整個 PC 3D 繪圖世界,跑的是同一套 API。它叫 OpenGL,由一家叫 Silicon Graphics 的公司制定,開放標準、跨平台、文件完整。John Carmack 用它寫《Quake》;好萊塢特效工作站用它;CAD 軟體用它畫工程圖。

它本來可以成為繪圖世界的 HTTP——一條所有人共用的底層河道,上面百花齊放。

但它沒有。

它在 1997 到 1999 年之間,被一家從未正面與它競爭過的公司慢慢勒斃。兇手沒有留下指紋。受害人 SGI,甚至在臨死之前,親手簽了自己的死亡證明。

這一章要還原的,是這宗案的現場。因為這宗案,不是 1999 年結的。它的贓物,今日仍在被瓜分——每一位寫 Vulkan 又要寫 Metal 的工程師、每一家要同時養多支 platform team 的遊戲公司、每一個想離開 Windows 但成本高到放棄的用戶——都是受害者家屬。


I. 作案動機

要理解微軟為何一定要殺 OpenGL,先要理解 1994 年那個夏天 Redmond 的恐懼是什麼。

Windows 95 要出貨了。32 位元、記憶體保護、統一 API——這些都是微軟用了五年時間,向企業客戶、向資訊長、向財星五百強講到口乾的賣點。一切看似順風順水,直到一位叫 Alex St. John 的工程師做了一件很簡單的事:他把市面賣得最好的幾款 DOS 遊戲,裝到 Windows 95 上面跑。

《Wolfenstein 3D》幀率剩三成。《Doom》時不時當機。《SimCity 2000》連音效都發不出來。

St. John 寫了一份內部備忘錄,最後一句很不客氣:「如果我們照這樣出貨,Windows 95 會成為消費者歷史上最尷尬的遊戲平台。」

備忘錄直接遞到蓋茲辦公室。

這個場景表面上是一個技術問題——作業系統的抽象層吃掉了太多 CPU 週期,遊戲跑不順。但蓋茲看到的不是技術問題,他看到的是一條直接威脅 Windows 壟斷根基的縫

縫是這樣的:當時會買家用 PC 的人,很大一部分不是為了跑 Excel,而是為了打遊戲。如果 Windows 95 打不動遊戲,這批消費者就會繼續停留在 DOS,又或者更糟——他們會去買一台 Mac、一部 PlayStation、一台 Amiga。而一旦這批年輕用戶離開 Windows,十年之後他們走進辦公室,就不會再是 Windows 的天然擁護者。

換句話說,遊戲市場看上去是一個毛利低、麻煩多、顧客煩的下游市場。但它是整個 Windows 帝國的入口匝道。這條匝道如果塌了,Office 與 Windows Server 的護城河雖然還在,但會開始有水滲進來。

蓋茲沒有說這麼多。他只是批給 St. John 一間沒有窗戶的會議室、一支小團隊、加一句「你要什麼資源直接來找我」。


II. 武器鍛造

St. John 手下兩個工程師,Craig Eisler 與 Eric Engstrom,三個人被公司內部半戲謔半敬畏地叫做 Beastie Boys——因為他們都留長髮、穿 T 恤、有一種在微軟 dress code 邊緣遊走的氣質。他們要做的事,技術上講很簡單:寫一組 API,讓遊戲程式設計師可以繞過作業系統,直接跟硬體對話。

這組 API 分成幾個子系統。DirectDraw 處理 2D 繪圖,DirectSound 處理混音,DirectInput 處理搖桿與滑鼠,Direct3D 處理 3D 渲染。統一包裝之後,對外叫 DirectX。第一版 1995 年 9 月釋出,刻意低調,連名字都叫做 Game SDK——不敢太張揚,因為他們心知肚明:技術只是戰鬥的一半。

另一半,是要說服那群根本不信任 Windows 的遊戲工作室。尤其是 id Software 那群人。

這裡要停一下——因為這個 pattern 會在本書之後每一章重複出現。

微軟從來不是靠技術贏的。 DirectX 頭幾個版本寫得很差,文件差,執行緒不安全,記憶體管理一塌糊塗。Carmack 在他個人的 .plan 檔案裡貼過一篇公開信,逐條拆解 Direct3D 的設計缺陷,講到最後說「我會繼續用 OpenGL」。這篇文一出,當時所有有自尊心的 3D 工程師都點頭。

但微軟手上有一張 OpenGL 沒有的牌——它控制著作業系統本身

這張牌的意思是:微軟可以決定哪一個 API 在 Windows 上跑得順、哪一個要自己搞驅動、哪一個可以放入作業系統的預設安裝包。它可以決定給哪家顯卡廠商優先技術支援、哪家要自己來。它可以決定 DirectX 的下一版什麼時候出、出了之後顯卡廠商要多久之內支援。

這張牌用來打正面戰是沒用的。但用來慢慢箍住 ecosystem,是致命武器。


III. 收編

Beastie Boys 的第一個目標,是 id Software——當時 PC 遊戲界的技術圖騰。想法很簡單:如果連 id 都肯過來 Windows,其他工作室還有什麼理由不跟?

微軟派去談判的人,是一位當時在 Windows 95 專案組內部的年輕產品經理。他帶去給 id 的條件很爽快:id 把《Doom》移植到 Windows 95,微軟出全部工程資源,賣出去的錢 id 自己全部袋走。

Carmack 同意了。沒有親自動手——派副手 Dave Taylor 跟微軟工程師合作——但他同意了。

1996 年,Doom 95 上市。它在 Windows 上跑得幾乎跟 DOS 版一樣順。底下走的,正是 DirectX 那一層薄到幾乎看不見的 API。

這筆 deal 表面上是微軟輸——付出了工程資源,自己沒收一分版稅。但實際上微軟贏了一件錢買不到的東西:一個象徵符號。

從那天起,微軟每敲一扇遊戲工作室的門——Sierra、LucasArts、Blizzard——都可以講同一句話:「連 id 都過來了。」

對話到這裡,就沒什麼好爭的了。

(順帶一提,那位飛去德州談判的年輕產品經理,1996 年從微軟離職,創辦了一家叫 Valve 的公司。他的名字叫 Gabe Newell。十幾年之後,他會做一件本書第六章要講的事——親手拆掉微軟這道牆。但那是後話。)

這裡開始顯現第一筆代價:

Doom 95 的成功,讓 id 引擎成為業界的預設選擇。之後每一代——Quake、Quake II、Quake III——都以 Direct3D 作為主要渲染路徑,微軟的工程師也配合做深度優化。當這些引擎被 license 給第三方工作室,就變成了《戰慄時空》(Half-Life)、《榮譽勳章》、《雷神之鎚競技場》的底層骨架。

這條供應鏈的終點,是 2001 年前後市面上絕大多數的 PC 第一人稱射擊遊戲,底層都是為 Direct3D 做過優化的引擎。

你想用 OpenGL 做一款同類型遊戲?可以。但你要從頭寫引擎。


IV. 詐死計

OpenGL 的守護人是 SGI——Silicon Graphics。九十年代中期,SGI 是繪圖界的神。好萊塢特效、軍用模擬器、醫療成像、CAD 工作站——背後幾乎全都是 SGI 的 IRIX 工作站在跑。一台機幾萬美元。OpenGL 在這些機器上跑了接近十年,架構成熟、文件完整、跨平台。

1996 年 Carmack 用 OpenGL 寫《Quake》,幾個月之內就把 PC 的 3D 畫質推上一個前所未見的高度。這一役,OpenGL 在 PC 遊戲圈一夜之間從「工作站用的東西」變成「真正可以拿來做遊戲的東西」。

微軟如果在 1996 年正面與 SGI 開戰,微軟會輸——因為 Direct3D 那時真的還打不贏。

所以微軟選了另一條路。

1997 年 12 月,微軟與 SGI 聯合宣佈一個合作案,叫做 Fahrenheit。新聞稿寫得很漂亮:兩家公司會共同開發下一代繪圖 API,統一 Direct3D 與 OpenGL 的未來。Fahrenheit 分三層——低階層接近 Direct3D,高階層接近 OpenGL,中階層負責場景管理。對外的說法是,這會是遊戲開發者、工作站用戶、CAD 工程師共用的下一代標準。

SGI 高層當時的盤算很合理。OpenGL 已經沒辦法在 Windows 上與一家控制著作業系統的公司硬碰。如果 Fahrenheit 可以把 OpenGL 的精神帶入 Windows,SGI 等於用一個軟性的方式守住自己的技術遺產。而微軟肯合作,證明微軟也認可 OpenGL 的價值。雙贏。

基於這個判斷,SGI 做了一個致命的決定:暫緩 OpenGL 在 Windows 上的進一步投資。反正 Fahrenheit 會來,重複做沒有意思。

兩年之後,Fahrenheit 悄悄消失。沒有推出任何可用產品。沒有記者會宣佈終止。就這樣慢慢地,從 SGI 與微軟的 roadmap 裡蒸發。

官方解釋是「市場條件改變」。

實際情況是這樣——在 Fahrenheit 存在的那兩年,Windows 上的 OpenGL 驅動程式支援陷入停滯。顯卡廠商(當時的 3dfx、ATI、NVIDIA、Matrox)開始接到微軟的暗示,把工程資源傾斜到 Direct3D 優化。遊戲引擎廠商感覺到風向,開始從雙 API 支援轉為 Direct3D 優先。一代本來想嘗試 OpenGL 的新進開發者,兩年沒有新工具、沒有新文件、沒有新範例,自然就轉投 Direct3D。

Fahrenheit 不是殺死 OpenGL 的唯一原因。OpenGL 的委員會治理模式本身就比不過 Direct3D 的單一決策者迭代速度;微軟對 Windows 驅動品質的控制權也是長期的結構優勢。但 Fahrenheit 做到了一件其他因素做不到的事——它讓 SGI 自願停下腳步。而那兩年的空窗期,恰好是 Direct3D 從追趕者變成領先者的關鍵窗口。

等 SGI 回過神,發現 Fahrenheit 沒有出貨的時候——

Direct3D 已經不再是 1996 年那個被 Carmack 嘲笑的 API。DirectX 5、6、7、8 一版接一版,在顯卡廠商全力配合之下迅速追上功能;到了 DirectX 8 引入可程式化 shader、DirectX 9 推出 HLSL 著色語言,整個 PC 繪圖生態的重心已經不可逆轉地傾向微軟。Carmack 依然在自家引擎裡保留 OpenGL 路徑——從《Doom 3》(2004)到《Rage》(2011),他是整個業界少數堅持不用 Direct3D 的人。但一個人的堅持,擋不住整個生態系的潮水。

SGI 本身在 2001 年開始大規模裁員,2006 年第一次申請破產保護,2009 年被整家公司收購。曾經的繪圖之神,從此只剩下一個名字。

Fahrenheit 這筆 deal 會寫入之後所有商學院的案例研究——不是作為一筆成功的合作,而是作為一個詐死計的教科書範例。你要殺一個比你強的對手,不需要跟他打,你跟他說「來一起做事」,然後用兩年時間,等他自己停下腳步。


V. 結案陳詞

1996 年 10 月,微軟在舊金山灣的阿爾卡特拉斯島——那個關過全美最凶惡罪犯的前聯邦監獄——辦了一場 DirectX 2.0 的發佈會。活動叫做 Judgment Day。幾百位遊戲工作室代表與媒體被大巴士載上島。舊牢房改成展示間,每間關著一款即將在 DirectX 上發行的遊戲。St. John 印了一份「死亡證明書」發給每位出席者,死者一欄填的是「DOS 遊戲」。

這場派對事後被內部檢討認為過於奢華,St. John 1997 年因為一連串類似事件被請離公司。

但他留下的東西,穩穩噹噹守了微軟接下來三十年。

這裡要把本章的核心論點收得清晰——為什麼 DirectX 是一匹特洛伊木馬,而不是一份禮物?

禮物是對玩家而言。玩家從此不用再改 CONFIG.SYS、不用再 debug IRQ 衝突、不用再自己動手。裝、按 Enter、玩。DOS 時代的「硬體地獄」一夜之間消失。

木馬是對開發者而言。一個用 DirectX 寫了兩三年的引擎,要移植到其他平台,等於從頭寫起。一家把全部身家押在 Direct3D 上的工作室,不會再做跨平台,因為成本太高、邊際收益太低。這個決定一做,它就正式從一家「PC 遊戲公司」變成「Windows 遊戲公司」——這兩個詞中間的距離,就是微軟的護城河。

而一旦開發者被鎖住,消費者就間接被鎖住。因為消費者買的不是作業系統,而是跑在作業系統上面的軟體。當你最喜歡的五十款遊戲全都只跑 Windows,你就會繼續買 Windows,就算 Mac 再便宜、Linux 再開放。

這個 pattern——先用便利吸引一批下游用戶,再用鎖定效應箍住中游開發者,最後反過來鎖住上游消費者——本書之後每一章都會再見到。

  • NVIDIA 的 CUDA 先給遊戲玩家更漂亮的畫質,再鎖住 AI 研究員,最後全世界科技公司要買 NVIDIA GPU 才做得到 AI(第七章)

  • Apple 的 iOS App Store 先給用戶方便的 app,再鎖住開發者——iOS 不允許 sideload、Apple 抽 30%——最後用戶換不了手機(本書之外的案例,但 pattern 一樣)

  • 主機 SoC 先給玩家平價的 4K 遊戲體驗,再把 AMD 綁在長達十年的半客製晶片合約上,最後 TSMC 的大 die 製程經驗反過來塑造了整個 AI 晶片產業的地基(第八章)

DirectX 是這個 pattern 在消費科技史上的原型案例。之後所有的 platform lock-in,都是它的變奏。


VI. 贓物仍在被瓜分

回到開頭那位 2024 年的獨立遊戲工程師。

他要為每個平台處理不同的繪圖後端,這件事的歷史根源,就埋在 1997 年那份沒簽成的 Fahrenheit 合約裡面。如果當年 OpenGL 繼續發展,2024 年的世界可能是——一套 API、所有平台。他的遊戲寫一次,Windows、Mac、Linux、Switch 全都跑得動。他的工作室不需要養多支 QA team,不需要熬 shader 的 platform quirk,不需要每次大版本更新重修一次各平台的 driver bug。

他省下來的時間可以做什麼?可以多做兩款遊戲。可以把遊戲賣得便宜一點。可以跟大公司競爭得更激烈,因為平台稅(platform tax)沒有這麼高。

但這個世界沒有發生。

取而代之的是今日這個世界:每一個繪圖 API 屬於一家公司、每家公司用這個 API 箍住自己的平台、每一個獨立開發者都要向多位業主交租。

這個世界不是意外。它是 1994 年 Redmond 那間沒有窗戶的會議室、1996 年 Alcatraz 那場 Judgment Day、1997 年那份詐死的 Fahrenheit 合約——這一連串決定的邏輯後果。

微軟贏了這一役。但這一役贏得太乾淨、太徹底,它的副作用要到二十年後才開始顯現。DirectX 把 PC 遊戲生態鎖死在 Windows 的同時,也把 Windows 本身鎖進了一個越來越封閉的循環——每一層新的抽象都為了保護上一層的商業利益,而不是為了讓開發者觸及硬體。需要自由度的人——科研工程師、伺服器管理員、那些日後會成為 AI 研究員的人——自然就往 Linux 走。不是因為他們記恨微軟,而是因為 Windows 在結構上已經不適合他們的工作方式。

等到 2012 年 AlexNet 點燃深度學習革命的那一刻,AI 的整個生態——從 CUDA 工具鏈到 PyTorch 框架到資料中心作業系統——早已長在 Linux 的土壤上。微軟花了三十年打造的 Windows 護城河,在 AI 時代被繞過去了。

這個故事是第五章的主題。

但在到達那一章之前,我們要先去東京。因為就在 Redmond 慶祝 DirectX 勝利的同一段時間,太平洋對岸,一家日本公司正在計劃一件讓蓋茲睡不著覺的事——

他們要把一台客廳主機,做成一部電腦的模樣。

而這部電腦,會跑 Linux。




第三章:微軟的恐懼與 Xbox 的誕生

2024 年 1 月,微軟宣佈裁撤遊戲部門 1,900 人。三個月前,它剛花了 690 億美元完成人類商業史上最大宗遊戲業收購——Activision Blizzard。同年春天,幾款 Xbox 獨佔遊戲安靜地上架 PlayStation 5 商店。到了秋天,Phil Spencer——Xbox 品牌最後一位被玩家信任的代言人——交出了經營權。

一位年輕的遊戲開發者盯著這些新聞,覺得哪裡不對。你花了全世界最多的錢,買下全世界最大的遊戲發行商,然後把它的遊戲送上競爭對手的主機?你的硬體團隊整組裁掉,你的工作室一間一間關門,你的獨佔策略名存實亡——這到底是轉型,還是自殺?

Seamus Blackley——2001 年第一台 Xbox 的共同創造者——在社群媒體上給了一個詞:palliative care。安寧療護。

一台主機,從誕生到安寧療護,走了二十三年。

但如果你回到它出生那天,你會發現——它的命運,在被造出來的那一刻就已經決定了。因為 Xbox 從來就不是為了贏遊戲大戰而生的。它是為了不讓微軟輸掉另一場戰爭。


I. 作案動機

1999 年 3 月,Sony 在東京舉辦了一場發佈會。久多良木健走上台,向全世界展示 PlayStation 2 的核心:一顆叫做 Emotion Engine 的晶片。

久多良木健不是一個會低調的人。他沒有把 PS2 叫做「遊戲機」。他叫它「二十一世紀的家庭電腦」。他的投影片裡有圖表、有算力比較、有一張 PS2 與工作站 CPU 的浮點運算對比。他的潛台詞毫不隱晦:這台主機的運算能力,已經碰到了低階 PC 的領地。他暗示 PS2 將來可以上網、可以當 DVD 播放機、甚至可以跑作業系統。

兩年後 Sony 真的推出了 PS2 專用的 Linux 套件,附帶鍵盤、滑鼠和硬碟。它跑得不怎麼樣。但那不重要。

重要的是那場發佈會在 Redmond 引起的恐慌。

蓋茲的顧慮,和他五年前面對 DOS 遊戲跑不動的恐懼,是同一條神經:入口。上一次的入口是桌上型 PC——年輕人在上面打遊戲,長大後在辦公室繼續用 Windows。這一次的入口是客廳。如果每個家庭的電視下面擺的是一台 PlayStation,而不是一台 Windows PC;如果 Sony 把 PS2 做成可以上網、可以處理文書、可以收發電子郵件的家庭終端——Windows 在消費市場的護城河就會從客廳那一端開始漏水。

蓋茲召集了一次高層會議。後來流傳出來的版本裡,他問了一個很蓋茲式的問題:「我們有什麼東西可以擋住這件事?」

答案是沒有。微軟沒有主機、沒有家用硬體、沒有遊戲開發工作室。它在消費者的客廳裡,完全沒有存在感。

所以他做了一個決定——造一台。


II. 武器鍛造

微軟內部有四個人在這件事浮上蓋茲桌面之前,就已經私下在做原型。Seamus Blackley 是其中技術能力最強的——他曾經在 Looking Glass Studios 開發過一款叫《Trespasser》的遊戲,那款遊戲的物理引擎跑在 1998 年的消費級 PC 上時嚴重超前於硬體,導致商業慘敗。Blackley 從那次經驗中學到一件事:遊戲需要的算力,永遠比當下的消費級硬體能提供的更多。

他和同事們的原型方案,名字極其直白:DirectX Box。

名字洩露了一切。這不是一台遊戲機——這是一台把 DirectX 從 PC 裡面抽出來、塞進電視下方的機器。它的 CPU 是 Intel 的,GPU 是 NVIDIA 的,作業系統核心是 Windows 2000 的精簡版,開發工具就是 Visual Studio 加 DirectX SDK。微軟甚至沒有打算設計自己的晶片,也沒有打算發明新的 API。它要做的事,精確到殘忍:把 PC 遊戲開發者已經會的那一套東西,原封不動搬進客廳。

這個策略的精妙之處,要看過第二章的人才懂。

微軟花了五年時間,用 DirectX 把整個 PC 遊戲開發生態鎖死在 Windows 上。到了 1999 年,市面上每一家主流 PC 遊戲工作室,引擎都是 Direct3D 寫的,工具鏈都是 Windows 的,工程師都是用 Visual C++ 長大的。他們為 Windows 寫遊戲,就像呼吸一樣自然。

Xbox 的天才在於:它不是要求這些開發者學新東西。它只是把他們已經住的那棟樓,複製到客廳裡。

對開發者來說,為 Xbox 做遊戲幾乎是零成本的——同一套 API、同一套 IDE、同一套 shader 語言。你的 PC 遊戲,改幾行程式碼就能跑在 Xbox 上。這個「幾乎免費的跨平台」,是 Sony 和任天堂都提供不了的。PS2 的 Emotion Engine 架構異常詭異,開發難度在當時臭名昭著;任天堂的 GameCube 更是一個完全封閉的世界。

但這個設計也暴露了 Xbox 最致命的結構性問題——它的硬體成本,是按 PC 零件的價格算的。

Sony 和任天堂做主機,用的是高度客製化的晶片,量產之後邊際成本極低。微軟用的是 Intel 的 Pentium III 和 NVIDIA 的客製 GPU——兩家都是上市公司,兩家都有自己的毛利要求,兩家都不可能為了微軟的主機夢而大幅讓利。結果是:每賣一台 Xbox,微軟虧超過 100 美元。整個第一代 Xbox 的生命週期裡,微軟在硬體上的虧損,保守估計超過 40 億美元。

這個數字在當時的遊戲業是天文數字。但對微軟來說,40 億美元不是一筆遊戲投資——它是一筆保險費。 保的是 Windows 的客廳側翼。只要 PS2 沒能成為家庭電腦的標準,Windows 的消費者入口就還在。至於 Xbox 本身賺不賺錢,不重要。

蓋茲批准了這筆保險。


III. 防衛

2001 年 11 月 15 日,Xbox 在北美上市。

蓋茲本人出席了午夜首賣活動——一位身價幾百億美元的人,站在紐約時代廣場的玩具反斗城門口,把第一台 Xbox 親手遞給排隊的消費者。這個畫面傳遍全球媒體。但現場的記者們大多沒有意識到一件事:他們正在見證的,不是一家軟體公司「進軍遊戲業」,而是一場作業系統防衛戰的開幕式。

Xbox 上市時,搭載的首發護航大作是《乘光歸來》(Halo: Combat Evolved)。Bungie 這家工作室本來在做 Mac 版遊戲——蘋果的 Steve Jobs 甚至在 1999 年的 Macworld 上親自展示過《Halo》的早期版本。微軟直接買下了 Bungie,把《Halo》從 Mac 獨佔變成 Xbox 獨佔。

這筆收購的邏輯,跟整台 Xbox 的邏輯完全一致:不是為了做好遊戲,而是為了不讓對手的平台有好遊戲。微軟在主機市場的每一步,都帶著防禦者的基因——我不需要贏,我只需要你不要贏得太多。

但防禦者的基因,也意味著一件事:當威脅消失的那天,武器就會失去存在的理由。


IV. 結案陳詞

PS2 最終賣了超過 1.55 億台,是史上最暢銷的遊戲主機。久多良木健的「家庭電腦」夢想沒有實現——PS2 的 Linux 套件賣了不到十萬套,絕大多數買家只拿它來打遊戲和看 DVD。

微軟的恐懼,事後看來被高估了。PS2 從來沒有真正威脅到 Windows。真正取代家庭 PC 地位的,不是客廳主機,而是十年後每個人口袋裡的智慧型手機——但那是另一個故事。

然而 Xbox 已經被造出來了。40 億美元已經花出去了。一整個遊戲部門已經建立起來了。

一件為了防禦而造的武器,要怎麼處理?

微軟選了一條看似合理的路:既然已經投了這麼多錢,不如認真做下去。Xbox 360 在 2005 年推出,終於開始在某些季度盈利。Xbox One 在 2013 年推出,市佔率被 PS4 壓著打,但 Game Pass 訂閱模式讓華爾街看到了「經常性收入」。到了 2023 年,微軟花 690 億美元買下 Activision Blizzard——人類遊戲史上最大一筆收購。

表面上,這條路像是一個越做越大的成功故事。

但骨子裡,Xbox 的基因從第一天起就沒有變過。它是一面牆,不是一座城。牆的功能是擋住入侵者;城的功能是讓裡面的人活得好。微軟從來沒有把 Xbox 當作一座需要讓居民(玩家)繁榮的城來經營——它的每一個重大決策,都是從「Windows 帝國需要什麼」的角度出發的。

所以當 2023 年 Satya Nadella 判斷——AI 才是下一個需要保險的戰場,而客廳早已不是——Xbox 的命運就在那一刻翻轉了。690 億買來的 Activision 遊戲上架 PlayStation。獨佔遊戲一款一款開放。硬體團隊裁員。工作室關閉。

這不是自殺。這是一面牆被拆掉,磚頭搬去蓋另一面牆。

Nadella 要蓋的那面新牆,叫做 AI 基礎設施。2024 年微軟宣佈的 AI 資本支出超過 800 億美元。這筆錢從哪裡來?部分答案是:從一個不再需要虧損補貼的遊戲部門裡,擠出來。

這裡再次出現了第二章辨識過的那個 pattern——只是這一次,它的方向反過來了。

DirectX 的 pattern 是進攻:用便利吸引開發者,鎖住生態,最後鎖住消費者。 Xbox 的 pattern 是防禦:用虧損堵住側翼,用時間消耗對手的野心,然後在威脅消退之後,拆掉防禦工事,把資源調往下一個戰場。

兩個 pattern 共享同一個前提假設:遊戲不是目的,遊戲是手段。玩家不是顧客,玩家是籌碼。

當一間公司把遊戲當作手段而非目的,它就永遠不會為了玩家的利益而犧牲自己的戰略利益。 這個原則,在第十章——微軟最終如何處置 Xbox 的殘骸——會完成它的最後結算。


V. 贓物仍在被瓜分

回到 2024 年那位盯著新聞的年輕開發者。

他覺得微軟的行為不合理,因為他把 Xbox 當作一台遊戲機在理解。一台遊戲機花 690 億買遊戲公司,然後把遊戲送給對手——當然不合理。

但如果他把 Xbox 理解為一面牆,一切就說得通了。牆不需要的時候就拆,磚頭搬去有用的地方。至於住在牆後面的人——那些買了 Xbox、充了 Game Pass、信任了「獨佔」承諾的玩家——他們的投資,從來就不在微軟的資產負債表上。

這筆帳還沒結清。當微軟把 Xbox 的磚頭搬去蓋 AI 基礎設施,它同時也拆掉了一個東西——第八章會解釋它有多重要——那就是主機作為先進製程晶片的長期穩定訂單來源。PS5 和 Xbox Series X 的 SoC 都是台積電 7nm 生產的,合約長達七到十年。這種訂單是台積電敢於投資下一代製程的壓艙石之一。如果主機市場萎縮,這塊壓艙石就會鬆動。

但那是後面的事。

現在要講的,是 Xbox 機殼裡面那顆 GPU。它是 NVIDIA 做的——一顆基於 GeForce 3 架構的客製晶片,代號 NV2A。2001 年,NVIDIA 已經是 PC 顯示卡市場的霸主。

但在五年前——1996 年——NVIDIA 差一點死在一張合約上面。

那張合約的甲方,是一家日本公司。它自己也在打一場必輸的主機大戰,口袋裡的錢一天比一天少。按照所有商業教科書的邏輯,它應該把最後一分錢留給自己。

它沒有。它把最後的 500 萬美元,付給了一個犯了致命錯誤的年輕人。

那家公司叫世嘉。那個年輕人叫黃仁勳。




第四章:世嘉的五百萬美元善款

2025 年,一位機器學習工程師在公司的 Slack 上抱怨:訓練一個中等規模的語言模型,需要八張 NVIDIA H100 跑三個星期。一張 H100 超過三萬美元。他的公司排了六個月的隊才拿到貨。全世界每一間想做 AI 的公司,都在排同一條隊。

他用 PyTorch 寫模型。PyTorch 底下是 CUDA。CUDA 只跑在 NVIDIA 的 GPU 上。他試過 AMD 的 ROCm,文件殘缺、社群冷清、生態荒涼。他不是沒聽過 Google 的 TPU——但那是 Google 自己的東西,外人租得到算力,拿不到晶片。

他心裡很清楚:整個 AI 產業被一家公司掐住了咽喉。但他不覺得這件事有什麼好驚訝的。NVIDIA 做 GPU 做了三十年,技術積累深不見底——這種壟斷是時間和實力堆出來的,天經地義。

不是。

NVIDIA 差一點在 1996 年就不存在了。

那一年,它只剩下不到六個月的現金。它的核心技術路線被證明是死路。它的唯一大客戶正準備終止合約。按照矽谷的正常劇本,它應該在那一年安靜地消失,成為九十年代中期幾十家陣亡顯卡公司裡的又一個名字。

它沒有消失。因為一個自己也快死了的日本人,做了一件違反所有商業教科書的事。


I. 作案動機

1993 年 1 月,三個工程師在加州聖乔治一間 Denny's 餐廳裡坐下來,決定創辦一家公司。三十歲的黃仁勳是其中最年輕的。他在 LSI Logic 和 AMD 都待過,做過晶片設計,也做過技術行銷——這種橫跨工程與商業的雙棲經歷,在當時的矽谷並不罕見,但也不算常見。另外兩位共同創辦人 Chris Malachowsky 和 Curtis Priem,都是 Sun Microsystems 出身的硬體工程師。

他們要做的事,用今天的語言講很簡單:做一張能讓 PC 遊戲畫面變漂亮的顯示卡。1993 年,PC 上的 3D 繪圖還是一片荒地。上一章提到的 Carmack 正在用純 CPU 算力硬畫《Doom》的每一個像素;消費級的 3D 加速硬體,市場上幾乎不存在。黃仁勳看到的機會是:如果能做出一張專門處理 3D 運算的晶片,遊戲畫面會出現質的飛躍,而願意為此付錢的玩家,數量正在爆炸。

但黃仁勳在那張餐桌上做了一個決定,這個決定差一點埋葬了整家公司。

他選了一條跟所有人都不一樣的技術路線。


II. 武器鍛造——選錯的那一把

1995 年,NVIDIA 推出了它的第一款產品:NV1。

NV1 的設計野心極大。它不只是一張顯示卡——它同時整合了 2D 繪圖、3D 渲染、音效處理,甚至還有世嘉 Saturn 手把的連接埠。一張卡取代三張卡。對消費者來說,這聽起來很美。

但 NV1 有一個根本性的問題,藏在它的 3D 渲染引擎最深處。

當時所有的 3D 繪圖系統——OpenGL、即將到來的 Direct3D、好萊塢的工作站、每一款正在開發中的 3D 遊戲——用的都是同一個基礎單元:三角形。把任何 3D 物體的表面切成足夠多的三角形,每個三角形貼上材質,拼起來就是一個看得過去的模型。三角形是整個 3D 繪圖工業的通用語言,從學術論文到硬體電路,所有人都在圍繞三角形設計。

NVIDIA 沒有用三角形。

Curtis Priem 主導的技術架構選擇了一種叫做「二次曲面貼圖」的方法——用四邊形取代三角形,再用數學曲線讓四邊形的表面彎曲。理論上,這種方法可以用更少的幾何單元畫出更光滑的曲面。一顆球,三角形可能需要幾百片才能拼出來;四邊形理論上只要四片就能定義。

從純數學的角度看,四邊形有它的優雅。但工程不是數學。

問題是:沒有任何軟體是為四邊形寫的。沒有任何 3D 建模工具輸出四邊形。沒有任何遊戲引擎支援四邊形。更致命的是,當微軟在 1996 年正式發佈 Direct3D 規格時,明確規定——只支援三角形

一夜之間,NVIDIA 的整個技術架構變成了孤島。

NV1 在市場上慘敗。它太貴、音效品質平庸、2D 速度不如專門的 2D 顯示卡,而它唯一的殺手鐧——3D 加速——因為跟所有標準不相容,幾乎沒有遊戲支援它。唯一能在 NV1 上跑的 3D 遊戲,是幾款從世嘉 Saturn 移植過來的舊作——因為 Saturn 恰好也用四邊形渲染。

這就是世嘉出場的伏筆。


III. 一份註定失敗的合約

世嘉和 NVIDIA 之間的關係,始於 NV1 那幾款 Saturn 移植遊戲。NV1 的四邊形架構和 Saturn 的渲染方式相似,讓移植變得相對容易——這在 1995 年的 PC 市場上是一個獨特的賣點,雖然賣得不好。

但世嘉看到了另一個可能性。它正在規劃下一代主機——內部代號包括「Saturn V08」,也就是後來成為 Dreamcast 的前身。世嘉需要一顆圖形處理晶片。NVIDIA 已經證明它有能力設計媒體加速晶片,而且四邊形架構至少與世嘉過去的硬體基因相容。

1995 年中,世嘉與 NVIDIA 簽下合約:NVIDIA 為世嘉的下一代主機開發圖形晶片,代號 NV2。

NV2 延續了 NV1 的四邊形路線。

這個決定在當時並非完全不合理。1995 年,三角形與四邊形之間的標準之爭還沒有完全底定。Direct3D 還是初版,OpenGL 主要在工作站上跑,PC 遊戲市場的 3D 加速剛剛起步。Priem 和黃仁勳相信,如果 NV2 能在 Dreamcast 上成功,四邊形就有機會成為跟三角形並行的標準。

但他們低估了一件事:微軟的速度。

1996 年,Direct3D 開始進入它的快速迭代期。每一個新版本都在強化三角形渲染的功能集。更重要的是,微軟控制著 Windows——上一章已經講過這張牌有多致命。所有想做 PC 遊戲的顯示卡廠商,都必須支援 Direct3D,而 Direct3D 只說三角形的語言。3dfx 的 Voodoo、ATI 的 Rage、Matrox、Rendition——整個市場正在以三角形為軸心旋轉。

而 NVIDIA 還困在四邊形的島上,手裡握著一份為四邊形設計的合約。

NV2 的開發持續了超過一年。原型晶片被送到世嘉做展示。展示失敗。世嘉內部——尤其是街機部門 AM2——開始大聲反對四邊形路線,要求改用三角形。NVIDIA 內部,共同創辦人之間的爭論也在升溫。Priem 堅持四邊形有技術優勢;黃仁勳開始動搖。

到了 1996 年中,黃仁勳做了一個痛苦的判斷。

繼續做 NV2,交出一顆四邊形晶片,履行合約——但這顆晶片不相容 Direct3D,等於跟整個 PC 生態脫節。NVIDIA 會有收入,但沒有未來。

或者,放棄 NV2,承認技術路線錯誤,立刻轉向三角形——但合約怎麼辦?世嘉的錢怎麼辦?公司剩下的現金撐不過六個月。

黃仁勳後來在多個場合回憶過這一刻。他的原話是:「不管走哪條路,我們都會倒閉。」


IV. 一通不該打的電話

黃仁勳飛去找入交昭一郎。

入交昭一郎當時是世嘉美國的 CEO。他的履歷比大多數遊戲業高管都厚得多——早年在本田汽車做工程師,參與過 F1 賽車引擎的開發,後來轉入管理層,最終被世嘉挖角。他是那種在企業裡罕見的人:自己動過手的高管。他見過引擎爆缸,也見過產品線砍掉。他理解技術風險不是因為讀過案例分析,而是因為他親手做過會爆炸的東西。

黃仁勳帶去的不是一份進度報告。他帶去的是一句在矽谷幾乎沒有人敢對甲方說的話——

我們做不出你要的東西。

NV2 的技術路線是死路。四邊形不會成為業界標準,繼續做下去只會浪費世嘉和 NVIDIA 雙方的時間。NVIDIA 必須放棄這條路,立刻轉向三角形,否則公司會死。

然後他說了更不可思議的話——

但我們需要你付錢。

NVIDIA 沒有交付合約要求的產品。按照正常的商業邏輯,世嘉應該終止合約、追回已付款項、甚至提告索賠。NVIDIA 違約在先,世嘉有一百個理由不給一分錢。

而世嘉自己也不是什麼富裕的公司。Saturn 在全球被 PlayStation 壓著打,日本市場勉強維持,歐美市場幾乎潰敗。世嘉的每一分現金,都應該拿來準備 Dreamcast 的上市——找新的晶片供應商、簽新的遊戲開發合約、做行銷。把錢付給一個交不出貨的供應商,在任何一本管理學教科書裡,都是錯誤答案。

入交昭一郎聽完了黃仁勳的話。

他選擇了教科書以外的答案。

世嘉向 NVIDIA 投資了 500 萬美元。不是支付違約金,是投資——買入 NVIDIA 的股份。入交後來被引述的理由,簡單到近乎天真:他認為黃仁勳是一個值得信任的年輕人。

黃仁勳事後的回憶是:「他的理解和慷慨,給了我們六個月的生存時間。」

六個月。


V. 六個月的重生

拿到世嘉的錢之後,黃仁勳做了三件事。

第一,他把公司人數從超過一百人砍到三十五人。留下來的全是工程師。沒有行銷、沒有行政、沒有任何跟「把晶片設計出來」無關的崗位。

第二,他終止了所有跟四邊形有關的開發。NV2 的代碼、NV1 的架構、Priem 兩年多的心血——全部歸零。新晶片的代號是 NV3,架構從第一行程式碼開始,只說三角形的語言,只為 Direct3D 而生。

第三,他用剩下的錢,買了一台硬體模擬器。

這台模擬器是整個賭局裡最關鍵的一步棋。傳統的晶片設計流程是:設計電路、送去晶圓廠製造、拿回成品測試、發現錯誤、修改設計、重新送去製造——一個週期至少一到兩年。NVIDIA 沒有兩年。它甚至沒有一年。黃仁勳用硬體模擬器在軟體環境裡跑完整顆晶片的測試,先把所有 bug 修乾淨,再送去製造——「量兩次,切一次」。整個設計週期被壓縮到大約七個月。

1997 年 4 月,NV3 正式發表。它有一個新名字:RIVA 128。

RIVA 128 不是一張偉大的顯示卡。它的驅動程式在初期出了名地粗糙,OpenGL 支援殘缺,2D 畫質只能算堪用。但它做到了一件 NV1 從來沒做到的事——它跑 Direct3D,跑得又快又穩。

128 位元記憶體頻寬、100 MHz 核心時脈、每秒一百五十萬個三角形——這些數字在 1997 年的 PC 顯示卡市場裡,不是最頂尖的,但足夠進入第一梯隊。更重要的是,它的價格比 3dfx 的 Voodoo 便宜,而且 2D 和 3D 做在同一張卡上,消費者不需要像用 Voodoo 那樣同時插兩張卡。

1998 年 1 月,NVIDIA 出貨了第一百萬張 RIVA 128。

同年 3 月,NVIDIA 跟台積電簽下了戰略合作協議。

這個時間點值得停下來看一眼——因為這是第八章的伏筆。1998 年的 NVIDIA 還是一家剛剛活過來的小公司,台積電也還不是今日那個不可替代的存在。但從這一刻起,NVIDIA 的每一顆晶片,都將由台積電製造。二十六年之後,NVIDIA 的 H100——驅動 ChatGPT、Claude、Gemini 訓練的那顆晶片——依然出自台積電的產線。這條供應鏈的起點,就在 1998 年那份合約裡。

而那份合約之所以存在,是因為 NVIDIA 活過了 1996 年。

NVIDIA 之所以活過了 1996 年,是因為一個日本人付了 500 萬美元。


VI. 善款的利息

入交昭一郎後來的命運,跟他救活的那家公司形成了殘酷的對比。

1998 年,他升任世嘉全球社長。Dreamcast 在他的督導下,採用了 NEC 與 VideoLogic 合作的 PowerVR 晶片——取代了被 NVIDIA 放棄的 NV2。Dreamcast 在 1998 年底率先上市,搭載了領先時代的連線功能,畫質令人驚艷。

但 PS2 來了。

2000 年 3 月,Sony 的 PlayStation 2 在日本首賣,排隊人龍繞了幾條街。久多良木健的那句「二十一世紀的家庭電腦」——上一章提過的那場讓蓋茲睡不著的發佈會——正在成為現實。PS2 第一年就賣了超過一千萬台。Dreamcast 的銷量開始斷崖式下跌。

2000 年,入交昭一郎辭去社長職位。世嘉連續第三年虧損。

2001 年 3 月,世嘉宣佈退出主機硬體市場。Dreamcast 停產。一家從 1983 年就開始做遊戲主機的公司,在 PS2 的壓力下,永遠離開了硬體戰場。

在退出之前,世嘉賣掉了手中持有的 NVIDIA 股份。當初 500 萬美元買入的股票,賣出價是 1,500 萬美元。世嘉靠這筆錢,稍微緩解了退出主機業務時的財務壓力。

1,500 萬美元。三倍回報。以風險投資的標準來看,這是一筆不錯的交易。

但如果世嘉沒有賣——

2025 年,NVIDIA 的市值超過三兆美元。那 500 萬美元的原始投資,按照股價換算,價值超過數百億美元。

世嘉沒有等到那一天。它等不起。


VII. 結案陳詞

這一章不是一個關於投資眼光的故事。它是一個關於偶然性的故事。

把這筆帳算清楚——

入交昭一郎在 1996 年給了 NVIDIA 500 萬美元。那筆錢讓 NVIDIA 活了六個月。六個月內,NVIDIA 做出了 RIVA 128,轉向三角形渲染,接入 Direct3D 生態。1998 年,NVIDIA 跟台積電簽約。1999 年,GeForce 256 發佈——業界第一款被稱為「GPU」的晶片。2006 年,黃仁勳押注 CUDA,把 GPU 從遊戲引擎變成通用並行運算平台。2012 年,AlexNet 證明深度學習需要 GPU。2022 年,H100 驅動了 ChatGPT 的訓練。

這條因果鏈中間,有無數個可以斷裂的節點。但最脆弱的那一個——最接近歸零的那一個——就是 1996 年,入交昭一郎說「好」的那一刻。

他不是在做投資決策。他面前的那家公司,產品失敗、技術路線錯誤、現金見底、沒有可交付的成果。所有數字都在說「不」。他說了「好」,原因是——按照後來所有報導一致的說法——他覺得黃仁勳是一個誠實的人,值得再給一次機會。

這裡出現了本書追蹤的那個 pattern 的一次變奏。

前兩章的 pattern 是進攻型的:DirectX 用便利吸引開發者,再用鎖定效應箍住生態(第二章);Xbox 用虧損堵住側翼,消耗對手的野心(第三章)。這些都是大公司的戰略行為——理性、可計算、有 ROI 模型。

第四章的 pattern 是偶然型的:在進攻型鎖定能夠發生之前,必須先有人活下來。而活下來這件事,有時候不是靠戰略,是靠一個人在一個瞬間做了一個沒有理性根據的決定。

NVIDIA 後來的 CUDA 壟斷——第七章會展開——是教科書級的平台鎖定。但 CUDA 壟斷的前提,是 NVIDIA 在 1997 年重新進入三角形世界、在 1999 年成為 GPU 的定義者、在 2006 年有足夠的市場地位去押注十年。而這一切的前提,是一筆 500 萬美元的善款。

商業教科書會告訴你:壟斷是系統性工程。對。但系統性工程的第一塊磚,有時候是一個人的直覺、一頓不該吃的飯、一通不該打的電話。


VIII. 贓物仍在被瓜分

回到開頭那位 2025 年抱怨 H100 排隊的機器學習工程師。

他被 NVIDIA 掐住咽喉,這件事的因果鏈不是從 CUDA 開始的,不是從 GeForce 開始的,甚至不是從 NVIDIA 創辦開始的。它的真正起點,是一個日本遊戲公司的高管,在自己的公司即將沉沒的時刻,把最後的救生圈丟給了別人。

這筆帳的荒謬之處在於:世嘉為了做遊戲主機,簽了一份顯卡合約;合約失敗了,世嘉選擇付錢而非追債;那筆錢救活了一家公司;那家公司用二十年時間,建立了今天掐住整個 AI 產業咽喉的壟斷。

世嘉是受害者嗎?不全然。它拿回了三倍回報,只是賣早了。NVIDIA 是受益者嗎?毫無疑問。但真正的受害者,是 2025 年每一個被 CUDA 鎖定的 AI 研究員——他們正在為一筆 1996 年的善款,支付遠期利息。

而世嘉退出主機戰場之後,它空出來的那個位置,恰好被一家美國公司填上了。那家公司在上一章剛剛登場——它用了一顆 NVIDIA 的晶片,做了一台跑 Windows 的客廳主機。

Xbox 裡面那顆 GPU,代號 NV2A,基於 GeForce 3 架構。GeForce 3 的祖先,是 RIVA 128。RIVA 128 的存在,是因為入交昭一郎的 500 萬美元。

線連起來了。

但線還沒連完。NVIDIA 在 1999 年拿到了另一份合約——這次是微軟的。Xbox 的 GPU 由 NVIDIA 供應。這筆合約讓 NVIDIA 第一次嘗到了主機市場的味道,也讓它第一次被主機合約的利潤結構教訓——微軟要求逐年降價,NVIDIA 拒絕,雙方鬧翻。Xbox 360 改用了 ATI 的晶片。

NVIDIA 從此退出主機 GPU 市場,把全部火力集中在 PC 顯示卡上。

這個「被微軟逼出主機市場」的經歷,反而成了 NVIDIA 的幸運——因為它迫使黃仁勳去想一個問題:GPU 除了畫遊戲,還能做什麼?

那個問題的答案,叫做 CUDA。它會在第七章出場。

但在到達第七章之前,故事要先轉向另一條時間線。第二章講的 DirectX 鎖定,到了 2010 年代開始產生一個微軟自己沒有預見的副作用——需要自由度的人開始離開 Windows。科研人員、伺服器管理員、那些日後會訓練 AI 模型的人,全部湧向 Linux。

而就在這些人湧向 Linux 的同一段時間,Intel 犯了一個跟 NVIDIA 的 NV1 一樣致命的錯誤——只不過 Intel 沒有入交昭一郎來救它。

那個錯誤的名字,叫 Larrabee。



第五章:AI 的野蠻生長與 Wintel 的盲區

2025 年,一位史丹佛博士生坐在實驗室裡,準備訓練她的語言模型。

她打開筆電——MacBook,跑的是 macOS。她連上遠端 GPU 叢集——八台伺服器,每台插著八張 NVIDIA H100,跑的是 Ubuntu Linux。她的程式碼用 Python 寫,框架是 PyTorch,底層走 CUDA,編譯器、排程器、驅動程式、作業系統核心——從她按下 Enter 到第一個梯度開始回傳,中間經手的每一層軟體,沒有一行屬於微軟。

她不覺得這有什麼奇怪。她從研究所第一天起,所有教程、所有論文附的程式碼、所有實驗室的機器,全都是 Linux。Windows?那是她偶爾拿來開 PowerPoint 的東西。

但如果她稍微抬頭想一想——就會撞上一個很不舒服的問題。

她用的那張 H100 顯示卡,是 NVIDIA 做的。NVIDIA 靠什麼養大的?Windows 上的 PC 遊戲玩家——他們二十年來為了更漂亮的畫質,一代一代地買顯示卡,替 NVIDIA 分攤了平行運算的研發成本。她連上的那個 GPU 叢集,租的是微軟 Azure 的雲端服務——而 Azure 上超過六成的虛擬機器,跑的是 Linux。

養大 NVIDIA 的錢,來自 Windows。訓練 AI 模型的基礎設施,架在微軟的雲上。但 AI 本身——它的框架、它的工具鏈、它的整個軟體生態——和 Windows 沒有半點關係。

這件事不是意外。它是兩個帝國在二十年前各自做了一個決定——一個是不做,一個是不准——的直接後果。

不做的,是 Intel。不准的,是微軟。


I. 作案動機:兩道牆

要理解 AI 為什麼長在 Linux 上,先要理解一件事:這不是 Linux 多有魅力,而是 Windows 把人趕走的。

趕人的方式很優雅——優雅到被趕的人,自己都不一定講得清楚是怎麼回事。

1993 年,Windows NT 問世。它的核心設計借鑑了 DEC 的 VMS 與卡內基美隆大學的 Mach 微核心——精緻、嚴謹、企業級。其中最關鍵的設計決定,是 x86 處理器的特權環架構:核心程式碼跑在 Ring 0,擁有完整的硬體存取權限;應用程式跑在 Ring 3,被隔離在一道看不見的牆後面。

這是安全的基石。一個跑在 Ring 3 的程式,無法直接碰觸記憶體映射、無法自行操作 I/O 埠、無法繞過排程器直接佔用硬體資源。如果一款遊戲當機,它不會拖垮整台電腦——它只會死在自己那個被圍起來的空間裡。

對普通用戶來說,這是天大的好事。DOS 時代那種「一個遊戲掛了,整台機器一起掛」的噩夢,從此消失。第一章裡那場每夜對著 CONFIG.SYS 搏鬥的考試,連同它的准考證一起被撤銷。

但牆的另一面,站著一群完全不同的人。

九十年代末到兩千年代初,全球大學的物理系、數學系、計算語言學實驗室裡,有一群研究者正在做一件看起來毫無商業前途的事——用大量數據餵進數學模型,讓機器學會辨認圖片、翻譯語句、預測蛋白質摺疊。他們需要的,是對硬體最直接、最底層、最不受干擾的存取權。他們要自己寫核心模組、自己改驅動程式、自己決定記憶體怎麼排列、GPU 的每一個運算單元怎麼排程。

Windows 的 Ring 0 / Ring 3 分隔,對他們來說不是保護,是障礙。

而 Linux——同樣使用 x86 的特權環,同樣有 Ring 0 和 Ring 3 的區分——做了一件 Windows 永遠不會做的事:它把核心的原始碼完全打開。

你想寫一個核心模組,直接存取 GPU 的暫存器?寫,編譯,載入,立刻生效。你想修改記憶體管理器,讓你的訓練資料用特定的方式排列在實體記憶體裡?改,重新編譯核心,重開機,完成。你想讓 NVIDIA 的驅動程式繞過作業系統的顯示管理器,直接把運算結果寫回主記憶體?NVIDIA 的工程師自己就能做到,因為他們看得見 Linux 核心的每一行。

在 Windows 上,同樣的事需要微軟配合——修改 WDDM(Windows Display Driver Model)、調整 GPU 排程策略、開放新的核心介面。但微軟沒有動機配合。2005 年的微軟,GPU 運算還是一個科幻概念;它的工程優先級是 Vista 的 Aero 特效、是 DirectX 10 的新 shader 模型、是讓遊戲在 Windows 上跑得更漂亮。

科研人員要的那種「對硬體的裸體存取權」,在微軟的產品路線圖上,連一個欄位都沒有。

所以他們走了。

不是憤怒地離開,不是發表宣言、集體杯葛。就是安安靜靜地,一間實驗室接一間實驗室,把工作站從 Windows 換成 Linux。2000 年代中期,全球前五百大超級電腦當中,Linux 的佔比從五成飆升到九成。到了 2010 年,Top 500 榜單上,Windows 剩下不到十台。

那些超級電腦裡面跑的,不只是氣候模擬和基因定序。有一小群人,正在上面做一件當時沒有人看好的事——拿 GPU 來做矩陣乘法。

但這裡要誠實——這不是一場一刀切的革命。

2005 年的大學實驗室裡,Windows 並沒有消失。教授們依然用它開 PowerPoint 報告研究進度,博士生依然用它跑 MATLAB 做矩陣運算和畫圖,儀器控制軟體如 LabVIEW 只有 Windows 版,統計系的人離不開 SPSS。Windows 在學術界的桌面上,依然是那台每天開機八小時的主力機。

真正改變的,是一個很安靜的細節。如果你走到那些博士生的電腦前面,按下電源鍵,你會看到一個黑底白字的選單——GRUB。上面兩行:Windows,Linux。

雙系統。這才是 2000 年代學術界的真實場景。

Windows 負責日常:寫報告、跑 MATLAB 畫幾張圖、回 email、做投影片。但只要工作進入需要壓榨硬體的環節——編譯自寫的核心模組、連上 FPGA 開發板、透過 SSH 登入實驗室的 GPU 叢集——研究生就會重開機,切進那個沒有桌面特效、沒有開始功能表、只有一個閃爍游標的黑色終端。

Windows 沒有被拋棄。它被降級了。 從「萬能的作業系統」降為「文書與展示機」。而真正決定未來的運算——那些需要裸體觸及硬體的工作——全部發生在重開機之後的那個世界裡。

微軟大概沒有注意到這個降級。因為從它的授權費角度看,那台電腦上還是裝著一份 Windows。數字沒有少。但權力已經轉移了——決定下一個十年科技方向的運算,不再發生在 Windows 裡面。


II. 第一個盲區:Ballmer 的癌症論

科研人員安靜離場的同時,微軟做了什麼?

2001 年 6 月,微軟 CEO Steve Ballmer 接受《芝加哥太陽報》訪問。記者問他怎麼看 Linux。他的回答留下了科技史上最昂貴的一句語錄:

「Linux 是一顆癌症。」

Ballmer 的原話比這更精確——他說的是 GPL 授權條款像癌症一樣,會「傳染」碰觸過它的所有智慧財產。這是一個法律論點,在當時的企業法務圈裡不算離譜。但問題不在法律,在信號。

這句話從微軟 CEO 嘴裡說出來,傳遞的信號只有一個:微軟視 Linux 為敵人。

信號被每一個人收到了。

企業資訊長收到了——有些原本在評估 Linux 伺服器方案的公司,被嚇退。Ballmer 大概覺得這是好事。但同時收到信號的,還有另一群人:大學裡寫開源軟體的研究者、矽谷車庫裡用 Linux 跑伺服器的創業團隊、以及那些正在替 GPU 運算寫工具鏈的工程師。他們收到的信號是:微軟永遠不會跟我們合作。

於是他們不再等了。

2003 年到 2007 年之間,幾乎所有後來定義 AI 基礎設施的早期專案,都選了 Linux 作為唯一的目標平台。不是因為 Linux 的桌面體驗好——2005 年的 Linux 桌面,連 Wi-Fi 都經常連不上。而是因為它是唯一一個不會在某天早上醒來,發現平台商突然改了規則、收了租金、或者叫你「癌症」的地方。

同一年——2001 年——微軟的另一支團隊,正在紐約時代廣場遞出第一台 Xbox。第三章講過,Xbox 是一面用來擋住 Sony 的牆。Ballmer 的「癌症論」,是另一面牆——用來擋住 Linux。

兩面牆都擋住了眼前的對手。但兩面牆也一起,把一片正在成形的大陸隔在了外面。


III. 第二個盲區:Intel 殺死自己的 GPU

如果說微軟的錯誤是把 Linux 當敵人,Intel 的錯誤,比這更致命——它殺死了自己的孩子。

2006 年,NVIDIA 發佈 CUDA——一套讓程式設計師可以用 C 語言,直接在 GPU 上做通用運算的工具。第七章會完整講述這個決定的始末與後果。這裡只需要知道一件事:當時全世界沒有人把 CUDA 當回事。GPU 是拿來畫三角形的,不是拿來算矩陣的。Carmack 不在乎,遊戲工作室不在乎,華爾街不在乎。

但 Intel 在乎——只是方向全錯。

2008 年,Intel 公佈了一個叫 Larrabee 的專案。概念極度大膽:一顆完全基於 x86 指令集的 GPU。不是 NVIDIA 那種需要專用語言(CUDA)的架構,不是 AMD 那種傳統繪圖管線的設計——Larrabee 要讓程式設計師用他們已經會的 C++,在一顆長著幾十個小型 x86 核心的晶片上,同時做繪圖和通用運算。

如果 Larrabee 做成了,歷史會完全改寫。

一顆 x86 GPU,意味著 Intel 手上的整個軟體生態——編譯器、除錯器、效能分析工具、幾十年累積的 x86 優化經驗——全部可以直接搬過來。開發者不需要學 CUDA,不需要把程式碼改寫成 GPU 友善的格式。他們只需要寫 C++,剩下的事 Intel 的編譯器幫你搞定。

更關鍵的是:Intel 是 CPU 的霸主。如果它同時擁有 GPU,它就可以做到一件 NVIDIA 做不到的事——CPU 和 GPU 共享同一塊記憶體,用同一條匯流排,跑同一套指令集。 今天 AI 訓練最大的瓶頸之一,就是 CPU 和 GPU 之間的資料搬運。如果 Larrabee 成功,這個瓶頸從架構上就不存在。

NVIDIA 的 CUDA 壟斷,可能永遠不會發生。

但 Larrabee 沒有做成。

2010 年 5 月,Intel 宣佈取消 Larrabee 的消費級顯示卡計劃。官方說法是「架構轉向高效能運算」。殘骸被改名為 Xeon Phi,塞進伺服器市場苟延殘喘了幾年,然後在 2017 年前後被徹底裁撤。

為什麼被殺?

答案藏在 Intel 的財務報表裡。2010 年,Intel 的 CPU 業務毛利率超過 60%。整個公司的營收結構、獎金制度、升遷路徑,全部圍繞這個數字運轉。GPU 是一個全新的市場——毛利率不確定,開發週期長,需要從零建立驅動程式團隊和生態系統,而且短期內會大量消耗工程資源,卻看不到回報。

在一家毛利率 60% 的公司裡,要求董事會批准一個短期虧損、長期不確定的 GPU 專案——這不是技術問題,這是體制問題。

Intel 內部殺死 Larrabee 的人,不是一個名字可以指認的反派。是整個體制的激勵結構:每一個事業部主管都在保護自己的毛利率;每一個季度的財報電話會議都在向華爾街承諾利潤成長;每一位副總裁都知道,把資源從 CPU 移向一個不確定能成功的 GPU,自己的年度考績會受影響。

沒有人做了一個「錯誤的決定」。每一個人都做了在自己位置上最理性的決定。但所有理性的決定加起來,等於一個自殺式的結果。

這個結構性的自殺,會在第九章——Pat Gelsinger 的悲劇——裡再次出現。Gelsinger 2021 年回到 Intel 試圖力挽狂瀾,但他面對的,正是 Larrabee 被殺時種下的因果:Intel 錯過了 GPU,錯過了 AI,錯過了整整一個時代。而那個時代,被 NVIDIA 一家公司獨占了。


IV. 大逃亡

兩個盲區疊在一起,效果是這樣的——

微軟把 Linux 當癌症,意味著 Windows 不會主動去服務那些跑在 Linux 上的科研工具鏈。Intel 殺死 Larrabee,意味著市場上唯一能拿來做通用 GPU 運算的硬體,只剩 NVIDIA。

而 NVIDIA 的 CUDA——從 2007 年到 2012 年那段沒有人看好的漫長等待期——押的注,恰好全壓在 Linux 上。

這不是偶然。CUDA 的目標用戶是科研人員和高效能運算工程師。這群人的機器跑什麼?Linux。他們的程式碼用什麼編譯?GCC。他們的工作流程長什麼樣子?SSH 進伺服器、跑腳本、看日誌、調參數。

NVIDIA 的工程師在 Linux 上做 CUDA 開發,和在 Windows 上做,有一個結構性的差距。Linux 的核心是開源的——NVIDIA 可以自己寫核心模組,繞過作業系統的 GPU 排程器,讓 CUDA 直接控制 GPU 的每一個運算單元。在 Windows 上,同樣的事要透過 WDDM 驅動模型,多經一層微軟控制的排程層。這一層多出來的延遲和限制,在玩遊戲時感覺不到;但在訓練一個需要幾千個 GPU 同步的模型時,每一微秒的額外開銷都會被放大幾千倍。

Linux 不是因為好用而贏。它是因為夠開放而贏——開放到讓 NVIDIA 可以在上面做任何想做的事,而不需要向任何平台商請示。

而 GPU 叢集,只是逃亡的一條路線。另一條路線更安靜,但版圖更大。

如果你走出計算機科學系,走進隔壁電機系或機械系的實驗室,你會看到另一種電腦——不是桌上型 PC,不是伺服器,而是一塊塊裸露的 EVB(Evaluation Board,評估板)。這些巴掌大的電路板,是醫療儀器、工業機器人、農業無人機、自駕車感測模組的大腦。它們的處理器可能是 ARM,可能是 RISC-V,記憶體只有幾百 MB,儲存空間以 GB 計。它們跑什麼作業系統?

全部是 Linux。

不是因為研究者偏愛開源精神,而是因為別無選擇。微軟曾經試過——Windows CE、Windows Embedded,名字換了好幾輪——但 Windows 的核心太龐大、授權費太貴,而且不允許你把系統裁剪到只剩需要的那幾個模組。一塊只有 256MB RAM 的 EVB,塞不進 Windows,但跑得動一個被剪裁到幾十 MB 的 Linux 核心,外加你自己寫的驅動程式和控制程式。

這件事看起來跟 AI 無關,跟遊戲更無關。但它有一個被嚴重低估的後果:每一個在 EVB 上寫過 Linux 驅動的工程師,都是一個懂得「由核心到硬體」全鏈路的人。 這些人後來去了哪裡?有些去做了機器人公司,有些去做了自駕車,有些走進 NVIDIA 寫 CUDA 驅動,有些成了 AI 基礎設施團隊的骨幹。他們帶過去的,不是某一種程式語言的熟練度,而是一種「打開蓋子看裡面」的工程直覺——正是間章要講的那種正在消失的能力。

Linux 的勝利,從來不只發生在資料中心。它同時發生在每一塊被塞進儀器外殼裡的嵌入式電路板上、每一台在田間自動巡航的無人機裡、每一個醫院裡跑著即時影像辨識的超音波探頭裡。這些地方,Windows 從來沒有到達過。

這裡出現了第二章辨識過的那個 pattern 的鏡像——

DirectX 的 pattern 是:微軟用便利吸引開發者進入 Windows,用 API 鎖定箍住他們,最後鎖住消費者。

CUDA 在 Linux 上的 pattern 是:NVIDIA 用自由吸引研究者進入 CUDA,用生態系統鎖定箍住他們,最後鎖住整個 AI 產業。

鎖的機制一模一樣。但鎖的地點不一樣。第二章的鎖裝在 Windows 上;第五章的鎖裝在 Linux 上。微軟花了十年鋪設的 Windows 護城河,在 AI 這個最重要的戰場上,完全沒有派上用場——因為戰場不在這裡。

2012 年 9 月,兩位多倫多大學的研究者——Alex Krizhevsky 和他的指導教授 Ilya Sutskever、Geoffrey Hinton——發表了一個叫 AlexNet 的圖像辨識模型。它在 ImageNet 競賽上把第二名拉開了超過十個百分點。

AlexNet 是用兩張 NVIDIA GTX 580 顯示卡訓練的。跑的是 CUDA。作業系統是 Linux。

那兩張 GTX 580,零售價各約 500 美元。它們本來是設計給遊戲玩家的——玩《Skyrim》、跑《Battlefield 3》。買這張卡的遊戲玩家,替 NVIDIA 分攤了 Fermi 架構的研發成本;Fermi 架構裡的 CUDA 核心,被 Krizhevsky 拿來做矩陣乘法;矩陣乘法的結果,點燃了深度學習革命。

這是第七章的完整故事。但在第五章,我們需要記住的只有一個事實:點火的那一刻,Windows 不在場。Intel 也不在場。

它們不是被打敗的。它們是自己走開的。


V. 結案陳詞

2014 年,Satya Nadella 接任微軟 CEO。他做的第一件引發業界震動的事,是站在台上,對著一塊寫著「Microsoft ♥ Linux」的投影片微笑。

台下的科技記者們笑出聲來。十三年前,這家公司的前任 CEO 管 Linux 叫癌症。

Nadella 不是在搞公關。他是在承認現實。Azure 雲端服務上超過一半的負載跑的是 Linux;AI 研究社群的所有重要框架——TensorFlow、PyTorch、JAX——全都以 Linux 為首要平台;全世界每一間想做 AI 的公司,租的都是跑著 Linux 的 GPU 叢集。微軟如果繼續把 Linux 當敵人,它的雲端業務——整個公司未來最大的成長引擎——就會被 AWS 和 Google Cloud 徹底甩開。

Nadella 的「Microsoft ♥ Linux」,是微軟的無條件投降。

但投降來得太遲了。

AI 的軟體生態已經完全長在 Linux 的土壤上。每一個深度學習框架、每一套訓練工具、每一條從資料前處理到模型部署的流水線——全都假設底層是 Linux。這不是偏見,是工程事實。NVIDIA 的 CUDA 工具鏈在 Linux 上的效能,持續優於 Windows;GPU 叢集的管理工具幾乎全是為 Linux 寫的;容器化技術(Docker)在 Linux 上原生運行,在 Windows 上只是一層模擬。

微軟後來做了很多事來彌補——收購 GitHub、把 WSL(Windows Subsystem for Linux)做到幾乎無縫、花幾百億美元投資 OpenAI。這些動作的每一步都很聰明。但它們解決的是症狀,不是病因。

病因是:當一個生態系統的根長在別人的土壤裡,你可以往上面澆水、施肥、蓋溫室——但你永遠無法把根拔起來,移植到自己的花園裡。

Intel 那邊更慘。Larrabee 死後,Intel 在 GPU 市場消失了整整十二年。2022 年,它終於推出了消費級獨立顯示卡 Arc 系列——但那一年,NVIDIA 的資料中心 GPU 營收已經超過遊戲 GPU 營收,AI 的軍火競賽已經打到白熱化。Intel 帶著一把弓箭,走進了一場飛彈戰爭。

回到這一章開頭那位史丹佛博士生。

她每天從 macOS 連進 Linux 叢集、用 CUDA 訓練模型、把結果推上 GitHub、再用 Weights & Biases 追蹤實驗——整個工作流程裡,Windows 的角色是零,Intel CPU 的角色是「跑跑前處理就好」。她覺得這件事理所當然。

但這件事不是理所當然。它是 2001 年 Ballmer 那句「癌症」、2010 年 Intel 董事會那張否決票、以及 Windows 從 1993 年起就選擇把硬體藏到牆後面——這三個決定的延遲帳單。

帳單的總額,是一整個時代的產業主導權。

微軟付了這筆帳——它用幾百億美元的 AI 投資、一次又一次的組織改造、以及犧牲 Xbox(第十章的故事)作為代價,試圖買回一張已經被撕掉的入場券。

Intel 還在付。可能永遠付不完。


VI. 贓物仍在被瓜分

這裡要畫一條線,把第二章和第五章串起來——因為同一個 pattern 的兩面,在這裡完成了合攏。

第二章的 DirectX,是微軟用來鎖住 PC 遊戲生態的武器。它成功了。到了 2000 年代初,絕大多數 PC 遊戲只跑 Windows,開發者被鎖死在 DirectX 上,消費者被鎖死在 Windows 上。

但鎖住遊戲的那道牆,有一個副作用——它讓 Windows 變得越來越封閉。每一層新的 API、新的驅動模型、新的安全機制,都是為了保護上一層的商業利益,而不是為了讓開發者觸及硬體。需要觸及硬體的人——科研工程師、HPC 工程師、那些日後會成為 AI 研究員的人——不是被微軟趕走的,是被微軟的成功逼走的。

Windows 的護城河太深了,深到連自己人都出不去——而外面的人,根本不想進來。

這就是為什麼 2012 年 AlexNet 點火的時候,火是在 Linux 上燒起來的。不是因為有人刻意選擇 Linux;是因為 Linux 是唯一一個沒有被任何一家公司鎖住的地方。

而一旦 AI 的火在 Linux 上燒起來,它就不會再移動了。因為火焰帶來的整個生態——框架、工具、社群、教學資源、就業市場——全都長在 Linux 上。一個 2025 年的 ML 工程師,就算想在 Windows 上訓練模型,她會發現:教程是 Linux 的,Docker image 是 Linux 的,NVIDIA 的最新 CUDA 版本先在 Linux 上穩定,Stack Overflow 上的除錯經驗全是 Linux 的。

這個鎖定效應,和 DirectX 鎖住遊戲開發者的機制完全一樣——只是方向反過來了。

第二章的 pattern:微軟用便利鎖住開發者 → 開發者鎖住消費者 → 消費者鎖住在 Windows 上。

第五章的 pattern:Linux 用自由吸引研究者 → 研究者建立生態 → 生態鎖住整個 AI 產業 → AI 產業鎖住在 Linux 上。

代價,在三十年後顯形。

微軟花了三十年打造的 Windows 護城河,在 AI 時代被完美地繞過去了。不是被攻破的——是被繞過去的。攻城的人甚至沒有意識到自己在繞路。他們只是去了一個更自由的地方,然後在那裡建了一座更大的城。


但 AI 研究者不是唯一一群被 Windows 的封閉逼到 Linux 的人。

就在 Nadella 站在台上說「Microsoft ♥ Linux」的同一年——2014 年——西雅圖另一棟不起眼的辦公樓裡,一位胖胖的、說話慢條斯理的前微軟員工,正在盯著一組數據。

數據顯示:微軟正在計劃把 Windows 商店做成一個封閉的 App Store,所有在 Windows 上發行的軟體,都要經過微軟審核,微軟抽成。如果這件事成真,他的公司——一家靠在 Windows 上賣遊戲為生的公司——就會從房東變成租客。

他決定做一件比「♥ Linux」激進一百倍的事。

他要在 Linux 上,把整個 Windows 遊戲生態搬過來。不改一行 Windows 的原始碼。不請微軟許可。不跟任何人商量。

他的名字叫 Gabe Newell。他的計劃,需要一群能從系統呼叫寫到 GPU 驅動的全棧工程師——因為他們要做的事,是在 Linux 上架起一座虛擬的 Windows,讓幾萬款 DirectX 遊戲以為自己還跑在微軟的世界裡。

這件事,按照所有合理的工程判斷,不可能做到。




第六章:Gabe Newell 的越獄行動

2026 年 3 月,Steam 的月度硬體調查報告裡,Linux 的市佔率悄悄爬上 5.33%——歷史新高。這個數字看起來微不足道。但它背後站著超過五百萬台 Steam Deck——一台掌上型遊戲機,跑的是 Arch Linux,卻能玩 Steam 上超過十萬款 Windows 遊戲。

你在上面玩《艾爾登法環》。按下「開始」,畫面出來了,手把震動了。你不知道你在用 Linux。你不知道在你按下按鈕的那一瞬間,有一座看不見的翻譯機器在底下全速運轉——把遊戲發出的每一個 DirectX 指令,即時轉換成 Linux 的 Vulkan API,再送進 AMD 的開源驅動,最後才變成螢幕上的像素。

整條管線,沒有用到一行微軟的原始碼。沒有任何一份授權合約。沒有任何人的許可。

第二章講過:DirectX 是一把鎖。它把整個 PC 遊戲生態鎖死在 Windows 上,鎖了三十年。每一個用 Direct3D 寫引擎的工作室,都是那道牆的一塊磚。

打開這把鎖的人,恰好是當年幫微軟裝上這把鎖的人之一。


I. 作案動機

2012 年 7 月 25 日,西雅圖 Casual Connect 遊戲研討會。Gabe Newell 走上台,說了一句讓全場靜下來的話:

「Windows 8 對 PC 生態裡的每一個人來說,都是一場災難。」

這句話從別人嘴裡講出來,是牢騷。從 Newell 嘴裡講出來,是宣戰。

因為 Newell 比在場所有人都清楚微軟接下來要做什麼。他在微軟待了十三年——他自稱是「Windows 前三個版本的製作人」。1996 年,他還是 Windows 95 團隊裡那位飛去德州,把 id Software 拉進 DirectX 陣營的年輕產品經理。第二章記錄過那筆交易。他親手幫微軟贏了那一局。

他離開微軟之後創辦 Valve,做了 Half-Life、做了 Counter-Strike、做了 Portal。但他真正改變產業的不是遊戲——是 Steam。

2003 年上線的 Steam,是 PC 遊戲的數位發行平台。十年之內,它吃下了 PC 遊戲市場超過七成的銷售額。每一筆交易,Valve 抽三成。到了 2012 年,Steam 上有超過兩千五百款遊戲,全球活躍帳號數以千萬計。Valve 從一家遊戲開發商,變成了一家收租的平台商。

但 Steam 有一個致命的弱點——它跑在 Windows 上

Valve 的整個商業帝國,建立在微軟的地基上。微軟隨時可以改規則。而 2012 年,微軟準備做的,恰好就是改規則。

Windows 8 引入了 Windows Store——一個整合在作業系統裡的應用商店。介面仿照 iPad、交易流程仿照 App Store、抽成模式同樣仿照 Apple。微軟的意圖不需要猜:如果所有 Windows 軟體都通過 Windows Store 發行,微軟就能像 Apple 一樣,對每一筆交易抽成,而 Steam 就會從「唯一的通道」降格為「眾多商店之一」。

Newell 看穿了這步棋。不是因為他比別人聰明,是因為他在微軟待過十三年,親眼看過那個組織怎麼運作。微軟不會一夜之間封殺 Steam——那太粗暴,會引發反壟斷訴訟。微軟會慢慢來。先是在 Windows Store 裡提供獨佔內容。然後是讓 Store 的 app 在系統層面享有安裝優先權。然後是讓第三方安裝包多一個「你確定要安裝來路不明的軟體嗎?」的警告彈窗。然後是把那個彈窗的「確認」按鈕藏得越來越深。

溫水煮青蛙。Newell 見過微軟用這套手法對付 Netscape、對付 Java、對付 OpenGL。他自己就是那口鍋裡出來的人。

所以他在台上接著說了第二句話:「我們要把 Steam 上所有兩千五百款遊戲,帶到 Linux。」

這句話聽起來像空話。2012 年的 Linux 桌面市佔率不到 2%,遊戲生態幾乎是零。但 Newell 不是在講市佔率。他在講的是——逃生門

他要讓 Steam 可以不需要 Windows。不是明天,不是明年。是在微軟收緊繩索之前,把門打開。

上一章講過,AI 研究員早在這之前就已經逃往 Linux——他們需要的自由度,Windows 的封閉架構給不了。Newell 要做的事,是讓第二批難民跟上去:遊戲玩家。


II. 武器鍛造

要在 Linux 上跑 Windows 遊戲,正統的做法是請每一家遊戲工作室出一個 Linux 原生版本。

這條路走不通。原因在第二章已經解釋過了:DirectX 鎖定效應。一個用 Direct3D 寫了五年的引擎,移植到 Linux 的成本等於從頭寫。沒有工作室願意花這個錢,也沒有工作室看得到 Linux 上有足夠多的玩家來回本。

Newell 選了一條完全不正統的路:不修改任何一行遊戲的原始碼,在 Linux 底下架一座翻譯機器,把遊戲發出的每一個 Windows API 呼叫——包括 DirectX——即時轉換成 Linux 聽得懂的東西。

這個想法不是 Valve 發明的。它的起源可以追溯到 1993 年——一個叫 Wine 的開源專案。Wine 的全名是 "Wine Is Not an Emulator"。它的目標是在 Linux 上實作 Windows API 的行為,讓 Windows 程式以為自己跑在 Windows 上,實際上底下是 Linux 核心在幹活。

Wine 做了二十年。它能跑一些 Windows 的辦公軟體、簡單的工具程式。但遊戲——尤其是 3D 遊戲——幾乎不可能。因為 3D 遊戲不只呼叫 Windows API,它還重度依賴 Direct3D,而 Direct3D 的行為深深纏繞在 Windows 專屬的 GPU 驅動架構裡。Wine 早年的做法是把 Direct3D 翻譯成 OpenGL——但 OpenGL 的設計太高階,翻譯 Direct3D 那些貼近硬體的低階操作時,開銷大到吃掉效能。一款在 Windows 上跑到六十幀的遊戲,經過 Wine 翻譯之後剩不到一半。

突破口出現在 2017 年。一位網名 doitsujin 的開發者 Philip Rebohle 啟動了一個叫 DXVK 的專案。DXVK 做一件事:把 DirectX 9、10、11 的 API 呼叫,翻譯成 Vulkan——那套由 Khronos Group 維護的新一代跨平台繪圖 API。Vulkan 和已經死去的 OpenGL 不同:它是從零設計的,有完整的 Linux 驅動支援,效能逼近原生。

如果 DXVK 能做到足夠精準的翻譯,理論上,任何一款 DirectX 遊戲都可以透過這條管線跑起來:

遊戲發出 DirectX 呼叫 → DXVK 即時翻譯成 Vulkan → Linux 的開源 GPU 驅動接手 → 像素出現在螢幕上。

理論上。

實際上,DirectX 有無數沒有寫在文件裡的行為。Shader 編譯的邊界情況、記憶體對齊的隱含假設、多執行緒渲染的時序依賴、某些遊戲引擎針對特定 NVIDIA 驅動版本做的 hack——每一款遊戲都可能踩到不同的地雷。DXVK 的開發者必須逆向工程這些行為,一個一個修。

Valve 看到了 DXVK,做了一件決定性的事:直接贊助 Rebohle 全職開發。 然後把 DXVK 連同修改版的 Wine、加上一堆效能補丁和相容修正,打包成一個東西,內建到 Steam 客戶端裡。

這個東西叫 Proton

2018 年 8 月 21 日,Proton 正式發佈。首批認證的遊戲只有 27 款——其中包括《Doom》(2016)和《Quake》。但它的設計哲學才是關鍵:玩家不需要知道 Wine 是什麼,不需要知道 DXVK 是什麼,不需要設定任何東西。 在 Steam 上按下「安裝」,按下「開始」。Proton 在底下默默運轉。

Valve 同時僱用了 Wine 和 Mesa(Linux 的開源 GPU 驅動堆疊)的核心開發者,把他們從社群志願者變成 Valve 的全職員工。它資助 CodeWeavers——一家專門做 Wine 商業化的公司——加速修復相容問題。它還開放了 ProtonDB,一個社群驅動的相容性資料庫,讓全球玩家回報哪些遊戲能跑、哪些有問題、怎麼繞過。

Valve 在做的事,換一個說法就是:出錢養一支軍隊,逆向工程微軟三十年來在 DirectX 上累積的所有行為。

但翻譯只是管線的上半段。下半段——把翻譯好的 Vulkan 指令送進 GPU——要靠驅動程式。而 Valve 在這裡做了一個影響整個越獄計畫成敗的選擇:它選了 AMD,不選 NVIDIA。

表面上看,這很反直覺。NVIDIA 在效能上壓著 AMD 打。一台掌機要在最小的功耗範圍內擠出最大的畫面品質,用 NVIDIA 不是更合理嗎?

不是。因為 NVIDIA 的 Linux GPU 驅動是閉源的。

閉源意味著 Valve 的工程師碰不到驅動的原始碼——不能改、不能修 bug、不能針對 Proton 的翻譯行為做深度優化。你把 DirectX 翻譯成 Vulkan 已經是一層精密手術了;如果手術做完之後,最後一段管線是一個你完全看不見內部的黑箱,任何問題都只能等 NVIDIA 自己出更新——這場越獄就永遠是半成品。

AMD 走了完全相反的路。它主動公開 GPU 硬體文件,支持 Mesa 專案裡一個叫 RADV 的開源 Vulkan 驅動。RADV 不是 AMD 自己寫的——它是開源社群寫的,而社群裡最活躍的貢獻者,恰好就是 Valve 的員工。Valve 的工程師甚至嫌 AMD 原廠的 shader 編譯器不夠快,自己寫了一個叫 ACO 的替代品塞進 RADV 裡。效能比 AMD 自家的還好。

2025 年,AMD 做了一個歷史性的決定:正式停止自家的 Linux Vulkan 驅動,把所有資源轉移到社群的 RADV。換句話說——AMD 官方承認,Valve 工程師維護的驅動比 AMD 自己寫的更好。

這就是 Valve 選 AMD 的真正原因。 Proton 負責上半段(翻譯 DirectX → Vulkan),RADV 負責下半段(Vulkan → GPU 指令)。兩段都是開源的,兩段都由 Valve 的工程師深度參與。整條管線從頭到尾透明——沒有任何一個環節是黑箱。

如果中間夾了一個 NVIDIA 的閉源驅動,端到端的優化就做不到。Steam Deck 那個「按一個鍵就玩」的體驗,就永遠差最後一哩。

這個選擇有一個更深的意涵,但要到第七章才能完成結算。NVIDIA 的閉源策略讓它輸掉了 Linux 遊戲硬體——Valve 不要它。但同一套閉源策略,在另一個戰場上——AI——卻讓 NVIDIA 贏得徹底。為什麼?因為遊戲的鎖和 AI 的鎖,深度完全不同。

但那是後話。


III. 第一次突圍

但 Proton 不是 Valve 的第一次嘗試。它是第二次。

第一次是 2013 年。Newell 在「災難」演講的一年後,公佈了一個野心勃勃的計畫:SteamOS——Valve 自己的 Linux 作業系統;Steam Controller——Valve 自己的手把;Steam Machine——由第三方硬體廠商製造、跑 SteamOS 的客廳遊戲主機。

這個計畫的邏輯很清楚:如果 Windows 是牢房,那就造一台不需要 Windows 的遊戲機,放到消費者的客廳裡。

2015 年 11 月,第一批 Steam Machine 上市。Alienware、Zotac、CyberPowerPC——好幾家廠商推出了自己的型號。

七個月後,總銷量不到五十萬台。

失敗的原因,在事後看來殘忍地清晰。2015 年的 SteamOS 沒有 Proton——因為 Proton 還不存在。當時 Linux 上能跑的 Steam 遊戲不到一千款,全部是原生移植,大部分是獨立小品。一個消費者花了跟 PlayStation 差不多的錢,買回一台只能玩十分之一 Steam 遊戲庫的機器——有什麼理由不退貨?

到了 2016 年,幾乎所有硬體廠商都停產了自己的 Steam Machine。Valve 在 2018 年把 Steam Machine 的頁面從商店首頁移除。Steam Controller 在 2019 年停產清倉。

以任何商業標準來衡量,這是一場徹底的失敗。

但有一件事沒有停。

Valve 對 Linux 的投資從未中斷。 Steam Machine 死了,SteamOS 繼續開發。Wine 的贊助繼續。Mesa 的工程師繼續領 Valve 的薪水。DXVK 在 2017 年冒出來的時候,Valve 第一時間伸手。

這裡有一個細節值得停下來看:Valve 是一家私人公司。沒有上市,沒有股東,沒有華爾街分析師每季盯著你的財報問「Linux 投資的 ROI 在哪裡」。如果 Valve 是上市公司,Steam Machine 失敗之後,Linux 計畫會在下一次董事會上被砍。

它沒有被砍。因為唯一需要說服的人,是 Gabe Newell 自己。而 Newell 看得比一個季度更遠。

Newell 自己在 2020 年回顧時說過:「我們當時推的硬體,在那個時候是極不完整的。」

他知道 2015 年太早了。但他也知道,如果不先把錢撒下去——養工程師、養社群、養開源生態——等到時機對了,他手上什麼都沒有。

所以他等。等到 DXVK 出現。等到 Proton 能把六成以上的 Steam 遊戲翻譯到可玩的程度。等到 AMD 的 APU 成熟到可以塞進一台掌機裡。

然後,他出第二手。


IV. 越獄

2022 年 2 月 25 日,Steam Deck 上市。

一台掌上型遊戲機。7 吋螢幕、AMD 的客製 APU——Zen 2 CPU 加 RDNA 2 GPU、16GB RAM。定價 399 美元起。跑的是 SteamOS 3.0——基於 Arch Linux,不再是 2015 年那個半成品的 Debian。

它能玩 Steam 上超過八成的 Windows 遊戲。不是原生 Linux 遊戲,是 Windows 遊戲,通過 Proton 即時翻譯,在 Linux 上跑。

玩家不知道自己在用 Linux。他們只知道按下按鈕,遊戲就出來了——跟 Nintendo Switch 一樣。

到了 2025 年中,Steam Deck 累計出貨超過五百六十萬台,佔據掌上型遊戲 PC 市場近半的份額。Proton 的相容遊戲數量從 2018 年首發的 27 款,增長到超過十萬款——Steam 遊戲庫的九成。

這是 PC 遊戲史上第一次,有一台商業成功的硬體裝置,證明了一件事:

PC 遊戲不需要 Windows。

微軟花了三十年建起來的那道 DirectX 之牆——第二章記錄了它的每一塊磚、每一根樁——被 Valve 繞過去了。不是翻過去的,是在牆下面挖了一條地道。地道的材料全部是開源的:Wine、DXVK、Mesa、Vulkan、Linux 核心。沒有一行程式碼需要微軟的許可。

更諷刺的是:Proton 翻譯的那些 DirectX 遊戲,它們的開發者甚至不知道自己的遊戲正在 Linux 上被玩。他們沒有出 Linux 版、沒有簽任何合約、沒有做任何額外的工作。Proton 繞過了微軟,也繞過了他們。

而 Valve 不是唯一一個在 Linux 上跑 Windows 遊戲的人。連 NVIDIA 自己的雲端遊戲服務 GeForce NOW,伺服器的底層也是 Linux——只是它的做法更直接:在 Linux 上面開一台 Windows 虛擬機,讓遊戲在裡面跑,跑完就關掉。Windows 在那裡的角色,已經不是業主,而是一間隨開隨關的臨時房。這個畫面的意義,要到終章才能完成結算。


V. 結案陳詞

但這裡要停一下,問一個不舒服的問題。

Valve 是英雄嗎?

從反壟斷的角度看,是。Valve 證明了平台鎖定不是永恆的。三十年的 DirectX 圍牆,可以被一群執著的工程師、用開源工具、不花一分錢授權費、不碰一行微軟原始碼,硬生生挖穿。這是本書到目前為止,第二章那個 pattern 的第一次反擊

但 Valve 自己呢?

Steam 抽三成。每一款通過 Steam 賣出的遊戲,不論平台,Valve 拿走 30%。這個數字跟 Apple App Store 一模一樣——就是第二章提到的那個讓獨立開發者痛恨的「平台稅」。Steam Deck 的玩家確實不再被鎖在 Windows 上——但他們被鎖在 Steam 上。你在 Steam 買了五百款遊戲,你會離開 Steam 嗎?你的存檔、你的社群、你的好友名單、你十年來的遊戲庫——全部綁在這個平台上。

而且那五百款遊戲,法律上不屬於你。2024 年,加州一條新法迫使 Steam 在購物車頁面加上一行字:「購買數位產品即獲得該產品在 Steam 上的授權。」你買的不是遊戲,是一張使用許可。從卡帶到光碟到數位下載到雲端串流,每一步都用便利交換了擁有權——Valve 是業主,你是租客,只是這位業主目前對你很好,所以你不覺得自己在租房。

Valve 拆掉了微軟的牆,然後在原地蓋了一道自己的牆。

那個 pattern 又出現了。只是這一次,它穿了不同的衣服。

第二章的 pattern:用 DirectX 的便利吸引開發者 → 開發者被鎖進 Windows → 消費者跟著被鎖。

Valve 的 pattern:用 Steam 的便利吸引消費者(海量遊戲、低價促銷、一鍵安裝)→ 用龐大的用戶基數吸引開發者(你不上 Steam 等於不存在)→ 用 30% 的抽成和用戶庫的黏性鎖住整個生態。

方向從開發者端翻轉到消費者端。結果一樣——圍牆依然存在,只是換了業主。

這是本書那個核心 pattern 的第四次變奏——也是第一次出現在「反抗者」身上。 打破一道鎖的人,往往會在掙脫的過程中,發現自己手裡握著的,是打造另一道鎖的工具。

但這裡要加一句冷水。

Valve 能撬開 DirectX 的鎖,是因為那是一把淺鎖——它只鎖了一層 API。API 的行為大部分有文件,輸入輸出是確定性的,一個足夠執著的人就可以逆向工程。Philip Rebohle 一個人啟動了 DXVK。Valve 投錢把它做大。鎖被撬開了。

不是所有的鎖都這麼淺。

下一章要講的 CUDA,鎖住的不是一層 API。它鎖住了硬體指令集、運算函式庫、AI 框架、以及全世界每一間大學的 GPU 計算課程——四把鎖疊在一起,每一把都比 DirectX 更深。AMD 的 ROCm 追了十年,至今沒有撬開。那把鎖和這把鎖之間的差距,就是「反擊成功」與「反擊失敗」之間的分界線。


VI. 贓物仍在被瓜分

回到那台 Steam Deck。

它之所以能存在——一台 Linux 掌機跑九成 Windows 遊戲——是因為 Proton 的工程師做到了一件極其不正常的事:在沒有原始碼的情況下,逆向工程了微軟三十年來在 DirectX 上累積的所有行為。每一個 shader 編譯器的邊界情況、每一個未文件化的 GPU 記憶體行為、每一條 Windows 驅動與遊戲引擎之間的隱含約定——他們一個一個挖出來、一個一個翻譯。

這種工作需要什麼樣的人?

需要同時理解 DirectX 的 state machine、Vulkan 的 pipeline 架構、Linux 核心的記憶體管理、Mesa 開源驅動的 shader 編譯器、以及遊戲引擎在硬體極限上做的每一個 hack 的人。他們橫跨硬體與軟體。他們看得穿整個 stack。他們不是「用 API 做事」的人,他們是「理解 API 為什麼長這樣」的人。

舉一個具體的例子。Valve 的工程師嫌 AMD 原廠的 shader 編譯器在 Linux 上太慢,自己從頭寫了一個叫 ACO 的替代品。要寫這樣一個東西,你必須同時理解三件事:AMD GPU 的原生指令集架構、Vulkan 規格裡每一條 shader 操作的語意、以及 Linux 核心排程 GPU 任務的方式。這三件事分屬三個不同的專業領域。一般公司裡,這是三個不同部門的工作。Valve 的工程師一個人全包。寫出來的東西,比 AMD 自家幾百人團隊維護的編譯器還快。

Proton 能夠存在,是因為這種工程師還存在。

他們大多是九十年代在 Linux 社群裡長大的——那個年代,要在 Linux 上跑任何東西,你都得自己編譯核心、自己寫驅動、自己搞清楚每一層 stack 的行為。他們和 Carmack 屬於同一個時代、同一種訓練。

但那個時代已經結束了。

今天的 CS 畢業生可以用 Cursor 搭建整個 app、用 Hugging Face 呼叫預訓練模型——從頭到尾不需要知道 GPU 怎麼排程指令、不需要知道記憶體怎麼對齊、不需要知道驅動程式怎麼跟核心溝通。他們不是不聰明。他們只是從未被迫碰過那些東西。

如果有一天 Proton 壞了——不是壞在表層的 UI,而是壞在 DirectX 翻譯層與某張新 GPU 的 Vulkan 驅動之間那個接縫——還有人修得了嗎?

這個問題不只是 Valve 的問題。它是整個科技產業的問題。因為 Proton 不是唯一一個依賴「橫跨全 stack」工程師才得以存在的系統——CUDA 的驅動堆疊是、台積電的製程 co-optimization 是、AMD 同時供應三大主機的半客製晶片設計也是。

這些系統的共同特徵是:它們不可能由一個只懂 API 的人建造,也不可能由一個只懂 API 的人修復。 但我們的教育體系,正在批量生產只懂 API 的人。

這個矛盾,是本書走到一半必須正面回答的問題。

正文暫停。接下來的篇幅,不再講企業、不再講商戰。要講的,是一種正在消失的人。







CC BY-NC-ND 4.0 授权
已推荐到频道:书音影

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

mythogen.engineMythogen Engine 係一個獨立寫作計劃,橫跨科技產業深度分析、商業史,以及一部基於真實職場經歷嘅長篇科幻小說《鏡界:假面系統殺人事件》。 呢度收錄所有長文全文。如果你厭倦咗被演算法餵食嘅資訊碎片,歡迎自己揀想讀嘅嘢。
  • 来自作者
  • 相关推荐
遊戲至勝
3 篇作品

《鏡界:假面系統殺人事件》第四章〈假面話術詞典〉

《鏡界:假面系統殺人事件》
5 篇作品