"Remix X" 黑科技(即在安卓上運行windows的exe程序)是基於什麼樣的原理?
我關注了技德科技這公司很久,今天開了發布會,提個問題。
作為技德科技「雙贏」發布會的壓軸亮相的重磅產品,Remix X 是技德科技和美國 Codeweaver 公司合作的一個項目,用戶可以在英特爾晶元上的 Remix OS 上運行 Windows 應用。也就是說,Remix OS 不僅支持兩百萬安卓應用,現在也可以支持 Windows 上的 EXE 程序,即 Office 2007 和一些 Windows 下的小遊戲,如接龍,掃雷等,這可以稱得上是 Android 系統有史以來完成的最大壯舉。部分文字圖片來自 技德科技召開2016「共贏」新品發布會 實現硬體跨界大統一
雖然沒看發布會,但是基於對安卓和 Codeweaver 的了解,我認為這個 Remix X 就是之前曾經傳過新聞的 CrossOver for Android 針對 Remix 公司的平板進行優化後的一個產品。
先介紹下 Codeweaver 公司。熟悉 Linux 的人可能知道,Linux 下有一個用於運行 Windows 程序的軟體叫做 Wine,而這個軟體就是由 Codeweaver 公司開發的開源軟體,同時這個軟體也提供一個名為 CrossOver 的商業版本。
再介紹一下實現原理。Wine 和 CrossOver 的原理就是在系統和 Windows 的應用程序文件之間添加一個兼容層,把針對 Windows 的系統調用實時地「翻譯」成對 Linux,Mac 甚至 Android 的系統調用,從而實現在 *nix 系統下執行 Windows 可執行程序的目的。這個原理和 Windows10 之前宣布過的 Bash on Windows 類似。
P.S. 根據此前的 CrossOver 技術預覽版的描述,CrossOver for Android 僅能運行在 Intel CPU 的安卓設備上,當然也只支持 Android x86 的設備,其他用戶暫時(或許不僅僅是暫時)是無法享受到這個技術的。
P.S2. 有 Android x86 設備並且對此有興趣的大概可以嘗試一下 CrossOver for Android 的技術預覽版,似乎只要填寫郵箱就可以試用了。 CodeWeavers is planning on releasing CrossOver for Android as a technology preview.(搬運自 如何評價技德科技最新發布的NAPA項目? - Icenowy Zheng 的回答 )
這算是 wine 的 Android 移植吧 (準確的講是 CrossOver)
與內核相關的應用很可能有問題,應用之間體驗的差異很可能也是問題……(比如 Style,看演示視頻是在 Remix 上用的 Windows 傳統立體風格,畫面太美不敢看(不過當然國內某些應用都是自己寫 style 的。。。然而這樣的應用的重量級跑在 Remix 的設備上大概會出事總之可以用肯定可以用,但是肯定不會有原生 Windows 用得舒服,說不定還沒有桌面 Linux 上跑 Wine/CrossOver 舒服。另外我覺得 Remix Mini 地位可能像 Surface RT 一樣尷尬了……做 PC 不如 x86 Remix 設備/其他 Baytrail 小型設備,做機頂盒不如專用機頂盒……還好價格還算便宜,買來給電腦小白糊弄人還行,還能避免小孩子亂玩守望屁股呢~(要不要買塊做 AArch64 開發板(逃
本人對以上答案概不負責,也沒有版權,只要別說是我說的就行。
=========================
另外那裡忘說了,這個項目只針對 x86 設備,而 Jide 自己的 Remix 設備都是 ARM!
另外我在 ARMv7 的 GNU/Linux 設備(Allwinner A33, Quad-Core Cortex-A7)上 qemu+wine 過一個 vb6 小程序(某遊戲存檔修改器),卡得要死。認為arm dynamic recompilation 可用的人請參考這一條。(雖然 A7 的確性能比較低)
(另外 Remix Pro 用 Snapdragon 652 做變形本。。。沒誠意,至少 820 啊)(逃不就是 wine 么,不是啥新鮮玩意,實際可用性也會讓你們失望。
wine聽說過吧? 是在Linux桌面下的一個模擬器 可以模擬出windows一些的系統來允許exe程序,但是許多程序還是不能很好的在wine下運行 Remix X類似這個原來,但載體是在X86處理器的Remix OS上。目前聽說相關應用適配工作正在進行。
Remix 想要實現的是 「打通移動設備和 PC」已實現的有什麼呢?
- 在 PC 上運行 Android
- 運行 Windows 可執行文件(exe)
- android-x86 (port Android to x86 platform)
- Wine (running Windows applications on several POSIX-compliant operating systems,CrossOver 是其商業版本)
「Android 系統有史以來完成的最大壯舉」 ?呵呵。
如何評價技德科技最新發布的NAPA項目? - 叛逆者的回答
瞎JB噴的人真多。
要點臉行嗎?本質Android系統兼容EXE在你們眼裡就是屁都不是,那你認為什麼樣才是壯舉?iOS跑APK還是Android跑ipa?
不管實不實用,只要做出來了,對我們消費者就是有好處的。支持。希望提高兼容性。
多平台互相兼容是大勢所趨。Chromebook也開始兼容Android的APK應用,一台設備上跑上所有應用,才是終極目標。其實就是WINE porting to android 了,當然要做一些現在WINE代碼里不存在的東西,比如圖形系統要從X WINDOW 切換到 SurfaceFlinger ANativeWindow等.
說起來簡單,當然做起來其實是很繁瑣的.很多人在回答中都有提到,Remix X在對於Windows應用支持的普遍性方面可能還存在不足。這個的確存在。
Remix X所基於的CrossOver,是做Windows運行在*nix平台有非常久經驗的公司Codeweaver的合作產品。相信很多人都非常熟悉wine吧,Wine就是Codeweaver所做在linux上運行windows應用的軟體.可以說wine就像是一個翻譯官,將windows應用所依賴的底層命令轉換成*nix的命令,從而可以讓windows應用在*nix平台上執行.
Wine相信每個用過linux的都會用到,因為在linux中確實有的時候需要用到windows應用,雖然不是特別多,可能就是那麼一個非常小的場景,比如我自己會用wine的qq.同時你沒有必要為了這個場景安裝一個龐然大物的系統,甚至附上額外的學習成本(是的,Windows 8, 10對我來說學習成本真的不低).
當然wine的確也會存在一定的兼容性問題,這個也是Remix X現在存在的,而且需要努力解決的.但是為了大屏而生,Remix OS為了期待帶給用戶的輕辦公的體驗也是不斷努力中.試想一下,一個簡易的平台就可以處理大部分生活中需要的場景,沒有必要在抉擇手機和電腦之間的切換.Windows只用在真正需要重度使用的區域,其他場景Android就可以在平板或者Remix OS X86上輕鬆搞定.這個東西只能運行在intel的CPU上面。然而這樣的CPU都可以直接運行windows了。。。。。不僅正版還不要錢。
Crossweaver為了規避微軟專利,很多系統調用都採用了低效演算法。對圖形晶元的調用效率也很低。所以這貨也就只能跑掃雷這種小程序了。然而intel最低端的Z8300在windows下都可以跑文明5。
內存方面,安卓系統開銷不小,還要再跑一套兼容層,整體內存需求應該會大於雙系統平板。這個技術目前的價值就是以大量的效率、內存、兼容性為代價,換來了10G的ROM空間。。大概是將wine移植安卓上吧,或者是自己重寫寫了個模擬器。
聯想有個手機也用了因特爾的cpu,為了兼容安卓程序裡面的armv7so庫,他們會實時把so裡面的arm指令翻譯成x86指令,速度大概慢1.5倍左右(大概是這個意思,具體細節不記得了)
既然能把arm指令翻譯成x86指令,那麼把exe裡面的x86機器碼翻譯成arm看得懂的機器碼應該也是可行的,從零開始不太靠譜,多半是基於一些開源軟體改的吧。
「現在,Remix X 可以運行微軟 Office 2007 和一些 Windows 下的小遊戲,如接龍,掃雷等。雙方的工程師正在努力解決更多兼容性和穩定性的問題,目標是支持更多的程序,如 Office 2010, Firefox 和 Flash,Steam。」
上面這段話的意思是,這玩意也就兼容一小部分window程序而已,能達到100%的兼容,應該是不可能了。
其實還不如把linux下的虛擬機移植arm平台上,只要性能可以,跑個win8應該是沒問題的。。。這樣exe問題就解決了。但是都做到這一步了,我為何不直接用window呢?難道就為了用安卓系統?這不是大眾需求。
雖然有這樣那樣的不足,但Remix OS一直在進步,對嗎?之前很多廠商用自己的實際行動證明了android相較於Windows的生產力幾乎為0,而Remix再逐漸扭轉人們的這一觀點,僅此而言,我覺得就應該給技德點贊。
exagear和winulator經過修改貌似可以滿足大部分運行exe文件的需求了。當然,如果Remix X可以支持3D遊戲就另當別論了。
CrossOver只是一個Wine的魔改版,這裡討論WineWine並非虛擬機而是加了一層兼容層。運行時:Windows程序-&>兼容層轉換-&>Linux程序,Android本身就是基於Linux Kernel的,在兼容層轉換這裡問題不大,修改的重點也應該是對於這個比較特殊的DE(應該不是基於X11的,否則更方便了,改都不用改),至於編譯,首先本身就是x86架構(Wine並非沒有ARM版,但限制居多,需要ARM的Windows程序或使用了winelib的程序,因此在ARM架構的手機上以增加兼容層來高效地跑Windows程序的做法難以實現),有了gcc/g++什麼都能編譯出來,不是什麼問題。兼容性應該不俗,經過一番配置,親測可以的有戰網,爐石傳說,WOW,QQ,Photoshop,steam,steam上大部分遊戲,(性能有時高於直接在Windows下跑,很謎),各類galgame。容易發現這些軟體往往是與系統結合不是那麼深的,那些結合較深的軟體往往有諸多問題,例如VS目前只能有缺陷運行至2010。在WineHQ有更多兼容性報告,可以去查看。PS:守望先鋒目前無法成功運行,Remix OS可以當作戒毒神器了性能方面不是很了解,根據自己的使用可以得出的是使用Wine兼容的Windows程序性能有略微降低,但不甚明顯。總的來說Remix X的實現似乎沒什麼技術難題,事實上XDA上很早以前就有人給Wine做了Android x86的移植。但能第一個把Wine on Android發揚光大,從程序員的玩具變成能日常使用的產品,Remix X功不可沒。
我選擇在win設備上裝一個安卓模擬器..........
實用性強嗎?如果現在所有的PC軟體都能在你手機上運行,來說說你會用那幾款?現在常用的PC軟體都會有手機版吧。。。。
我覺得要是能在手機上裝win和Android雙系統莫過於最好的事,當外置設備已經達到條件時,手機pc二合一,多好
這玩意有什麼意義呢?都說了「即 Office 2007 和一些 Windows 下的小遊戲,如接龍,掃雷」 一些小遊戲和特定都經過專門處理的應用而已,它真的可以對所有在Windows下exe程序進行兼容嗎?狗屁吧,有本事你運行個魔獸世界.exe 給我看看。如果做不到,那真的是雞肋!一點意義都沒有,不是說做不到,而是沒必要。
這種技術有什麼意義?要用Windows應用程序我不會直接用Windows?為什麼要用Android模擬出一個Windows,再在模擬出的Windows上運行Windows應用程序?
看看deepin的招聘公告,深度真的是在為Linux民用化努力,remix有心搞這個,不如多招幾個AndroidX86程序員。
雞肋吧,你會在手機上用電腦版的office?確定?你確定安卓版的沒有掃雷?蜘蛛紙牌等?win的更好玩?不可能吧。你確定更多手機用的不是高通晶元,是英特爾晶元?你確定他的穩定性?對於商業化,或者說推向大眾並不會有什麼較大的空間的,可能說在他們那個領域算是一種創新?不算創新吧...
所以說這軟體跟exagear比優勢何在。。。x86的U能免費安裝正版win系統 arm的U還用不了。。。
知道 BOCHS嗎?幾年前的東西,可以在Android上運行XP,跑GTA5 (逃
另,wine也在開發Android版的!
推薦閱讀:
※Windows 10是否可以出一個免費的不支持Win32應用的版本?
※如何看待微軟2016年10月股價創下歷史新高?
※現在可以移植ios應用到win10、win10 mobile 了嗎?
※Surface Book的目標客戶是哪些人?
※我的正版Key無法激活windows8.1?
TAG:微軟Microsoft | Android開發 | Android | RemixOS |