canonical / mir-kiosk-kodi

Snap packaging for Kodi
4 stars 1 forks source link

Core20 #11

Closed AlanGriffiths closed 4 years ago

AlanGriffiths commented 4 years ago

Move to core20 base. This gives us:

  1. va drivers (that work with Wayland) on amd64; and,
  2. builds for arm64 & armhf (although the graphics stack may not be up to much for the RPi3 for example).

It drops i386 which isn't supported on core20. I've a https://github.com/MirServer/mir-kiosk-kodi/tree/i386-core18 branch that can form the basis of i386 releases for the time being. (Dropping architectures isn't something that works well on the snap store, so I'm just going to keep it going for now.)

AlanGriffiths commented 4 years ago

I've been experimenting with mir-kiosk-kodi and core20

arch core18 core20
amd64 builds and runs without VA
(From the xbmc PPA)
builds and runs with VA
(Optionally, from the xbmc PPA)
i386 builds and runs without VA
(From the xbmc PPA)
not supported by core20
armhf not supported by xbmc PPA Runs with graphics limitations
arm64 not supported by xbmc PPA Runs with graphics limitations

@saviq I have a question for you as the team automation guru:

I think the best way forward is to build amd64, arm64 and armhf based on this branch (which happens automatically if we merge it) and to build i386 based on core18. The latter is only a small diff away:

diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index f75e3ba..c7234ba 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -4,14 +4,14 @@ summary: Kodi packaged as a mir-kiosk snap
 description: Kodi-wayland packaged as a mir-kiosk snap
 confinement: strict
 grade: stable
-base: core20
+base: core18
 license: GPL-2.0

 architectures:
-  - build-on: amd64
-  - build-on: arm64
-  - build-on: armhf
-#  - build-on: i386
+#  - build-on: amd64
+#  - build-on: arm64
+#  - build-on: armhf
+  - build-on: i386

Is there a way to automate merging master with the core18 and architecture changes, build it and publish to edge? (I know I can run a script locally, just wondering if there's anything better.)

Saviq commented 4 years ago

Is there a way to automate merging master with the core18 and architecture changes, build it and publish to edge? (I know I can run a script locally, just wondering if there's anything better.)

You'd need a i386 branch or so, and build separately. In CI you can obviously apply a patch, but I'd say we should just drop that arch.

AlanGriffiths commented 4 years ago

Is there a way to automate merging master with the core18 and architecture changes, build it and publish to edge? (I know I can run a script locally, just wondering if there's anything better.)

You'd need a i386 branch or so, and build separately. In CI you can obviously apply a patch, but I'd say we should just drop that arch.

About 1/16th of our users use that arch. (With mir-kiosk that looks a better option.)

RAOF commented 4 years ago

Looks reasonable to me. I'm surprised so many people are on i386 - can we work out why? Is there any way to migrate them to amd64?

AlanGriffiths commented 4 years ago

people are on i386 - can we work out why?

Not from the aggregate stats. I know one of them is a netbook I have lying around the office that can't migrate to amd64, that may be a common theme. But there's also a lot of installs on operating systems that are EOL, so the main reason is likely resistance to change.

Is there any way to migrate them to amd64?

I suspect not. It doesn't answer your question, but there's a related discussion here: https://forum.snapcraft.io/t/how-to-best-handle-i386-when-moving-a-snap-to-base-core20/17680