五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Linux雙顯卡Wayland環(huán)境開應用獨顯被喚醒的解決方法

2023-04-19 20:12 作者:怎么取名字這么難額啊  | 我要投稿

正如標題所說,在雙顯卡筆記本里,無論你使用的是什么Linux發(fā)行版,Wayland環(huán)境下打開應用總會有點“遲滯感”(延遲感)。這是因為獨立顯卡被從休眠中喚醒造成的延遲。

速通版:

在/etc/environment文件里添加一行:

__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json 注銷/重啟后即可生效。

注意:此方法僅對原生Wayland應用生效,XWayland因為設(shè)計問題無法繞過。對于事情來龍去脈感興趣的可以接著往下看。

詳細版:

所以一切都開始于我在Discord里面看到的一句抱怨:

有人在抱怨nautilus(GNOME的文件管理器)打開有延遲。這個問題實際上自從我使用Wayland以來就一直存在的,其原因就是在打開有3D加速功能的應用時,應用會把PCI總線上的設(shè)備都掃描一遍,于是獨立顯卡被喚醒。這就造成了一定的延遲感。 之前我也嘗試尋找解決方案,但是碩大的互聯(lián)網(wǎng)居然搜不出一個解決方案......有點令我詫異。 不過世界上還是大神多吶,馬上就有人一針見血的指出了可能存在的問題:是glvnd這個庫搞的鬼。(倉庫地址:https://gitlab.freedesktop.org/glvnd/libglvnd)具體是干啥的?當一個系統(tǒng)中存在多個可用的OpenGL加速器的時候,就需要這個庫來進行抽象,把不同硬件的驅(qū)動調(diào)用方法給統(tǒng)一起來。 (這個庫居然是英偉達開發(fā)的,但是也為Intel、AMD、Mesa這些驅(qū)動所用,已經(jīng)事實上是一個公用庫了) 然后,在這個庫的README里面,有這么一部分(EGL dispatching): 機翻:EGL 不能像 GLX 那樣依靠向 X 服務(wù)器詢問供應商名稱,因此它會枚舉并加載每個可用的供應商庫。還需要加載每個供應商以支持擴展,例如 EGL_EXT_device_enumeration 所以在Wayland下打開原生應用的時候,由于沒有直接獲取渲染設(shè)備的方法,那就只能先掃描一遍PCI總線,確定有哪些可用的設(shè)備后,應用才能開啟。 值得注意的是,開發(fā)者專門為這一部分寫了一個小文檔(icd_enumeration.md)大佬指出以下這部分可能有幫助: 機翻:如果設(shè)置了環(huán)境變量 __EGL_VENDOR_LIBRARY_FILENAMES,它是一個以冒號分隔的 JSON 文件名列表。這些文件中描述的 ICD 按給定順序加載。沒有加載其他 ICD 其中所說的文件目錄,位于“/usr/share/glvnd/egl_vendor.d/”下,打開可以看見里面有兩個文件:一個是英偉達的,另一個是mesa(也就是AMD或者Intel的)。那么按照這個思路,我們可以在系統(tǒng)變量中設(shè)置__EGL_VENDOR_LIBRARY_FILENAMES,這樣一來,每當EGL應用(原生Wayland應用)開啟時,就能直接繞過掃描設(shè)備環(huán)節(jié)。 所以,在/etc/environment文件里添加一行 “__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json”,重啟,打開原生Wayland應用進行測試,應用可以秒開,沒有延遲(測試了火狐以及GNOME文件管理器)

那么XWayland什么的有在搞嗎...:

直接上結(jié)論:nope。因為X11應用在開啟之前需要連接所有的GPU設(shè)備,那么就不可避免的要喚醒獨顯。但是如果你跑在原生X11下就不會出現(xiàn)這個情況了(大部分時候不會)。個人猜測:XWayland畢竟不是原生的X11,在原生X11下,掃描GPU這一步可能會在系統(tǒng)開啟之前就已經(jīng)完成了,現(xiàn)在用Wayland替換掉X的底層,那么就不可避免的要重新掃描一遍設(shè)備。

有更好的解決方法嗎?

辣當然了!但是從開發(fā)者專門為這事寫個小文檔來看,想從底層改動這個機制可能并非容易的事。首先glvnd需要加入相關(guān)代碼,其次,Wayland協(xié)議也需要修改,加入新的protocol。如果想讓XWayland也做到的話,那X11的源代碼也需要改。 只有哪一天三方開發(fā)者都達成共識,一起投入進去才能最終了結(jié)這事。畢竟底層protocol的變動不是拍拍腦袋就決定的事(樂

Linux雙顯卡Wayland環(huán)境開應用獨顯被喚醒的解決方法的評論 (共 條)

分享到微博請遵守國家法律
闽清县| 宜良县| 新竹县| 得荣县| 江永县| 铁岭市| 吉安市| 怀化市| 乌审旗| 敦化市| 赣州市| 康马县| 芷江| 扎囊县| 公主岭市| 古浪县| 陆河县| 淅川县| 塔河县| 屯留县| 榆林市| 千阳县| 西华县| 崇明县| 邯郸市| 嘉黎县| 洛宁县| 松江区| 固原市| 南溪县| 息烽县| 罗城| 南华县| 屏边| 海安县| 通山县| 石台县| 湖南省| 天全县| 九龙城区| 广州市|