Windows 10 桌上型電腦的 Miracast

| | 0 Comments| 16:32
Categories:

之前在 Windows 10 Insider 14316 的預覽版(目前最新版是 14366)更新的時候,微軟引進了一個「Bash on Ubuntu on Windows」的子系統,讓使用者可以在 Windows 10 的環境下、直接使用 Ubuntu 的 Bash、執行 Ubuntu 上的程式;這點對於有 Windows / Linux 兩棲需求的人來說,其實算是滿方便的東西~

而在該版本中,另外還有一個似乎沒多少人注意,但是個人覺得頗有趣的功能,那就是新的 App:「連線」。

單就這個 App 的名字,其實太過於空泛、很難理解是用來幹嘛的。不過,他的主要功能,就是在支援 Miracast 的電腦上,可以用來「把 PC 當作 Miracast 的接收器、來顯示 Miracast 投影出來的內容」!

如果投影端也是 Windows 10 的話,接收端甚至可以像是在使用遠端桌面一樣、操作另一台電腦

這樣做有什麼好處呢?以單純當作 Miracast 接收器來說,它的好處就是可以直接在這台電腦上,檢視其他裝置(手機、平板)的畫面;而如果有需要的話,也可以透過這台電腦,把手機的畫面用投影機放出來~

像下圖就是 Heresy 用電腦接收 Sony Xperia Z5P 投影出來的畫面的效果。

而由於 Windows 10 的 App 可以自由地調整視窗大小、也可以全螢幕,所以要展示手機畫面的時候,其實會變得相當地有彈性。

另外,如果是全部採用 Intel 方案(Intel 無線網路卡、顯示晶片)的筆記電腦,應該也會支援 Intel WiDi(官網)這個無線顯示技術;而由於 WiDi 3.5 以後的版本,也有支援 Miracast,所以也就可以把這台電腦的畫面、投影倒影到另一台電腦了~而如果兩邊都有支援的話,甚至可以用來當作基於無線網路的遠端桌面來用了。

也由於 Miracast 和 WiDi 這類的技術,都是基於 Wi-Fi Direct 這項點對點直連的技術(維基百科),所以要使用的時候,兩台電腦都不需要上網、只要可以透過 Wi-Fi 對連就可以了~也因此,如果是在外面沒有網路的情況下,他或許可以是一個用來取代遠端桌面、或是 TeamViewer 這類需要網路的遠端遙控方案。


Heresy 自己手邊的 Sony VAIO SVZ13 因為有支援 WiDi,所以可以用來玩這東西;玩了一下後,是覺得這東西很有趣,所以就想研究一下,要怎樣讓桌上型電腦,也可以支援 Miracast、讓他們也可以用來這樣玩。

不過認真找了一下之後,這才發現,Heresy 基本上找不到 Windows PC 對於 Miracast 支援的系統需求… orz

以作業系統來說,根據《享受 Windows 8.1 最棒的 Miracast 無線投影技術》這篇文章來看,應該是 Windows 8.1 以後的作業系統,就都有支援 Miracast 了。

但是,要怎樣的顯示卡、以及怎樣的無線網路卡,才能支援 Miracast 呢?Heresy 基本上找不到一個明確的答案…微軟唯一給的條件,就是:

  • 顯示卡要支援 WDDM 1.3
  • Wi-Fi 無線網路卡要支援 NDIS 6.4

不過實際上,Heresy 自己測試過的結果,這樣的資訊完全不夠啊!

以無線網路卡來說,其實一般網路卡廠商根本不會標示自己的 NDIS 版本、也不會說有沒有支援 Miracast,除非你買來,否則根本不知道能不能用… orz

而顯示卡的部分,像是 NVIDIA 顯示卡的 Windows 10 驅動程式,基本上都是 WDDM 2.0 了,但是卻不是每張卡都支援 Miracast。

根據網路上的說法,在 NVIDIA 顯示卡的部分,應該是僅有 Maxwell 架構的顯示卡,才有支援 Miracast(不過 DxDiag 還是回報不支援) (參考);也就是有支援的卡,只有 GeForce GTX 950、960、970、980、980 Ti、Titan X 這幾張而已。另外,GeForce GTX 750 與 750 Ti 基本上也是 Maxwell 架構的顯示卡,但是能不能用,可能也要測試過才知道了。

至於新的  Pascal 系列、也就是 GeForce GTX 1070、1080 是否有支援,可能也是有待驗證了。

總之,在經過了不少資料搜尋、測試之後,Heresy 這邊透過手邊的東西測試可以使用的組合,是:

  • Windows 10 Insider 14366 x64
  • NVIDIA GeForce GTX 950
  • EDIMAX EW-7811UN USB 無線網路卡

其他也有試過 NetGear A6200、Buffalo WLI-UC-G450 這兩張無線網卡,的確都不支援;而 GeForce GTX 680 和 GTX Taitan,也都無法使用。


如果想確認 Windows 10 的電腦是否有支援 Miracast、或是怎麼用呢?基本上,只要壓住鍵盤上的 Windows 鍵、再按「P」,螢幕右側就會出現「投影」的選單(如下圖)。

在這個選單,主要是用來快速設定連接第二螢幕時,第二螢幕使用的方式的。而如果電腦有支援 Miracast 的話,在這些選項的下方,就會有「連線到無線顯示器」的選項。

點選了「連線到無線顯示器」這個選項後,他就會開始偵測可以用的無線顯示器接收器,像是下圖就是有偵測到「SBWD DCAF0B」這個 ScreenBeam(官網)的 Miracast 接收器。

如果都正常的話,應該是點選要連線的裝置後,畫面就會送到接收端去了。

至於這樣無線顯示的穩定性、效能、延遲,感覺上會嚴重地受環境的影響…在 WiFi 環境單純的情況下,似乎會比較好。

同時,以 Heresy 自己的經驗是,使用軟體作為接收器方案時,感覺都比較不穩定…包含 Windows 10 Insider 的「連線」App 在內,透過 Miracast 來做無線顯示的穩定性都沒有硬體方案來的好。


附註:

  • 要確認顯示卡的 WDDM 版本,可以使用「DxDiag」這個工具來看。

    在這個程式中,再點選「儲存所有資訊」後,會產生一個純文字檔,裡面會有 Miracast 支援度的資訊。

    • 不過就算是已經實測支援 Miracast 的 GeForce GTX 950,他還是顯示「Not Supported by Graphics driver」。

  • 要確認網路卡的 NDIS 版本,可以在 PowerShell 的環境下,執行「Get-NetAdapter | Select Name, NdisVersion」這個指令來確認。(參考

    • 手邊另外兩張 USB 無線網路卡,NetGear A6200是  NDIS 6.3,Buffalo WLI-UC-G450 是 NDIS 6.0

  • 在 Windows 10 的狀況

    • 在 Windows 10 Insider 的設定選項中,多了一個「正在投影到此電腦」的選項,可以調整在哪些狀況可以接收投影(下圖)。



      預設應該是只有在開啟「連線」App 時,才能接收投影;在修改後,則可以讓電腦在鎖定畫面,也接受投影。

    • 在測試的過程,其實有點不一致性…感覺 Windows 似乎會記錄某些狀態,尤其是「連線」這款新的 App,就算顯卡已經換掉了,他還是顯示支援。所以,其實這類的狀況,導致有的時候難以判斷實際狀況…

    • 如果網路卡有支援、但是顯示卡沒支援的話,似乎還是可以接受投影,但是不能投影出去。

      所以如果只是想當接收端的話,可能可以只買一張可以用的 USB 無線網路卡就好了。

    • 在把 Windows 10 PC 當成 Miracast 接收器的時候,並不支援 HDCP,所以對於部分比較嚴謹的裝置,使用上可能會有問題。實際上 Heresy 之前之所以 root 了 Xperia Z1 Compact、把 HDCP 關掉,就是為了玩這個。

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *