Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Intel GPUs #890

Open
Jamy-L opened this issue Feb 24, 2024 · 0 comments
Open

Support for Intel GPUs #890

Jamy-L opened this issue Feb 24, 2024 · 0 comments

Comments

@Jamy-L
Copy link

Jamy-L commented Feb 24, 2024

Is your feature request related to a problem? Please describe.
The usage of intel gpus cannot currently be tracked, as only nvidia cards are supported. systeminformation is actually used by many users to monitor homelab/homeservers, and there is a growing proportion of intel gpu adopters (may it be arc or igpu), because of its outstanding transcoding power and efficiency. This especially relevant since systeminformation is used in dashdot to display graphs, which can easily be embeded into homarr, a dashboard centered around media servers.

Describe the solution you'd like
I would be extremely grateful if it becomes possible 😊. The relevant info can be fetched using the intel-gpu-tools package, more precisely the intel_gpu_top command:

intel_gpu_top - Display a top-like summary of Intel GPU usage

Usage: intel_gpu_top [parameters]

        The following parameters are optional:

        [-h]            Show this help text.
        [-J]            Output JSON formatted data.
        [-l]            List plain text data.
        [-o <file|->]   Output to specified file or '-' for standard out.
        [-s <ms>]       Refresh period in milliseconds (default 1000ms).
        [-L]            List all cards.
        [-d <device>]   Device filter, please check manual page for more details.

Filter types:
---
filter        syntax
---
sys           sys:/sys/devices/pci0000:00/0000:00:02.0
              find device by its sysfs path

drm           drm:/dev/dri/* path
              find drm device by /dev/dri/* node

pci           pci:[vendor=%04x/name][,device=%04x][,card=%d] | [slot=%04x:%02x:%02x.%x]
              vendor is hex number or vendor name

The output of sudo intel_gpu_top -J is a JSON that is easily parseable:

{
        "period": {
                "duration": 1000.456634,
                "unit": "ms"
        },
        "frequency": {
                "requested": 146.932905,
                "actual": 130.940208,
                "unit": "MHz"
        },
        "interrupts": {
                "count": 591.729796,
                "unit": "irq/s"
        },
        "rc6": {
                "value": 0.000000,
                "unit": "%"
        },
        "power": {
                "GPU": 0.277278,
                "Package": 3.892754,
                "unit": "W"
        },
        "engines": {
                "Render/3D/0": {
                        "busy": 7.023279,
                        "sema": 0.000000,
                        "wait": 0.000000,
                        "unit": "%"
                },
                "Blitter/0": {
                        "busy": 0.000000,
                        "sema": 0.000000,
                        "wait": 0.000000,
                        "unit": "%"
                },
                "Video/0": {
                        "busy": 3.075146,
                        "sema": 0.000000,
                        "wait": 0.000000,
                        "unit": "%"
                },
                "Video/1": {
                        "busy": 7.185372,
                        "sema": 0.000000,
                        "wait": 0.000000,
                        "unit": "%"
                },
                "VideoEnhance/0": {
                        "busy": 0.000000,
                        "sema": 0.000000,
                        "wait": 0.000000,
                        "unit": "%"
                }
        }
},

With the -L flag I get:

card0                    Intel Alderlake_s (Gen12)         pci:vendor=8086,device=4690,card=0
└─renderD128

Additional context
I can provide more information on the output if you don't have an intel gpu around

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants