不花錢、開啟 nVIDIA 3D TV Play 功能給 HDMI 1.4 的 3D 電視用!


nVIDIA 基本上算是目前電腦相關領域上,推 3D 立體推的最勤勞的廠商了;他的 3D Vision(開箱文)系統,也算是目前電腦上數一數二完整的立體顯示方案。尤其相較於 AMD 的 HD3D(官網)和 Intel 的 Intru 3D(官網)都只是提供 HDMI 1.4 的立體輸出能力,nVIDIA 的 3D Vision 系統還提供了遊戲的中介轉換、可以把一般的 Direct 3D 遊戲立體化,功能算是多了不少~(AMD 和 Intel 的平台應該都需要額外的中介軟體,例如 iZ3D Driver、或是 DDD 的 TriDef 3-D)

nVIDIA 的 3D Vision(官網、註一)基本上是一整套的系統,要能使用,必須滿足以下的條件(官方網頁):

  • Windows Vista 或 Windows 7 的作業系統
  • 支援 nVIDIA 3D Vision 的 GeForce 顯示卡(基本上 GeForce 8 以後都支援)
  • nVIDIA 3D Vision 套件(包含紅外線同步訊號發射器以及 3D 立體眼鏡)
  • 支援 nVIDIA 3D Vision 的 3D 立體螢幕

這樣的立體顯示系統,基本上就是要完全符合 nVIDIA 所定義的標準、並且全部使用 nVIDIA 相容的產品了~

nVIDIA 3D TV Play

但是實際上,目前在家用的立體顯示方面,已經有定義出標準的 HDMI 1.4 訊號,也已經有不少支援 HDMI 1.4 3D 立體的電視、螢幕了;而當使用這類的立體螢幕的時候,實際上都是要搭配電視/螢幕本身所配的立體眼鏡,才能正確地看到立體效果的。所以,實際上在搭配 HDMI 1.4 的立體顯示器的時候,是用不到 3D Vision 套件的!

那 nVIDIA 在這方面有什麼解決方案嗎?實際上,nVIDIA 針對有支援 HDMI 1.4 的新的顯示卡(GeForce 200 以後的顯示卡),有推出了所謂的「nVIDIA 3D TV Play」(官網系統需求),用來處理連接 HDMI 1.4 的 3D 電視/螢幕的狀況。不過,很遺憾的是,雖然其實軟體方面的功能都已經包在驅動程式裡了,但是 3D TV Play 並不是完全免費的;要使用 nVIDIA 3D TV Play,目前有下面三種方案:

  • 如果電腦有連接 3D Vision 紅外線同步訊號發射器的話,可以免費使用 3D TV Play
  • 部分套裝電腦、筆記電腦,有直接附贈 3D TV Play(列表
  • 其他使用者,需要額外購買 3D TV Play(購物網站),才可以啟用 3D TV Play 的功能

也就是,對於一般組裝電腦的使用者來說,要讓電腦可以透過 HDMI 1.4 把立體畫面送給 3D 電視來顯示的話,要不就是買一組 3D Vision Kit 來接(實際不會用到,但是就是得接著),不然就是要購買 3D TV Play 的軟體才可以;也就是,都得花錢買東西就是了~

破解

由於 nVIDIA 的顯示卡驅動程式只要判斷有接上 3D Vision 的紅外線同步訊號發射器(以下簡稱「發射器」),就會允許使用 3D TV Play 的功能;所以理論上只要想辦法讓 nVIDIA 驅動程式認為電腦有接上發射器,就可以免費開啟 3D TV Play 了~

實際上可行嗎?答案是可以的,有一位名叫 Alexpk 的俄國人,已經成功地透過透過微軟的 Device Simulation Framework(微軟網站),來建立一個虛擬的 USB 發射器裝置、讓 3D TV Play 可以使用了!原作者的相關說明的網頁自然也都是俄文的,不過可以透過 Google 翻譯,勉強翻到可以閱讀的狀況(網址);或者,也可以參考《Tutorial: Enable 3DTV Play on any HDMI 1.4 Device for Free》這篇文章。接下來,則是 Heresy 自己的整理。

這個模擬器可以在 Windows 7 的 32/64 位元版本下運作,要使用這個模擬器,需要先下載 Alexpk 所製作出來的程式,連結是:3Dvision.zip另一個下載點)。這個壓縮檔解壓縮後,會有六個檔案、和一個名為「DSF」的資料夾(如右圖)。其中,檔案的意義分別如下:

  • DSF 這個資料夾裡還有三個檔案,就是 Device Simulation Framework 的 runtime 的安裝程式。裡面的「DSFx64Runtime.msi」是 64 位元用的、「DSFx86Runtime.msi」則是 32 位元用的。
  • 3d.dll」和「3d_x64.dll」是虛擬的紅外線發射器所需要的檔案,前者是 32 位元版、後者則是 64 位元版。
  • init.bat」和「init_x64.bat」這兩個檔案算是安裝虛擬發射器用的。
  • enablestereo.wsf」這個檔案是用來接上虛擬發射器用的腳本程式,「enablestereo.bat」則是用來執行這個腳本程式的批次檔。

而要安裝的話,以 64 位元 Windows 來說,則是依照下面的流程:

  1. 安裝 Device Simulation Framework

    執行「DSFx64Runtime.msi」(32 位元就是「DSFx86Runtime.msi」),以安裝 Device Simulation Framework。

  2. 安裝虛擬發射器

    開啟一個管理者權限的命令提示字元,然後以這個命令提示字元,來執行「init_x64.bat」這個批次檔(32 為原則是「init.bat」)以進行安裝(註二)。不過要注意的一點是,由於這個步驟包含了要把「3d_x64.dll」登記到系統裡的動作,在安裝之後,就不適合移動、或是刪除這些檔案了;所以建議在執行這個步驟前,先決定要把這些檔案放在哪裡會比較好(註三)。

    詳細步驟方法:

    1. 按左下角 Windows 鈕、在「搜尋程式及檔案」的地方輸入「cmd」,然後壓著鍵盤的 Ctrl、Shfit 後,按下 Enter,就可以教出一個以管理者權限執行的命令提示字元了。

    2. 假設 init_x64.bat 這個檔案的位置是在「D:\[Driver]\3Dvision」的話,在命令提示字元視窗裡,就要先輸入「D:」按 Enter、切換到磁碟機 D:\,然後再輸入「cd D:\[Driver]\3Dvision」按 Enter,進入到這個資料夾內。

    3. 接下來輸入「init_x64」後按 Enter,就可以進行安裝了~

    執行後應該會是這樣的畫面:

  3. 接上虛擬發射器

    接下來,執行「enablestereo.bat」(這步驟不用管理員身分,所以直接點兩下就可以了),他會去執行「enablestereo.wsf」這個腳本程式,來接上虛擬的 USB 發射器。 執行後會出現下面這樣的視窗;請注意,這個視窗請先不要按右上角的「X」關閉

    同時,在第一次執行的時候,裝置管理員也會開始搜尋硬體、並安裝驅動程式;如果一切正確的話,驅動程式應該都可以正確地找到、並安裝。 安裝完成後,在裝置管理員裡的「通用序列匯流排控制器」下,應該要多出「NVIDIA Stereoscopic 3D USB controller」這個裝置(如右圖)(註四)。

    前面也有提到,這個跑出來的命令提示字元視窗不要直接關掉,這是因為實際上這邊所執行的腳本程式,是用來控制虛擬發射器的連接狀態的,因為如果直接關閉的話,就沒有辦法把虛擬的發射器給移除了!而如果確定不使用、想要拔除這個虛擬發射器的時候,請到這個對話視窗裡、按一下 Enter 鍵,如此就可以把虛擬發射器移除、並且關閉視窗了。而如果要再重新接上虛擬發射器的話,只要再執行「enablestereo.bat」一次就可以了~如果直接透過視窗右上角的「X」把視窗關閉的話,虛擬的發射器在重開機前,都會一直在電腦裡無法移除,這點是要注意的。

  4. nVIDIA 驅動程式設定

    到這邊為止,基本上是已經完成安裝了!這個時候,電腦上就等同已經接上 nVIDIA 3D VISION 的紅外線同步訊號發射器了!如果也有接上 3D Vision ready 的 120hz 顯示器的話,理論上應該甚至可以直接打開 3D Vision 來用(當然,因為沒有實際上的同步訊號發射器,所以是沒辦法用的)~

    而在 nVIDIA 的顯示卡驅動程式裡面,最大的改變會在於,在沒有安裝虛擬發射器前,他的「設定立體 3D」的選項裡,只會有「3D Vision Discover」這種使用紅藍立體的體驗方案(如下方左圖、官方介紹);而在安裝了 3D Vision 的發射器、或是這個虛擬的發射器後,它會多出「通用 CRT 顯示器」和「通用 3D DLP 高畫質電視(HDTV)」這兩個選項。

     

    理論上如果有 nVIDIA 有支援的 HDMI 1.4 3D 電視(支援列表、註五)的話,理論上這邊也是會有「3D TV Play」這個對應的選項出現的;不過由於 Heresy 這邊沒有這樣的顯示器,所以在這邊也就沒辦法做測試了。

而之後要使用的時候呢,只要再執行「enablestereo.bat」,就可以模擬把 USB 發射器接上電腦的動作,然後開啟 3D 功能了~如果希望一開機就馬上可以用,也可以考慮把他加到啟動裡,讓他一開機就自動被執行。

 

整個方法就先介紹到這吧~不過 Heresy 這邊並沒有真的測試過接上 HDMI 1.4 的 3D 電視用過,只能說基本上應該是可以用的,其他就請有需求的人自己試試看了~另外,實際上由於這個方法使採用硬體模擬的方法,並沒有去修改系統、或是任何驅動程式的檔案,所以理論上,應該之後也都是可以用的~

附註

  1. nVIDIA 目前除了一般娛樂市場的 3D Vision 外,也還有推出為了專業領域、更高階(也更貴的)的 3D Vision Pro(官網);主要的差異在於改採雙向溝通的 RF 訊號來取代本來的紅外線同步訊號,以達到更好的效果。不過這項產品,對於一般人來說,比較接觸不到就是了。
  2. Heresy 有試過直接以管理員身分執行「init_x64.bat」這個批次檔,但是似乎沒有辦法正確安裝。
  3. 如果要移除,執行「"%PROGRAMFILES%\dsf\softehci\softehcicfg.exe" /remove」應該就可以了。
  4. 目前 nVIDIA 最新版的 GeForce 驅動程式版本是 270.61(32bit64bit),裡面已經包含了 3D Vision 的驅動程式,理論上可以正確地安裝在虛擬發射器上;如果不行的話,或許也可以試試看舊版、獨立的 3D Vision 驅動程式(最終版是 266.21)。
    而如果這時候多出來的 USB 裝置不是叫這個名字的話(Heresy 這邊是出現「USB 輸入裝置」),則代表上一個步驟「安裝虛擬發射器」有問題,請再確認一次是否有安裝正確。
  5. 對於還沒有出現在官方支援清單裡的電視,或許可以考慮試試看《FIX: NVIDIA 3DTV PLAY Samsung 3d Plasma or other unsupported model》這篇的方法,透過強制修改顯示器的驅動程式/EDID,來支援輸出。
  6. 這邊教學的連結就直接貼在 nVIDIA 自家的 3D Vision Blog 上(連結),所以應該不算違法吧? XD

對「不花錢、開啟 nVIDIA 3D TV Play 功能給 HDMI 1.4 的 3D 電視用!」的想法

  1. 先謝謝你的教學, 我有一個白目的問題…

    我電腦的Display card 是GT640M, SUPPOR 3D 的
    但是DRIVER 285的版本比較舊, 不SUPPORT我的DISPLAY CARD

    是否意味著我用不到你的方法?
    thanks

  2. 請問Heresy大大
    為何我的「NVIDIA Stereoscopic 3D USB controller」這個裝置會出現驚嘆號
    之前有成功過~後來更新顯卡新的驅動後就不能用了~
    重安裝也一樣!有辦法解決嗎?
    謝謝!

  3. 這樣等於是讓3D game 輸出HDMI 3D訊號
    我是Nvidia GTX570 + TH-P50ST30W 可以用 也不麻煩..
    不過幾個問題反應一下

    1.執行game 時 要在nvidia 控制台先切到 3D 顯示
    2.遊戲要支持 HDMI 3D 解析度. 所以就只會有二種
    1920*1080
    1280*720
    遊戲非這二種解析度就不支持

    不支持的GAME 用 DDD 的 TriDef 3-D 我測試是可以 不過效果不太好…

      • 回應是感謝你的資訊
        其實目前玩了幾個Game 效果是不錯啦.
        只是我手上一個老Game Command and Conquer Generals 沒辦法支持
        我在EZ3D 上玩過此Game 效果好懷念…

        有任何需要幫測試的再問我…

        • 基本上,3D Vision 這類的 Direct3D 的遊戲立體化的功能,在理論上只要是使用 Direct3D 的遊戲,應該都有一定的支援度(不過使用的 DirectX 版本可能也有差)。
          但是如果遊戲裡有用到特殊的寫法的話,就有可能有問題。

          而 nVIDIA 現在應該也不會跑回去對古老的遊戲再做調整、額外支援了。這點算是這方面比較大的問題。

          也謝謝你的經驗分享了~ :)

  4. 這個方法不錯, 但比較繁複…我剛剛找到一個程式 (trial version of Nvidia 3DTV Play) .exe 檔案. 14日裡試用及可打serial 落去. 只要知道serial number 就可以免費使用 3DTV play 功能. 那就不比較快嗎?

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料