You are not logged in.
Hello everyone, im trying to set-up and use gpu-screen-recorder-git, I ran an example command and it outputs an error message about my Integrated Graphics lacking H264 encoding capabilities with the error on the title preceding said warning, however I used to be able to use the codec on Windows with FFMPEG.
Running vainfo outputs the error again and says my driver is "Intel i965 driver for Intel(R) Ivybridge Mobile - 2.4.1", a quick search on Google says it should have H264 encoding enabled, I tried looking up the error itself but couldn't make a solution (some threads suggest updating the package, which is up to date already, ArchWiki suggests installing an alternative package with experimental support but didn't work either)
For more specifics, trying to run gpu-screen-recorder "test capabilities" command returns the following:
vainfo | grep VAEntrypointEncSlice
libva error: /usr/lib/dri/iHD_drv_video.so init failed
While running Vainfo itself outputs the error after "Trying display: x11" line
vainfo
Trying display: wayland
Trying display: x11
libva error: /usr/lib/dri/iHD_drv_video.so init failed
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
I installed Arch using ArchInstaller and have had it running for a while now, I also installed CachyOS kernel using the guide on the official project github + CachyOS meta gaming package, if it helps my Neofetch summary is
OS: Arch Linux x86_64
Host: Presario 21 0.1
Kernel: 6.10.7-1-cachyos-eevdf
Uptime: 2 hours, 38 mins
Packages: 1171 (pacman)
Shell: bash 5.2.32
Resolution: 1366x768
DE: LXQt 2.0.0
WM: Openbox
Theme: Adwaita [GTK2/3]
Icons: Adwaita [GTK2/3]
Terminal: qterminal
Terminal Font: Monospace 12
CPU: Intel Celeron 1037U (2) @ 1.800GHz
GPU: Intel 3rd Gen Core processor Graphics Controller
Memory: 1724MiB / 3751MiB
Thanks in advance for any input!
Last edited by Coki91 (2024-09-04 10:39:20)
Offline
pacman -Qikk intel-media-driver libva-intel-driver
printenv | grep libva
Your chip generation isn't supported by iHD_drv_video.so - but it does looki like i965_drv_video.so is loaded.
Is this on wayland or X11? Please post your Xorg log, https://wiki.archlinux.org/title/Xorg#General
h264 encoding is supposed to be supported, though - https://wiki.archlinux.org/title/Hardwa … PI_drivers
Online
First off, thanks for the quick reply!
The output to the first command is
pacman -Qikk intel-media-driver libva-intel-driver
Installed From : extra
Name : intel-media-driver
Version : 24.2.5-1
Description : Intel Media Driver for VAAPI — Broadwell+ iGPUs
Architecture : x86_64
URL : https://github.com/intel/media-driver/
Licenses : MIT BSD-3-Clause
Groups : None
Provides : None
Depends On : gcc-libs intel-gmmlib libva
Optional Deps : None
Required By : None
Optional For : gpu-screen-recorder-git libva
Conflicts With : None
Replaces : None
Installed Size : 35.18 MiB
Packager : Daniel Bermond <dbermond@archlinux.org>
Build Date : Thu 27 Jun 2024 09:30:28 PM -03
Install Date : Mon 02 Sep 2024 07:01:51 AM -03
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
intel-media-driver: 26 total files, 0 altered files
Installed From : extra
Name : libva-intel-driver
Version : 2.4.1-3
Description : VA-API implementation for Intel G45 and HD Graphics family
Architecture : x86_64
URL : https://01.org/linuxmedia/vaapi
Licenses : MIT
Groups : None
Provides : None
Depends On : libva libdrm
Optional Deps : None
Required By : None
Optional For : gpu-screen-recorder-git libva vlc
Conflicts With : None
Replaces : libva-driver-intel
Installed Size : 7.79 MiB
Packager : T.J. Townsend <blakkheim@archlinux.org>
Build Date : Fri 12 Jul 2024 06:25:48 PM -03
Install Date : Mon 02 Sep 2024 03:22:37 PM -03
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
libva-intel-driver: 8 total files, 0 altered files
and "printenv | grep libva" just returns nothing, I made a quick reboot and tried the command again but still doesn't output anything, I understand it's parsing my ENV variables to grep and that is looking for "libva" but looking into it manually (with just "printenv") there really isn't anything like it
Im running on X11, here's my Xorg Log: https://pastebin.com/dUC5xtLJ but I think it reads that log level is "quiet" and im not finding in the Linked article about xorg if it's possible to increase it, hope it is useful still
Offline
remove intel-media-driver , your gpu is pre-broadwell and not supported by it .
If that doesn't help, try installing xf86-video-intel .
(Your gpu may just be old enough to work better with that driver then with modesetting).
Added
but I think it reads that log level is "quiet" and im not finding in the Linked article about xorg if it's possible to increase it, hope it is useful still
The quiet parameter silences boot messages from systemd and has no effect on Xorg log .
Last edited by Lone_Wolf (2024-09-03 11:26:51)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
The xorg driver is very unlikely to affect which encoders vainfo exposes, so I strongly doubt that will help. I'd have more hope for a mesa-amber switchover, but afaik that should also not be entirely relevant...
Online
Sorry
printenv | grep -i libva
Then
I ran an example command and it outputs an error message about my Integrated Graphics lacking H264 encoding capabilities
please post the actual complete IO and just in case
pacman -Qs linux-firmware
Online
Hello, thanks for the further assistance!
From Lone-Wolf's advice, I removed intel-media-driver and rebooted, that got rid of the Error, however im still unable to use the H264 Encoding capabilities, after that I followed the indication to install xf86-video-intel but this still didn't help
Given that at this point the issue no longer is but my main goal still is not fulfilled, should I mark this thread as resolved and open a different one or is it okay to continue here?
From V1del's advice, I installed mesa-amber and rebooted, but still no result, always rebooting between each installation
from Seth's Advice I ran "printenv | grep -i libva" but there is still no output.
The IO of gpu-screen-recorder is as follows
gpu-screen-recorder -w screen -f 60 -a "$(pactl get-default-sink).monitor" -o "$HOME/Videos/video.mp4"
Info: using h264 encoder because a codec was not specified
Error: your gpu does not support 'h264' video codec. If you are sure that your gpu does support 'h264' video encoding and you are using an AMD/Intel GPU,
then make sure you have installed the GPU specific vaapi packages (intel-media-driver, libva-intel-driver, libva-mesa-driver and linux-firmware).
It's also possible that your distro has disabled hardware accelerated video encoding for 'h264' video codec.
This may be the case on corporate distros such as Manjaro, Fedora or OpenSUSE.
You can test this by running 'vainfo | grep VAEntrypointEncSlice' to see if it matches any H264/HEVC/AV1/VP8/VP9 profile.
On such distros, you need to manually install mesa from source to enable H264/HEVC hardware acceleration, or use a more user friendly distro. Alternatively record with AV1 if supported by your GPU.
You can alternatively use the flatpak version of GPU Screen Recorder (https://flathub.org/apps/com.dec05eba.gpu_screen_recorder) which bypasses system issues with patented H264/HEVC codecs.
Make sure you have mesa-extra freedesktop runtime installed when using the flatpak (this should be the default), which can be installed with this command:
flatpak install --system org.freedesktop.Platform.GL.default//23.08-extra
If your GPU doesn't support hardware accelerated video encoding then you can use '-encoder cpu' option to encode with your cpu instead.
The error in the title, as mentioned before, appeared right after the command input, which led me to believe that the application was consulting that library and it returned an error, thus I focused this thread on that Error rather than on gpu-screen-recorder itself, thinking it was unable to fetch an appropiate list of capabilities and assumed that was a negative to having said capabilities, but now even without the error the capability itself is still missing. Running VAINFO now outputs the same as it did before, but without the error
vainfo
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
For the last command "pacman -Qs linux-firmware" the output is
pacman -Qs linux-firmware
local/linux-firmware 20240809.59460076-1
Firmware files for Linux
local/linux-firmware-whence 20240809.59460076-1
Firmware files for Linux - contains the WHENCE license file which documents the vendor license details
Thanks again for all the help!
Last edited by Coki91 (2024-09-03 18:20:09)
Offline
There's no encoder, you likely lack access to the render device
getfacl /dev/dri/*
sudo vainfo # we're not sudo-fixing anything here, just check whether the root can access the encoder
How do you start the session? startx?
Edit: Please also post your Xorg log, https://wiki.archlinux.org/title/Xorg#General
Last edited by seth (2024-09-03 20:23:01)
Online
Can you run
ls /dev/dri/card*
and run
vainfo --display drm --device <card path>
for example
vainfo --display drm --device /dev/dri/card0
for every /dev/dri/card* reported?
Offline
Sorry for the delay, from seth's reply I tried reading several wiki pages on "startx" but im still unsure of what im about to say, as mentioned before I installed this system using Archinstall, so im not very sure of the ins and outs, from what I can tell, there is no .xinitrc file on my Home, and my /root directory seems empty, im also not prompted to log-in in a console before reaching my display manager (SDDM) and my startx configuration file seems to be properly setup, so I would believe it does start session with startx
The output of "getfacl /dev/dri/*" results in:
getfacl: Removing leading '/' from absolute path names
# file: dev/dri/by-path
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: dev/dri/card0
# owner: root
# group: video
user::rw-
user:coki:rw-
group::rw-
mask::rw-
other::---
# file: dev/dri/renderD128
# owner: root
# group: render
user::rw-
group::rw-
other::rw-
And the output of "sudo vainfo" returns the same output as unprivileged "vainfo" except with a Wayland Error attached (which I don't use)
Trying display: wayland
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
Trying display: x11
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 2.4.1
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
VAProfileJPEGBaseline : VAEntrypointVLD
Here's my Xorg Log: https://termbin.com/dtr5
For dec05eba's reply "ls /dev/dri/card*" reports only one dir for "card0" and trying to run "vainfo --display drm --device /dev/dri/card0" results in the same output as regular "vainfo"
I tried looking for Archinstall's "default" settings while trying to figure out if it uses startx or not, the Wiki article also suggested attaching the installation log when asking for help, so i'll append that here: https://termbin.com/6llx
Thanks again for all the help!
Offline
I also installed CachyOS kernel using the guide on the official project github + CachyOS meta gaming package
Try the regular kernel.
Also check whether the encoder shows up in some live distro.
You also seem to have https://archlinux.org/packages/extra/x8 … pau-va-gl/ installed?
Maybe also https://archlinux.org/packages/?name=libva-vdpau-driver ? (Don't)
pacman -Qs vdpau
my display manager (SDDM)
You're not using startx/xinit
Online
Hello, again sorry for the delay. I decided that before meddling with my kernel i'd rather try the Live Distro approach first
I first booted up into the latest Arch ISO and from there installed the necessary packages (libva-utils, mesa-amber, libva-intel-driver) and ran vainfo, the result was the same as in my normal Installation. Output: https://termbin.com/kdb2
After that I booted up in Void-Linux's xcfe Live image and installed the necessary packages from there, and ran vainfo with the result again being almost the same. Output: https://termbin.com/9mf9
Finally im now on my HDD with my installation of Windows, and after reading FFMPEG Wiki it is most likely that the codec was never supported, on Windows my script for recording is
ffmpeg -y -f gdigrab -i desktop -framerate 30 -b:v 1500 -c:v h264 -preset medium -qp 0 D:\Archivos\FFMPEG\Salida.mkv -hwaccel h264
When further reading into the FFMPEG Wiki I realized it doesnt use hardware acceleration, a correct command would be
ffmpeg -f gdigrab -framerate 30 -i desktop -c:v h264_qsv -preset fast -b:v 4m -f mp4 output.mp4 -hwaccel qsv
Which upon running passes all the checks but returns an error upon start of the recording, of course "Error while opening encoder - ..." despite the Wiki itself also saying that my generation should be supported https://trac.ffmpeg.org/wiki/Hardware/QuickSync (Ivy Bridge, H.264 Encoding being implemented on the previous generation "Sandy Bridge")
I believe this is solved, unfortunately, as I understand is possible that my specific GPU/Processor model does not support it
I deeply apologize for all the time wasted of everyone who tried to help. I really appreciate it however, please have a nice day
Last edited by Coki91 (2024-09-04 10:42:03)
Offline
[ 27.225] (--) PCI:*(0@0:2:0) 8086:0156:8086:2111 rev 9, Mem @ 0xf0000000/4194304, 0xe0000000/268435456, I/O @ 0x00004000/64, BIOS @ 0x????????/131072
https://dgpu-docs.intel.com/devices/hardware-table.html
0152, 0156 / Intel® HD Graphics 2500 / Gen7 / Ivy Bridge / 5.10
https://www.intel.com/content/www/us/en … -2500.html
https://www.intel.com/content/www/us/en … phics.html
It seems the license isn't provided by intel but your device vendor, so the firmware might not legally allow for that - I've gotten plenty of hits for the pci id suggesting that the chip itself does indeed provide QSV.
Look out for firmware updates, but this might also be a "celeron" castration
Online