返回 Avalon
DEVELOPMENT

開發進展

查看 Avalon 目前能力、使用說明、已知限制與開發狀態。

內容來源README-zh-TW.md
NETWORK站內備用副本
READMEAvalonStream/AvalonStream · bundled fallback
Avalon

一台 Windows 10/11 x64,多個彼此獨立的桌面。

把一台 Windows 10/11 x64 主機變成多個可以同時運行、獨立連線與遠端串流的 Windows 實例;每個實例都擁有自己的顯示、輸入、聲音、應用程式與遠端連線。

一台主機,多個實例。

English · 简体中文


Avalon 是什麼?

Avalon 是一個面向 Windows 10/11 x64 的多工作階段桌面串流平台。

一般情況下,一台 Windows PC 通常只有一個主要互動桌面;Avalon 讓同一台主機能同時運行多個彼此獨立的 Windows 實例。

每個實例都可以擁有自己的:

  • Windows 桌面工作階段
  • 虛擬顯示器
  • 解析度與更新率
  • 輸入串流
  • 音訊串流
  • 應用程式與遊戲
  • Moonlight 遠端串流連線

這讓一台高效能 PC 可以像多台可遠端使用的電腦一樣工作,而不需要為每個使用者建立完整虛擬機器。


實際會是什麼樣子?

假設一台 Windows 10/11 x64 主機上運行三個 Avalon 實例:

                Windows 10/11 x64 Host
                       │
                ┌──────┴──────┐
                │    Avalon    │
                └──────┬──────┘
                       │
         ┌─────────────┼─────────────┐
         │             │             │
         ▼             ▼             ▼
    Instance 01    Instance 02    Instance 03
         │             │             │
         ▼             ▼             ▼
     Moonlight      Moonlight      Moonlight
        TV            Tablet         Laptop

每一台用戶端連線的都是自己的 Windows 桌面。

不同實例之間不會共用同一個桌面、滑鼠游標、音訊輸出或應用程式工作階段,可以同時並行運作。


為什麼需要 Avalon?

傳統遠端桌面工具通常圍繞「一個使用者控制一個桌面」來設計。

完整虛擬機器雖然能提供很強的隔離,但也帶來額外作業系統、記憶體負擔、儲存空間使用、GPU 配置複雜度與管理成本。

Avalon 選擇另一條路。

它利用 Windows 工作階段、虛擬顯示、獨立串流程序與集中式生命週期管理,讓多個可互動桌面在同一台 Windows 10/11 x64 主機上共存。

複雜的部分留給 Avalon;使用者真正需要理解的流程很簡單:

建立實例
    ↓
設定顯示與配對
    ↓
開啟 Moonlight
    ↓
連線

核心能力

多個獨立實例

一台主機可以同時運行多個 Windows 桌面工作階段。

每個實例都像一個可以獨立操作的桌面環境。

每個實例獨立串流

每個實例都有自己的串流上下文,可以由 Moonlight 用戶端單獨連線。

例如客廳電視連線實例 A 的同時,平板或另一台電腦也可以連線實例 B。

獨立顯示

每個實例可以使用自己的虛擬顯示設定,包括解析度與更新率。

不需要為每個實例準備真實實體顯示器,顯示環境由 Avalon 管理。

獨立輸入

鍵盤與滑鼠輸入會被送到對應的 Windows 工作階段,而不是在所有實例之間共用。

隨著輸入堆疊持續演進,Avalon 的設計也朝更完整的實例級裝置隔離發展。

獨立音訊

每個實例使用自己的 Windows 工作階段音訊路徑,因此不同使用者可以同時播放不同應用程式或遊戲的聲音,而不會簡單混在一起。

工作階段生命週期管理

Avalon 自己負責建立並維持工作階段。

不需要為了讓實例繼續存在,而長時間掛著另一個外部 RDP 用戶端。

Web 管理

所有實例都可以從同一個 Web 介面管理。

常見操作包括:

  • 建立與刪除實例
  • 啟動與停止實例
  • 設定解析度與更新率
  • 配對 Moonlight 用戶端
  • 查看連線狀態
  • 查看診斷資訊
  • 管理主機層級設定

日常使用不需要依賴命令列。


為 Moonlight 而設計

Avalon 保留你熟悉的 Moonlight 串流體驗。

Moonlight 仍可用於:

  • Windows
  • Linux
  • macOS
  • Android
  • iOS / iPadOS
  • Android TV
  • Moonlight 支援的智慧型電視與串流裝置

Avalon 改變的是主機端的組織方式,而不是要求你重新學習一套陌生的串流用戶端。


使用情境

家庭遊戲

把一台高效能遊戲主機變成多個可供不同家庭成員同時使用的獨立遊戲環境。

例如一個人在客廳電視遊玩,另一個人同時從掌機或筆電連線另一個實例。

多帳號與多實例工作負載

在同一台機器上,以分離的 Windows 環境運行不同應用程式、帳號或遊戲工作階段。

遠端工作站

把一台高效能桌上型電腦變成多個可以分別遠端存取的工作環境。

測試與開發

同時維護多個 Windows 工作階段,用於軟體測試、自動化、相容性驗證或隔離的使用者環境。

Homelab / 自行託管

把高效能 Windows 主機作為集中管理的多使用者遠端運算節點。


Avalon 如何運作?

Avalon 內部會協調多個系統層級:

Web Management
      │
      ▼
Avalon Control Service
      │
      ▼
Windows Sessions
Virtual Displays
Streaming Processes
Input / Audio Routing
      │
      ▼
Moonlight Clients

一般使用者不需要理解底層實作。

你建立一個實例,Avalon 會準備工作階段、顯示、串流環境與生命週期,接著你直接連線即可。


隔離模型

Avalon 提供的是 Windows 工作階段層級隔離

每個實例擁有自己的 Windows 工作階段、桌面、應用程式、顯示、輸入路徑與音訊路徑。

但是 Avalon 實例 不是完整虛擬機器

不同實例仍會共用:

  • 同一套 Windows 主機系統
  • 同一個核心
  • 同一顆實體 CPU
  • 同一張實體 GPU
  • 同一台主機的硬體資源

因此不應把 Avalon 當成 VM 等級的安全隔離邊界。

Avalon 的目標是高效率的多使用者、多桌面遠端串流,而不是完整硬體虛擬化。


目前狀態

Avalon 目前處於 Alpha 階段

架構、管理介面、相容性層與裝置堆疊仍持續迭代。

現階段可能出現:

  • 破壞性變更
  • 尚未完整的硬體相容性
  • UI 調整
  • 驅動程式與工作階段邊界問題
  • 穩定版本前仍可能改變的功能行為

目前不建議把 Avalon 當成關鍵正式環境基礎設施。

測試、日誌、可重現 Bug 與真實使用回饋在此階段非常有價值。


平台

目前目標平台:

Windows 10 x64 / Windows 11 x64

Avalon 圍繞 Windows 桌面、工作階段與圖形體系設計。

目前沒有將其他主機作業系統列為主要開發目標。


效能

Avalon 實際可達到的串流效果取決於:

  • GPU
  • 硬體編碼支援
  • 顯示卡驅動程式
  • 解析度
  • 更新率
  • 編碼格式
  • 網路品質
  • 用戶端解碼能力
  • 同時運行的實例數量

Avalon 不會對所有硬體統一保證固定解析度、更新率、HDR 模式或同時實例數量。

隨著測試範圍擴大,相容性與效能文件也會逐步完善。


Avalon 的理念

Avalon 的核心想法很簡單:

一台足夠強大的 PC,不應該永遠只能服務一個螢幕、一個桌面與一個使用者。

主機可以只有一台,但運行在上面的使用體驗不必只有一個。


開發

這份 README 作為 Avalon 的穩定產品介紹。

即時開發動態與留言說明請查看 devlog.md

Bug、使用問題與功能建議可以透過 GitHub Issues 提交。


Avalon

一台主機,多個實例。