elementary / initial-setup

New user setup app designed for elementary OS
https://elementary.io
GNU General Public License v3.0
36 stars 12 forks source link

Option to install proprietary codecs #92

Open meisenzahl opened 3 years ago

meisenzahl commented 3 years ago

Fixes https://github.com/elementary/initial-setup/issues/91

davidmhewitt commented 3 years ago

This doesn't actually install the packages, correct?

It seems you just append them to a list, and then this list isn't used anywhere.

meisenzahl commented 3 years ago

@davidmhewitt correct.

I will rearrange the views. The SoftwareView should be the last to be displayed, then install the software and display a progress bar.

Is there an easy way to install apt packages via Vala and check the progress?

alatiera commented 3 years ago

@jlnr

I'm not sure what the best way to word this is, but in my opinion it would be helpful to point out where these codecs are going to be used. Just Music/Movie apps?

Given this installs gst bad/ugly and libav, it will also pull down all of ffmpeg and its deps along with plenty of other useful codecs. So anything that uses GStreamer will have the codecs show up in the registry and be able to use them. Additionally there are plenty of apps that use ffmpeg directly and check for it at runtime, like Firefox.

Will this affect flatpak'd third-party apps?

No, Flatpak toolchains are completely isolated, usually applications pull down the org.freedesktop.Platform.ffmpeg-full extension during installation.

davidmhewitt commented 3 years ago

For devices that use WiFi to connect to the internet, the likelihood of being connected during this initial setup period is pretty low, so this page won't work. I wonder if we should detect an internet connection and only show the page if there is one.

And depending on the thoughts of @elementary/ux , maybe it would make sense to show it on the next login (if there was an internet connection then), if it was missed the first time?

danirabbit commented 3 years ago

Yeah we need a network connection step in initial setup before we can do this

I guess since we expect apps to be flatpak, we don't show debs in AppCenter anymore, we only need to pull down the flatpak extension here

Marukesu commented 3 years ago

I guess since we expect apps to be flatpak, we don't show debs in AppCenter anymore, we only need to pull down the flatpak extension here

But, we use the system or user installation? Do extensions on system installation works with apps on user installation?

meisenzahl commented 1 year ago

I tried to refactor this branch to install org.freedesktop.Platform.ffmpeg-full as Flatpak runtime.

Videos would use version 22.08 of org.freedesktop.Platform.ffmpeg-full as an extension if available: https://github.com/elementary/videos/blob/2.9.0/io.elementary.videos.yml#L24

Videos is installed system-wide. To test if the runtime effects the capability of Videos to play other video formats I installed org.freedesktop.Platform.ffmpeg-full system-wide (flatpak install --system runtime/org.freedesktop.Platform.ffmpeg-full/x86_64/22.08):

Name Application ID Version Branch Origin Installation
Videos io.elementary.videos 2.9.0 stable appcenter system
ffmpeg-full org.freedesktop.Platform.ffmpeg-full 22.08 freedesktop system

I tested if the installation of the extension affects which video formats can be played:

format without runtime with runtime
AVI
MOV
MP4
OGG
WMV
WEBM

I tested this after the installation of the extension and a reboot of my device. Unfortunately, this makes no difference.

@Marukesu @alatiera do you have any other ideas about what the issue could be?

alatiera commented 1 year ago

Seems like something goes wrong with the videos flatpak, I will need to debug it to investigate if the extension gets mounted, etc. I will try to find some time to do so during the weekend or else sometime next week