在Linux下與PSVita傳輸檔案

警告:本篇介紹的並非SCE官方釋出的軟體,請自行評估風險
索尼電腦娛樂(SEC)最新的掌上遊戲機PlayStation Vita(PSVita,PSV),使用了特殊規格記憶卡與MTP,在電腦上須安裝Sony提供的程式才可傳輸檔案,然而該軟體並無Linux版。Linux下目前可改以libVitaMTP+OpenCMA+QCMA傳輸檔案,但仍有些問題。

在SD卡幾乎一統天下的現在,PSVita使用專用規格記憶卡給人「多賺一筆」的感覺。撇開這點不說,其實影響最大的是資料傳輸。PSP使用的Memory Stick Duo雖也是Sony特規,但至少Sony有其他使用MS記憶卡的裝置,市面上亦有讀卡機。然而PSVita記憶卡無其他對應裝置,也無讀卡機。

此外,PSVita與電腦傳輸資料以MTP規格為基礎,這項規格亦常用於智慧型手機。然而PSVita使用部份自創指令,必須安裝Sony提供的內容管理員(Content Manager Assistant,CMA)才可傳輸。有人猜測這些機制是為了防範盜版,這聽來似乎蠻有道理。對於Windows或Mac的使用者來說,只要下載內容管理員就OK了,但在Linux下就不是這樣。

為了自力救濟(或其他理由),有人將libMTP修改為支援PSVita的libVitaMTP,並同時釋出OpenCMA供玩家備份遊戲或存檔,提供類似官方版CMA的部份功能。要注意的是,該OpenCMA與防止官方版CMA連結Sony伺服器的patch不同,這的的確確是用來備份檔案的(請見專案的README)。

然而OpenCMA無圖形界面,也無法傳輸影片或音樂,對於我這種end-user來說仍不親切。codestation以該專案為基礎,除了讓OpenCMA支援多媒體檔案,更以Qt寫了圖形化管理前端-QCMA。目前提供Ubuntu、Debian與openSUSE套件包,當然也釋出了原始碼。
wololo.net/talk - QCMA - Cross-platform content manager for the PSVita (0.2.8)
http://wololo.net/talk/viewtopic.php?t=34677
將libvitamtp與qcma兩個套件裝好後即可使用,但第一次執行時請務必先設定各媒體對應的目錄。 

如上圖所示,QCMA在第一次執行時會自動將相片、影片等目錄指向Linux使用者的相關設定。但我建議另外建立一個新目錄專門管理PSVita的檔案,最大原因是OpenCMA與QCMA都尚未支援外部資料庫。資料庫在QCMA每次啟動時才會建立,而且會直接儲存於記憶體。若檔案太多,資料庫不僅會耗盡記憶體,下次啟動時仍要重新建立,可說前功盡棄。
因此我選擇建立名為「PSVita」的目錄,並依不同功能規劃Picture、Video、Music等子目錄。若您因無修改設定導致QCMA每次啟動時卡住,可手動修改以下檔案再重開QCMA。
~/.config/qcma/qcma.conf
設定完就萬事具備、只欠東風了。只要事先開啟QCMA,並將PSVita透過USB連接線與電腦連結,QCMA即可偵測到PSVita。
傳輸影片或圖片
從PSVita->電腦很簡單,只要確定連結成功後,從「內容管理」選擇要複製的影片或相片,並選擇複製即可。雖沒用過官方版CMA,但應該是一樣的。
從電腦->PSVita則需多一項步驟。將想傳到PSVita的檔案複製至指定目錄後,需在手動在QCMA圖示按右鍵手動更新資料庫(如上圖,英文是Refresh Database)。更新後再於PSVita上操作即可。

備份遊戲或存檔
要備份遊戲或存檔時,同樣在PSVita選擇想備份的內容,並按下「複製」即可。複製成功後,可以在QCMA的Backup Manager中看到。
備份途中建議不要更新資料庫,因為疑似有bug

疑似bug-備份途中更新QCMA資料庫,可能備份失敗

若在使用「備份工具」途中更新QCMA資料庫,可能導致備份檔寫入其他遊戲的param.sfo,使「備份工具」的備份檔與遊戲檔案皆失效。目前已回報,還不確定是不是真的bug。

只要在備份時不更新資料庫,基本上不會有什麼問題。
「備份工具」放在「內容管理」中,建議備份時不要操作QCMA,避免有問題
備份失敗的tmp檔與受影響的param.sfo
兩者大小總和等於PSVita匯出的大小
總結
有了libVitaMTP、OpenCMA與QCMA後,要將遊戲存檔備份至Linux系統,或將影片放入PSVita中已非難事。但相關工具目前仍算陽春,也有些小bug,期待未來會更完整。現在也不確定Sony是否會透過韌體更新導致libVitaMTP失效,對於一般玩家來說,Sony若能釋出官方版CMA當然最好......嗯,也許一般玩家用Linux的人不多吧。

底下是閒聊,備份檔到12GB不是買太多遊戲,是因為抓了一堆短期內不會碰的試玩版。如果只是拿來存遊戲存檔,PSVita 2000內建的1GB還夠用。但若要抓試玩版甚至放影片,就非得買記憶卡了。

留言