Skip to content

emulated graphics cards or framebuffers cause GPU test failure on Linux #375

@jaypipes

Description

@jaypipes

There's a few things going on with the GPU test when running on my new system76 monster workstation:

➜  ghw git:(fix-gpu-test) go test -v ./pkg/gpu/...
=== RUN   TestGPUWithoutNUMANodeInfo
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu0/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu1/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu10/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu11/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu2/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu3/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu4/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu5/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu6/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu7/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu8/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu9/online: no such file or directory
WARNING: failed to determine memory area for node: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/meminfo: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/class/drm/card0/device/numa_node: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu0/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu1/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu10/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu11/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu2/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu3/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu4/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu5/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu6/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu7/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu8/online: no such file or directory
WARNING: failed to read int from file: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/cpu9/online: no such file or directory
WARNING: failed to determine memory area for node: open /tmp/ghw-gpu-testing-298741871/sys/devices/system/node/node0/meminfo: no such file or directory
--- PASS: TestGPUWithoutNUMANodeInfo (0.05s)
=== RUN   TestGPU
WARNING: failed to read int from file: open /sys/devices/system/node/node0/cpu0/online: no such file or directory
WARNING: failed to read int from file: open /sys/class/drm/card0/device/numa_node: no such file or directory
WARNING: failed to read int from file: open /sys/devices/system/node/node0/cpu0/online: no such file or directory
WARNING: error parsing the pci address "simple-framebuffer.0"
    gpu_test.go:37: Expected card with address simple-framebuffer.0 to have non-nil DeviceInfo.
--- FAIL: TestGPU (0.03s)
FAIL
FAIL	github.com/jaypipes/ghw/pkg/gpu	0.083s
FAIL
➜  ghw git:(fix-gpu-test) ll /sys/class/drm
total 0
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/simple-framebuffer.0/drm/card0
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card0-Unknown-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/simple-framebuffer.0/drm/card0/card0-Unknown-1
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card1-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-1
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card1-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-1
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card1-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-2
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card2-DP-2 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2/card2-DP-2
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card2-DP-3 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2/card2-DP-3
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card2-DP-4 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2/card2-DP-4
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card2-HDMI-A-3 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2/card2-HDMI-A-3
lrwxrwxrwx 1 root root    0 Sep 20 00:15 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128
lrwxrwxrwx 1 root root    0 Sep 20 00:15 renderD129 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/renderD129
-r--r--r-- 1 root root 4.0K Sep 20 00:15 version

The first issue is that the /sys/devices/system/node/nodeX/cpuX/online file does not exist in the linux-amd64-amd-ryzen-1600 ghw snapshot and therefore all those warning messages appear.

The second issue is that emulated graphics cards such as the simple framebuffer seen here:

➜  ghw git:(fix-gpu-test) ll /sys/class/drm
total 0
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/simple-framebuffer.0/drm/card0
lrwxrwxrwx 1 root root    0 Sep 20 00:15 card0-Unknown-1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/simple-framebuffer.0/drm/card0/card0-Unknown-1

cause the pkg/gpu.Info() function to return an empty DeviceInfo for that graphics card.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions