To test/give feedback/find issues, install or update pinxi:
Code: Select all
# to update installed:
pinxi -U
# to install:
cd /usr/local/bin && sudo wget -O pinxi smxi.org/pinxi && sudo chmod +x pinxi
A fortunate github issue requesting Vulkan supprt, which I had very little idea about, and wasn't interested in initially, led me to discover first, vulkaninfo, then a bit later, eglinfo, at which point I realized the time for EGL support had come, and might as well toss in Vulkan.
One positive result is that OpenGL report is now much more granular, though there may be some corner case failures there because it's trying to do far more than the old version did, and is working with EGL data as well. It also has new OpenGL data types, like GPU memory info, and also shows the display-ID if it did not find it using the tool tests for Display line.
to see your vulkan support, you need to install these packages:
Code: Select all
apt install vulkan-tools mesa-vulkan-drivers
If you want to read up:
https://en.wikipedia.org/wiki/Mesa_(computer_graphics)
https://www.mesa3d.org/
https://blogs.igalia.com/cmichael/2022/ ... adventure/
https://utcc.utoronto.ca/~cks/space/blo ... XAndOpenGL
The key takeaway, which I was not aware of, is that of course, GLX is not a thing on Wayland, so that had no future. Second, and this I did not know, the Mesa group has the goal of making Vulkan the core graphics API across platform, but given it's a much more difficult API to work with, that progress is slow, but it's also a much faster API since it does direct GPU hardware access. Since both EGL and Vulkan are relative newcomers, older drivers from what I can see do not work in terms of direct hardware rendering for Vulkan, and maybe not for EGL, not sure.
So the tentative plan is let GLX API fade slowly away, to be automatically replaced in inxi by EGL, then as Vulkan gets more dominant, to have Vulkan start appearing as an API.
For -G, currently all 3 will appear if their info tools are installed, and if X11, OpenGL will generate the familiar set of missing/ no data messages, and if Wayland, those will be for EGL.
To avoid excessive verbosity, Vulkan does not show for basic mode like -b, -v1 - -v 4.
I've been aware of this pressing issue for many years, but had just missed that eglinfo started shipping with OpenGL at version 4.6, and vulkan I had thought was some gaming only thing (the reason it's currently mostly only gaming is the drivers are very difficult to write from what I understand, or the API connections are hard to write, not sure, not because it's a gaming only thing, it's just that gaming wants that performance edge so they use the resources to support vulkan). But the long term plan of Mesa is for vulkan to be it, at least that's what they say.
Code: Select all
pinxi -G --vs
pinxi 3.3.29-25 (2023-09-13)
Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] driver: radeon
v: kernel
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
loaded: modesetting dri: r600 gpu: radeon resolution: 1: 1280x1024~60Hz
2: 1280x1024~60Hz
API: EGL v: 1.4,1.5 drivers: kms_swrast,r600,swrast
platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.5 vendor: x.org mesa v: 22.3.6 renderer: AMD CEDAR (DRM
2.50.0 / 6.4.3-1-liquorix-amd64 LLVM 15.0.6)
API: Vulkan v: 1.3.250 drivers: llvmpipe surfaces: xcb,xlib
pinxi -Gx
Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel arch: TeraScale-2 bus-ID: 0a:00.0 temp: 58.5 C
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
loaded: modesetting dri: r600 gpu: radeon resolution: 1: 1280x1024~60Hz
2: 1280x1024~60Hz
API: EGL v: 1.4,1.5 drivers: kms_swrast,r600,swrast platforms:
active: gbm,x11,surfaceless,device inactive: wayland
API: OpenGL v: 4.5 vendor: x.org mesa v: 22.3.6 glx-v: 1.4
direct-render: yes renderer: AMD CEDAR (DRM 2.50.0 / 6.4.3-1-liquorix-amd64
LLVM 15.0.6)
API: Vulkan v: 1.3.250 drivers: llvmpipe surfaces: xcb,xlib devices: 1
pinxi -Gxx
Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel arch: TeraScale-2 pcie: speed: 2.5 GT/s lanes: 16
ports: active: DVI-I-1,VGA-1 empty: HDMI-A-1 bus-ID: 0a:00.0
chip-ID: 1002:68f9 temp: 58.0 C
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9
compositor: xfwm v: 4.18.0 driver: X: loaded: modesetting dri: r600
gpu: radeon display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 2560x1024 s-dpi: 96
Monitor-1: DVI-I-1 pos: primary,left model: Samsung SyncMaster
res: 1280x1024 dpi: 96 diag: 433mm (17")
Monitor-2: VGA-1 pos: right model: Dell 1908FP res: 1280x1024 dpi: 86
diag: 482mm (19")
API: EGL v: 1.5 platforms: device: 0 drv: r600 device: 1 drv: swrast gbm:
egl: 1.4 drv: kms_swrast surfaceless: drv: r600 x11: drv: r600
inactive: wayland
API: OpenGL v: 4.5 vendor: x.org mesa v: 22.3.6 glx-v: 1.4 es-v: 3.1
direct-render: yes renderer: AMD CEDAR (DRM 2.50.0 / 6.4.3-1-liquorix-amd64
LLVM 15.0.6) device-ID: 1002:68f9
API: Vulkan v: 1.3.250 surfaces: xcb,xlib device: 0 type: cpu
driver: mesa llvmpipe device-ID: 10005:0000
pinxi -Gxxx
Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel arch: TeraScale-2 pcie: speed: 2.5 GT/s lanes: 16
ports: active: DVI-I-1,VGA-1 empty: HDMI-A-1 bus-ID: 0a:00.0
chip-ID: 1002:68f9 class-ID: 0300 temp: 58.0 C
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9
compositor: xfwm v: 4.18.0 driver: X: loaded: modesetting dri: r600
gpu: radeon display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 2560x1024 s-dpi: 96 s-size: 677x270mm (26.65x10.63")
s-diag: 729mm (28.7")
Monitor-1: DVI-I-1 pos: primary,left model: Samsung SyncMaster
serial: H9NX842662 res: 1280x1024 hz: 60 dpi: 96
size: 338x270mm (13.31x10.63") diag: 433mm (17") modes: max: 1280x1024
min: 720x400
Monitor-2: VGA-1 pos: right model: Dell 1908FP serial: G434H87HRA2D
res: 1280x1024 hz: 60 dpi: 86 size: 376x301mm (14.8x11.85")
diag: 482mm (19") modes: max: 1280x1024 min: 720x400
API: EGL v: 1.5 hw: drv: amd r600 platforms: device: 0 drv: r600 device: 1
drv: swrast gbm: egl: 1.4 drv: kms_swrast surfaceless: drv: r600 x11:
drv: r600 inactive: wayland
API: OpenGL v: 4.5 vendor: x.org mesa v: 22.3.6 glx-v: 1.4 es-v: 3.1
direct-render: yes renderer: AMD CEDAR (DRM 2.50.0 / 6.4.3-1-liquorix-amd64
LLVM 15.0.6) device-ID: 1002:68f9
API: Vulkan v: 1.3.250 layers: 3 surfaces: xcb,xlib device: 0 type: cpu
driver: mesa llvmpipe device-ID: 10005:0000
pinxi -Ga
Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel alternate: amdgpu arch: TeraScale-2 code: Evergreen
process: TSMC 32-40nm built: 2009-15 pcie: gen: 1 speed: 2.5 GT/s
lanes: 16 link-max: gen: 2 speed: 5 GT/s ports: active: DVI-I-1,VGA-1
empty: HDMI-A-1 bus-ID: 0a:00.0 chip-ID: 1002:68f9 class-ID: 0300
temp: 59.0 C
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9
compositor: xfwm v: 4.18.0 driver: X: loaded: modesetting dri: r600
gpu: radeon display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 2560x1024 s-dpi: 96 s-size: 677x270mm (26.65x10.63")
s-diag: 729mm (28.7")
Monitor-1: DVI-I-1 pos: primary,left model: Samsung SyncMaster
serial: H9NX842662 built: 2004 res: 1280x1024 hz: 60 dpi: 96 gamma: 1.2
size: 338x270mm (13.31x10.63") diag: 433mm (17") ratio: 5:4 modes:
max: 1280x1024 min: 720x400
Monitor-2: VGA-1 pos: right model: Dell 1908FP serial: G434H87HRA2D
built: 2008 res: 1280x1024 hz: 60 dpi: 86 gamma: 1.4
size: 376x301mm (14.8x11.85") diag: 482mm (19") ratio: 5:4 modes:
max: 1280x1024 min: 720x400
API: EGL v: 1.5 hw: drv: amd r600 platforms: device: 0 drv: r600 device: 1
drv: swrast gbm: egl: 1.4 drv: kms_swrast surfaceless: drv: r600 x11:
drv: r600 inactive: wayland
API: OpenGL v: 4.5 vendor: x.org mesa v: 22.3.6 glx-v: 1.4 es-v: 3.1
direct-render: yes renderer: AMD CEDAR (DRM 2.50.0 / 6.4.3-1-liquorix-amd64
LLVM 15.0.6) device-ID: 1002:68f9 memory: 1000 MiB unified: no
API: Vulkan v: 1.3.250 layers: 3 device: 0 type: cpu name: llvmpipe (LLVM
15.0.6 256 bits) driver: mesa llvmpipe v: 22.3.6 (LLVM 15.0.6)
device-ID: 10005:0000 surfaces: xcb,xlib
pinxi -bz
System:
Kernel: 6.4.3-1-liquorix-amd64 arch: x86_64 bits: 64 Desktop: Xfce v: 4.18.1
Distro: Debian GNU/Linux trixie/sid
Machine:
Type: Desktop System: Gigabyte product: X470 AORUS ULTRA GAMING v: N/A
serial: <superuser required>
Mobo: Gigabyte model: X470 AORUS ULTRA GAMING-CF
serial: <superuser required> BIOS: American Megatrends LLC. v: F62d
date: 10/13/2021
CPU:
Info: 6-core AMD Ryzen 5 2600 [MT MCP] speed (MHz): avg: 1833
min/max: 1550/3400
Graphics:
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] driver: radeon
v: kernel
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
loaded: modesetting dri: r600 gpu: radeon resolution: 1: 1280x1024~60Hz
2: 1280x1024~60Hz
API: OpenGL v: 4.5 vendor: x.org mesa v: 22.3.6 renderer: AMD CEDAR (DRM
2.50.0 / 6.4.3-1-liquorix-amd64 LLVM 15.0.6)
Network:
Device-1: Intel I211 Gigabit Network driver: igb
Device-2: Ralink MT7601U Wireless Adapter driver: mt7601u type: USB
Drives:
Local Storage: total: 3.58 TiB used: 2.1 TiB (58.6%)
Info:
Processes: 498 Uptime: 2d 23h 53m Memory: total: N/A available: 31.27 GiB
used: 10.37 GiB (33.2%) Shell: Bash pinxi: 3.3.29-25
Code: Select all
pinxi -Gazy
Graphics:
Device-1: ASPEED Graphics Family vendor: Super Micro driver: ast v: kernel
ports: active: VGA-1 empty: none bus-ID: 12:00.0 chip-ID: 1a03:2000
class-ID: 0300
Display: server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.1 driver: X:
loaded: modesetting,radeon unloaded: fbdev,vesa dri: radeonsi gpu: ast
tty: 106x40
Monitor-1: VGA-1 model: AOC Q27P1B serial: <filter> built: 2020
res: 1920x1080 dpi: 82 gamma: 1.2 size: 597x336mm (23.5x13.23")
diag: 685mm (27") ratio: 16:9 modes: max: 1920x1080 min: 640x480
API: EGL v: 1.5 platforms: device: 0 drv: swrast gbm: drv: kms_swrast
surfaceless: drv: swrast inactive: wayland,x11
API: OpenGL v: 4.5 vendor: mesa v: 23.0.3 note: console (EGL sourced)
renderer: llvmpipe (LLVM 15.0.7 256 bits)
# or this remote server which oddly is running X at least in theory:
pinxi -Gazy
Graphics:
Device-1: ASPEED Graphics Family vendor: Super Micro driver: ast v: kernel
ports: active: VGA-1 empty: none bus-ID: 06:00.0 chip-ID: 1a03:2000
class-ID: 0300
Display: server: X.org v: 1.21.1.4 driver: gpu: ast tty: 106x40
Monitor-1: VGA-1 size-res: N/A in console modes: max: 1024x768 min: 640x480
API: EGL v: N/A platforms: active: N/A inactive: gbm,wayland,x11,device
API: OpenGL Message: GL data unavailable in console. Try -G --display
In the last case, for example, because the people who set up the server made a bit of an error and installed X.org, inxi assumes glxinfo is unable to create output because its in console, and EGL noted all the available surfaces are inactive (it calls it 'failed' but from what I can see, it's more accurate to say inactive, since it can't be active due to some factor or other, driver issue, not in Display, it varies..
An aside re Wayland vs X.org
You may have noticed how incredibly long the transition to Wayland has been, to me, that's at least in part due to a fundamental error Wayland devs made when creating the protocol, which was to not require consistent debugger/data collectors from all wayland compositors, instead leaving that to each one, to do as they felt like, or not do, making overall wayland support extremely problematic in terms of debugging.
For example, I still am not aware of any CLI Enlightenment, Gnome, KDE wayland data tools. Weston, the reference wayland compostior, has one, and wl-roots, the sway originated library that drives many if not most of the other compositors out there, have good data, relatively speaking.
I mention this because as of yet, there are no replacements for xrandr, xdpyinfo that I am aware of for wayland compositors, leaving these things to each individual implementations, which basically makes support essentially impossible.
For the historically minded, I did not know this, but learned it a while back, X.org is actually the reference X protocol server, but unlike wayland compositors, where weston is the reference, but nobody uses it to speak of, the reference conveniently in the case of x11 protocol, also became the default server, making debugging and support much easier.
this makes any type of debugging a real pain, inxi for example has to have parsers for wl-roots, weston, and I think one other compositor to collect data and show it, and objectively, this means that probably only 5$% of wayland systems are supported fully by inxi.
So EGL was at least one step to help correct at least this one area, though EGL does not really offer information that is that interesting, more to just see what drivers and EGL versions are running on each EGL 'platform'.