pc機wayland環境編譯glfw視窗管理器
阿新 • • 發佈:2018-12-09
找了很多Linux發行版,都沒有明確標註是否採用了wayland作為顯示伺服器,嘗試了ubuntu17.10,suse,centos7,fedora28,終於在fedora28上找到了原生使用wayland的發行版
ubuntu17.10也採用wayland作為原生圖形伺服器,但是沒兩下就宕機,變磚了
centos7連視窗都沒有,完全自己搭建,編譯了無數的原始碼,最終因為執行weston提示版本不適配而無法進行
查到fedora25打算預設採用wayland作為顯示伺服器,於是開啟之前用於學習systemd的fedora28,用如下命令可確認
xrandr
echo $XDG_SESSION_TYPE
loginctl
確認了顯示伺服器是wayland
於是在fedora28上部署wayland開發環境,將glfw視窗管理器編譯出來 大概下載瞭如下工具:
yum install autoconf automake make gcc gcc-c++ libtool bison flex wget bzip2 pkgconfig yum install libffi-devel.x86_64 expat-devel.x86_64 yum install systemd-devel.x86_64 yum install wqy-microhei-fonts.noarch wqy-zenhei-fonts.noarch zlib-devel.x86_64 yum install glib2-devel.x86_64 yum install libpng-devel.x86_64 pixman-devel.x86_64 yum install libxkbcommon-devel.x86_64 libjpeg-turbo-devel.x86_64 pam-devel.x86_64 yum install cmake-gui
安裝cmake,有多種方法,安裝編譯完後加個連線才好用 ln -s /usr/cmake-3.12.2-Linux-x86_64/bin/* /usr/bin/
首次編譯會出現如下幾個環境配置問題:
- 在cmake-gui上匯入glfw-3.2.1,在Makelist.txt上記得開啟wayland,否則預設是x11,會提示沒有x11的開發庫;
匯入後點擊configure,會產生一個ecm錯誤,這是cmake的問題,安裝有一個擴充套件包即可
git clone git://anongit.kde.org/extra-cmake-modules.git cd extra-cmake-modules/ cmake . make
- 在cmake-gui上刪除當前配置Delete Cache,重新configure,有一個新的錯誤產生,missing WAYLAND_LIBRARY**,安裝wayland開發庫
yum install wayland-devel
- 在cmake-gui上刪除當前配置Delete Cache,重新configure,又有一個新的錯誤產生,missing WAYLAND_PROTOCOLS,安裝wayland_protocols開發庫,可從該網站下載,http://rpm.pbone.net/index.php3?stat=3&search=wayland-protocols-devel&srodzaj=3
rpm -ivh wayland-protocols-devel-1.2-13.1.noarch.rpm
- 在cmake-gui上刪除當前配置Delete Cache,重新configure,此時configure和generate成功執行,在build目錄生成馬可肥了,終端進入build目錄執行make,此時又產生一個錯誤,找不到標頭檔案<GL/gl.h>****等,此時安裝OpenGL開發庫
yum install -y SDL-devel mesa-libGL-devel
到此,glfw-3.2.1順利編譯,examples檔案可完美執行