在Windows中運行基于Linux的應用程序已經成為現實
微軟宣布對其 WSL 進行重大改進,使你能夠輕松地運行 Linux 圖形化應用程序。
當微軟在 2016 年發布 “Windows subsystem for Linux”(也就是 WSL)的時候顯然有夸大宣傳的嫌疑,當時人們夢想著無需重啟就可以同時運行基于 Windows 和 Linux 的應用程序,令人可惜的是,WSL 只能運行 Linux 終端程序。
去年,微軟再次嘗試去顛覆 Windows 的應用生態,這一次,他們替換了老舊的模擬核心,轉而使用了真正的 Linux 核心,這一變化使你可以 在 Windows 中運行 Linux 應用程序。
WSL 圖形化應用的初步預覽
從技術上講,用戶最初確實在 WSL 上獲得了對 Linux 圖形化應用程序的支持,但僅限于使用第三方 X 服務器時。這通常是不穩定的、緩慢、難以設置,并且使人們有隱私方面的顧慮。
結果是小部分 Linux 愛好者(碰巧運行 Windows),他們具有設置 X 服務器的能力。但是,這些愛好者對沒有硬件加速支持感到失望。
所以,較為明智的方法是在 WSL 上只運行基于命令行的程序。
但是現在這個問題得到了改善。現在,微軟 正式支持 了 Linux 圖形化應用程序,我們很快就能夠享受硬件加速了,
面向大眾的 Linux 圖形化應用程序:WSLg
圖片來源:Microsoft Devblogs
隨著微軟發布新的 WSL,有了一系列巨大的改進,它們包括:
- GPU 硬件加速
- 開箱即用的音頻和麥克風支持
- 自動啟用 X 服務器和 Pulse 音頻服務
有趣的是,開發者們給這個功能起了一個有趣的外號 “WSLg”。
這些功能將使在 WSL 上運行 Linux 應用程序幾乎與運行原生應用程序一樣容易,同時無需占用過多性能資源。
因此,你可以嘗試運行 自己喜歡的 IDE、特定于 Linux 的測試用例以及諸如 CAD 之類的各種軟件。
Linux 應用的 GPU 硬件加速
圖片鳴謝:Microsoft Devblogs
以前在 Windows 上運行圖形化 Linux 程序的最大問題之一是它們無法使用硬件加速。當用戶嘗試移動窗口和執行任何需要對 GPU 性能有要求的任務時候,它常常陷入緩慢卡頓的局面。
根據微軟發布的公告:
“作為此次更新的一部分,我們也啟用了對 3D 圖形的 GPU 加速支持,多虧了 Mesa 21.0 中完成的工作,所有的復雜 3D 渲染的應用程序都可以利用 OpenGL 在 Windows 10 上使用 GPU 為這些應用程序提供硬件加速。”
這是一個相當實用的改進,這對用戶在 WSL 下運行需求強大 GPU 性能的應用程序提供了莫大幫助。
開箱即用的音頻和麥克風支持!
如果想要良好的并行 Windows 和 Linux 程序,好的音頻支持是必不可少的,隨著新的 WSL 發布,音頻得到開箱即用的支持,這都要歸功于隨著 X 服務器一同啟動的 Pulse 音頻服務。
微軟解釋說:
“WSL 上的 Linux 圖形化應用程序還將包括開箱即用的音頻和麥克風支持。這一令人興奮的改進將使你的應用程序可以播放音頻提示并調用麥克風,適合構建、測試或使用電影播放器、電信應用程序等。”
如果我們希望 Linux 變得更加普及,這是一項關鍵功能。這也將允許 Windows 應用的開發人員更好地將其應用移植到 Linux。
自動啟動所有必需的服務器
圖片鳴謝:Microsoft Devblogs
以前,你必須先手動啟動 PulseAudio 和 X 服務器,然后才能運行應用程序。現在,微軟已經實現了一項服務,可以檢查 Linux 應用程序是否正在運行,然后自動啟動所需的服務器。
這使得用戶更容易在 Windows 上運行 Linux 應用程序。
微軟聲稱這些改動會顯著提升用戶體驗。
“借助此功能,我們將啟動一個配套的系統分發包,其中包含 Wayland、X 服務器、Pulse 音頻服務以及使 Linux 圖形化應用程序與 Windows 通信所需的所有功能。使用完圖形化應用程序并終止 WSL 發行版后,系統分發包也會自動結束其會話。”
這些組件的結合使 Linux 圖形化應用程序與常規 Windows 程序并行運行更為簡單。
總結
有了這些新功能,微軟似乎正在竭盡全力使 Linux 應用程序在 Windows 上運行。隨著越來越多的用戶在 Windows 上運行 Linux 應用程序,我們可能會看到更多的用戶轉向 Linux。特別是因為他們習慣的應用程序能夠運行。
如果這種做法取得了成功(并且微軟幾年后仍未將其雪藏),它將結束 5 年來對將 Linux 應用引入 Windows 的探索。如果你想了解更多信息,可以查看 發行公告。