【工控適配】望獲Linux系統(tǒng)適配英偉達(dá)顯卡
不管是國(guó)內(nèi)網(wǎng)友還是國(guó)外網(wǎng)友,適配nvidia顯卡,經(jīng)常會(huì)遇到經(jīng)典的nvidia_drv.so找不到符號(hào)的問(wèn)題,例如: undefined symbol: noPanoramiXExtension。 先說(shuō)下論壇里網(wǎng)友的解決辦法: 網(wǎng)友A的解決辦法:哐哐安裝一堆nvidia-driver各種版本 網(wǎng)友B的解決辦法:哐哐xserver又是升級(jí)又是降級(jí),說(shuō)兼容性問(wèn)題。 Archlinux 論壇網(wǎng)友的解決辦法:[SOLVED] Nvidia driver not loading / Newbie Corner / Arch Linux Forums Archlinux這個(gè)網(wǎng)友最后通過(guò)高人指導(dǎo)設(shè)置了一個(gè)環(huán)境變量:LD_BIND_NOW。 雖然每個(gè)人的解決辦法不同,很多時(shí)候我認(rèn)為一點(diǎn)意義沒(méi)有,最后,搞的越來(lái)越玄學(xué)! 接下來(lái)我們就講解下如何解決。 常見(jiàn)的錯(cuò)誤例如: 執(zhí)行nvidia-smi
查看X的log后發(fā)現(xiàn):
Nvidia_drv.so : undefined symbol: noPanoramiXExtension 這是英偉達(dá)顯卡適配過(guò)程中非常常見(jiàn)的錯(cuò)誤,找不到符號(hào),找不到誰(shuí)的符號(hào),那自然是xserver中的符號(hào)。那么我們?nèi)server的源代碼中看:
耐心找定義,發(fā)現(xiàn)在os/utils.c中:
并給出注釋:/* Xinerama is disabled by default unless enabled via +xinerama */ 意思是xinerama拓展功能默認(rèn)關(guān)閉,所有沒(méi)有打開(kāi)。我們打開(kāi)它,重新編譯。另外xserver 1.21版本 以上使用了pkgconfig的方式來(lái)檢測(cè)系統(tǒng)是否包含xinerama,如何檢測(cè)到會(huì)自動(dòng)打開(kāi),那接下來(lái)就簡(jiǎn)單了,安裝xinerama:
dnf install libxinerama1 再去xserver代碼中查看,執(zhí)行menson build
果然找到了,接下來(lái)直接編譯安裝: ninja && ninja install reboot 系統(tǒng)重啟后,查看狀態(tài):
Nvidia驅(qū)動(dòng)已經(jīng)正確適配。

提交
【工控方案】望獲實(shí)時(shí)Linux系統(tǒng)與Betaflight的結(jié)合:計(jì)算與飛控的完美協(xié)作
【工控方案】 望獲實(shí)時(shí)Linux系統(tǒng)運(yùn)行ROS-LLM,千元硬件支持具身智能
【工控資訊】探索RTOS在電力控制系統(tǒng)中的應(yīng)用價(jià)值
【工控方案】基于望獲實(shí)時(shí)Linux和EC_Master的人形機(jī)器人實(shí)時(shí)控制解決方案
【工控資訊】工業(yè)機(jī)器人中實(shí)時(shí)操作系統(tǒng)的應(yīng)用與挑戰(zhàn)