#B580 under Linux 100% utilization and bad performance when recording with OBS under Linux

39 messages ยท Page 1 of 1 (latest)

robust remnant
#

Are you sure it's properly selecting the a310?

#

If you watch the video usage of that in intel_gpu_top does that go up when you use OBS?

charred arrow
#

The a310 is only used when I start encoding, which I can verify with intel_gpu_top.
Behaviour is the same with only the b580 passed in the system, I just tested

robust remnant
#

One other thing I think you could try is to play the game while doing a ffmpeg encode on the a310

#

That way we decouple the screen recording element of it

verbal cypress
#

Try using the intel_gpu_frequency tool to raise the minimum clock? Or use the kernel sysfs file directly at /sys/class/drm/cardX/gt_min_freq_mhz.

charred arrow
verbal cypress
#

I don't have any discrete Intel cards, so I cannot verify this, but there should be different directories for each GPU, with different values of X.

charred arrow
verbal cypress
#

Ah, intel_gpu_frequency doesn't have a switch to specify the GPU.

charred arrow
#

yeah ๐Ÿ˜„

verbal cypress
#

I suppose you'll have to use the sysfs.

#

(Assuming you haven't already tried that.)

charred arrow
#

trying this right now

#

hmm its not in the path you mentioned, looking into it

verbal cypress
# charred arrow hmm its not in the path you mentioned, looking into it

I see

> ls -l /sys/class/drm
total 0
lrwxrwxrwx 1 root root    0 Apr 30 04:02 card1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/
lrwxrwxrwx 1 root root    0 Apr 30 04:02 card1-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-1/
lrwxrwxrwx 1 root root    0 Apr 30 04:02 card1-DP-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-2/
lrwxrwxrwx 1 root root    0 Apr 30 04:02 card1-DP-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-3/
lrwxrwxrwx 1 root root    0 Apr 30 04:02 card1-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-1/
lrwxrwxrwx 1 root root    0 Apr 30 04:02 card1-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-2/
lrwxrwxrwx 1 root root    0 Apr 30 04:02 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128/
-r--r--r-- 1 root root 4096 Apr 30 07:51 version

on a machine with only an integrated Arrow Lake GPU. On yours, the fact that those files are symlinks to paths under /sys/devices/pci* will be useful to establish exactly which GPU you are messing with. Compare with output from lspci.

charred arrow
#

cat /sys/class/drm/card0/device/tile0/gt0/freq0/max_freq
2850

#

there it is for the battlemage

verbal cypress
#

In that case I suggest giving 'er the ol'

cat /sys/class/drm/card0/device/tile0/gt0/freq0/max_freq | sudo tee cat /sys/class/drm/card0/device/tile0/gt0/freq0/min_freq

No frequency scaling, no problems ๐Ÿ˜›

charred arrow
#

wait how do i set frequency on that again

verbal cypress
#

That command would copy the max frequency into the min frequency.

charred arrow
#

echo "1000" > /sys/class/drm/card0/device/tile0/gt0/freq0/min_freq

verbal cypress
#

| sudo tee is an idiom for overcoming lack of write permissions.

#

There's a GPU frequency governor firmware that decides what clock frequency is appropriate for the current workload. The idea is to override it and instead lock the 580 to full speed.

#

On the basis of the symptom you described in "Update 2", that might help.

charred arrow
#

yeah i'm testing it in full beans right now

#

utilization is still 90%

verbal cypress
#

Utilization is a measure of percent-of-time that the GPU (or CPU, in case of CPU utilization) has work to do.

#

Look instead at what the FPS does.

charred arrow
#

yeah that seems to be working

#

pinned at 2850mhz its not scaling down and the fps stays at 60 during recording

#

ah, once i go up the settings again it collapses again. so i can record at 1080p but not at 1440p, then its down again

verbal cypress
#

(A few years ago, Microsoft switched Windows Task Manager to report "Utility" instead of utilization, which does incorporate frequency, and kind of works the way users tend to assume utilization works, but not really. That confused things even worse IMO, becuase what "utility" really measures is way less straightforward.)

#

It's possible that the codepaths involved in using an Intel GPU as a render device and a display device while at the same time copying buffers off of it as if you were using it as a render device only may not be performant. You may be the only person in the world to have ever attempted this.

Perhaps open an issue on the drm gitlab: https://gitlab.freedesktop.org/groups/drm/-/issues

charred arrow
#

the problem is there with the a310 removed too

#

the same setup with the 6600xt and the a310 works fine

#

i'll have to step away for now, will try more later

charred arrow
#

so in the meantime i checked, resizeable bar is on and bar2 is enlarged

charred arrow