Categories: Linux

Linux 系統 EGL 版本檢查、測試工具

介紹如何在 Linux 系統中使用既有工具或自行撰寫程式,查詢 EGL 的版本。

Mesa EGL 測試工具

Mesa 3D 函式庫中有一個 eglinfo 工具可以用來查詢 EGL 的各種版本資訊,它的作用跟標準的 glxinfo 類似,只不過是針對 EGL 設計的。

若在 Ubuntu Linux 系統上,可以透過 apt 安裝 mesa-utils-extra 套件來取得 eglinfo

# 安裝 mesa-utils-extra 套件(Ubuntu)
sudo apt install mesa-utils-extra

若在 CentOS 中,則可用 yum 安裝 mesa-utils-extra 套件來取得:

# 安裝 mesa-utils-extra 套件(CentOS)
sudo yum install egl-utils

安裝好之後,執行 eglinfo 即可取得 EGL 相關的各種資訊:

# 執行顯示 EGL 資訊
eglinfo

egl_example 測試工具

egl_example 是一個可以用來查詢 EGL 版本的小工具,我們可以從 GitHub 取得其原始碼,自行編譯使用。

# 取的 egl_example 原始碼
git clone https://github.com/erwincoumans/egl_example.git

在該專案中有附帶一個編譯用的指令稿:

# 編譯程式
cd egl_example
sh build.sh

編譯之後,即可直接執行:

# 執行 EGL 查詢程式
./egl_example
Loaded EGL 1.5 after reload.
GL_VENDOR=NVIDIA Corporation
GL_RENDERER=Tesla V100-SXM2-32GB/PCIe/SSE2
GL_VERSION=4.6.0 NVIDIA 418.87.01
GL_SHADING_LANGUAGE_VERSION=4.60 NVIDIA

C 語言測試程式

這是參考 StackOverflow 的程式碼,自己寫的 EGL 版本查詢程式:

#include <stdio.h>
#include <EGL/egl.h>
int main() {
  EGLint major, minor;
  EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
  EGLBoolean eglInitialized = eglInitialize(eglDisplay, &major, &minor);
  if (eglInitialized == EGL_TRUE) {
    printf("EGL 版本: %d.%d\n", major, minor);
  } else {
    printf("EGL 初始化失敗!");
  }
  return 0;
}

將這段程式碼儲存為 eglversion.c,然後以 gcc 編譯:

# 編譯 EGL 程式
gcc egltest.c -lEGL -o egltest

執行 EGL 版本查詢程式:

./egltest
EGL 版本: 1.5
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago