soc-qcom-sdm845: Discourage hw video de-/encoders in Gst
Gstreamer enables hw de- and encoding by default for the most common APIs, including V4L2-stateful. Unfortunately the venus driver is still quite unstable, reliably crashing in very common scenarios, triggering apps like Snapshot, Showtime or Tuba to show error messages or not working properly - partly because of non-optimal error-handling.
Until the kernel driver situation improves, set environment variables that demote the decoders to fallbacks in case nothing else is available, and disable the hw-encoders completely as they tend to destabalise the whole system if something goes wrong.
This is a "FOSDEM" MR - i.e. I'd love if we could get this into edge in time for the event :)
Notes:
- I'm not sure how to do this reliably on openRC setups - does anyone have a suggestion?
- Given that this depends on the kernel driver and can hopefully be dropped in future kernel versios I figured the kernel package would be the most appropriate place to put this - please let me know if you prefer some other place.
Related:
- main/postmarketos-base-ui-gnome: add some gst p... (!6086 - merged)
- https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/79084
How to test:
mrtest upgrade 6105
-
mrtest add 6105
->u
->y
Merge request reports
Activity
- Resolved by Alexey Minnekhanov
kernel package would be the most appropriate place to put this - please let me know if you prefer some other place.
the most appropriate place would soc-specific package, usually we put soc-specific quirks there
mentioned in merge request !6086 (merged)
added 1 commit
- b6b2abc4 - soc-qcom-sdm845: Discourage hw video de-/encoders in Gst
added 1 commit
- 5b727e66 - soc-qcom-sdm845: Discourage hw video de-/encoders in Gst
- Resolved by Robert Mader
I guess the remaining question is what to do with the openRC side. AFAICS there doesn't seem to be any equivalent folder where one can drop files with environment variables somehow. The closest I've seen so far is
/etc/profile.d
but I'm not sure if one can rely on scripts there being run for logged in users?Gentoo apparently just implemented support for systemds
environment.d
folder structure (https://bugs.gentoo.org/704416) - I'm a little bit surprised that there doesn't seem to be an equivalent in Alpine :/
added 1 commit
- f2fce6e8 - soc-qcom-sdm845: Discourage hw video de-/encoders in Gst
- Resolved by Robert Mader
Sorry for the noise/pressure, but with https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/79084 and https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/79110 landed, this is the main blocker for somewhat usable video recording on sdm670/845 devices with cameras (the venus hw-encoders can lock up the whole device pretty badly).
Any chance we can land it, so people can play around at FOSDEM / the following small camera hackfest? :)
@rdacayan I hope this is fine for you?
requested review from @caleb
added 25 commits
-
f2fce6e8...0eaba406 - 24 commits from branch
postmarketOS:master
- 6bc98ff4 - soc-qcom-sdm845: discourage hw video (de)encoders in gstreamer (MR 6098)
-
f2fce6e8...0eaba406 - 24 commits from branch
enabled an automatic merge when all merge checks for 6bc98ff4 pass