New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 691762 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Task



Sign in to add a comment

Clean up ply-image/frecon stuff

Project Member Reported by derat@chromium.org, Feb 13 2017

Issue description

Per discussion on https://chromium-review.googlesource.com/c/441117/, I think that we can/should:

a) scrub references to ply-image, assuming that it isn't used anymore
b) remove the "frecon" USE flag and change everything that uses it to instead use "ozone"

Regarding a), I should double-check that ply-image really doesn't get used anymore. I think various scripts at least try to fall over to it in cases where the frecon binary isn't present, which may be the case in some embedded builds (e.g. moblab beagleboard).

Regarding b), does that make sense? Should we have a "freon" USE flag instead that subsumes both "frecon" and "ozone"? My main point is that I don't think that two USE flags make sense here, because I don't think that we ever set one without the other.
 
We have a freon profile that overlays can inherit, rather than a freon USE flag. Intuitively I think we should keep things that way. The freon profile is only doing a few important things:
- set USE=-X
- set USE=ozone with the right platform support
- set USE=frecon

So really it seems you are asking about the granularity of flags that we should use. I am not sure if we want to merge these, in particular USE=-X is picked up by a ton of ebuilds and would be hard to change. But we might be able to remove the ozone and frecon flags completely, since these aren't optional.

Comment 2 by vapier@chromium.org, Feb 13 2017

i'm not sure it makes sense to scuttle USE=frecon.  it's used by chromeos-init which is used on headless devices too.

but they wouldn't be using ply-image either :).

Comment 3 by hungte@chromium.org, Feb 14 2017

Have all devices moved to freon? Even early devices like zgb, alex, ... etc?

Comment 4 by derat@chromium.org, Feb 14 2017

Yes. Most of the X11 code has been deleted already.

Comment 5 by hungte@chromium.org, Feb 15 2017

Cc: vbendeb@chromium.org dbehr@chromium.org
frecon currently has escape sequence for putting images and drawing boxes on screen, if --enable_gfx was provided.

I wonder if it'll be easier to always enable that with vts so display_boot_message can use it, no need to re-killing frecon instances.

Comment 6 by dbehr@chromium.org, Feb 15 2017

I think it is good idea (because it will reduce black screens when frecon is killed and new instance is started), with a possible condition that --enable-gfx is added only when boot-splash script detects that display_boot_image will be used so it is not there when it is not necessary. In normal mode frecon drops master after playing boot animation and quits when Chrome starts (and sends login prompt visible dbus signal) so if you want to use this single frecon instance you probably also should add --enable-vt1 --no-login along --enable-gfx (again, only if display_boot_message will be used during boot). And after all the updates/system maintenance kill frecon and start ui (or is it always reboot?).

Comment 7 by hungte@chromium.org, Feb 16 2017

> with a possible condition that --enable-gfx is added only when boot-splash script detects that display_boot_image will be used

That is not easy. splash started before we known if there is anything to display, in chromeos_startup.

> so if you want to use this single frecon instance you probably also should add --enable-vt1 --no-login along --enable-gfx (again, only if display_boot_message will be used during boot)

I don't know frecon will quit in normal mode. Ok, then it's not an easy migration.

Currently splash starts in parallel with chrmoeos_startup, and the decision of if we need to display anything is during the execution of chromeos_startup. Seems like we may still need to kill running frecon instance.

Comment 8 by derat@chromium.org, Mar 11 2017

Status: Started (was: Assigned)
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/0239d3814f7b52d45198a6e28d6d2ea9d88f7629

commit 0239d3814f7b52d45198a6e28d6d2ea9d88f7629
Author: Daniel Erat <derat@chromium.org>
Date: Tue Mar 14 05:40:01 2017

init: Remove old ply-image references.

Remove old references to the ply-image script from
boot-splash.conf and display_low_battery_alert. Instead,
assume that frecon is available.

BUG= chromium:691762 
TEST=none

Change-Id: Ic8457eaaf358050305285de625668795708de37b
Reviewed-on: https://chromium-review.googlesource.com/453280
Commit-Ready: Dan Erat <derat@chromium.org>
Tested-by: Dan Erat <derat@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>

[modify] https://crrev.com/0239d3814f7b52d45198a6e28d6d2ea9d88f7629/init/boot-splash.conf
[modify] https://crrev.com/0239d3814f7b52d45198a6e28d6d2ea9d88f7629/init/display_low_battery_alert

Comment 10 by derat@chromium.org, Apr 10 2017

Labels: Hotlist-GoodFirstBug
Status: Available (was: Started)
This would be a good bug for getting familiarity with package management and some of our startup scripts. We don't use ply-image to display the boot splash animation, boot alerts, etc. anymore, so it'd be good to clean up the remaining references to it.

I have some in-progress changes, so probably best to sync up with me first.

( Issue 691762  might be a good bug to pair with this one.)
Not directly related to this, but if we're going to eliminate all ply-image code and replace with frecon, I wonder if we should change frecon VT naming as well.

The framebuffer used to call Ctrl-Alt-F1 = /dev/tty1 = VT1, Ctrl-Alt-F2 = /dev/tty2 = VT2.
And we have document everywhere saying "enter VT2".

Frecon tends to call Ctrl-Alt-F1 = /run/frecon/vt0, Ctrl-Alt-F2 = /run/frecon/vt1

This is sightly confusing - for example in the issue of "recovery image failed to output debug message on VT3", Shelly thinks the VT3 = Ctrl-Alt-F4 = /run/frecon/vt3 and once said "there's nothing on VT3", while we were referring to Frame buffer style Ctrl-Alt-F3 = /dev/tty3.

I think this will bump more frequently in future when we've removed most ply-image code (and change variable and file names to frecon style).

So is it possible to change the /run/frecon/vtX numbers, or at least don't call it vt? (for example, term0 term1 => so people can think "term N = VT N+1".)

Comment 12 by derat@chromium.org, Apr 11 2017

#11: Thanks for pointing that out! Mind pasting it into a new bug and cc-ing me on it? :-)
imo, /dev/tty# missing under frecon is bad, and we debated this previously here:
  https://chromium-review.googlesource.com/392789

Comment 14 Deleted

Filed  issue 710709 .
Owner: ddavenp...@chromium.org
Status: Assigned (was: Available)

Comment 17 by derat@chromium.org, May 10 2017

I've uploaded an untested change I had floating around to remove ply-image references from src/platform/initramfs: https://chromium-review.googlesource.com/501568

To view all USE flags set for a given board, you can run "portageq-<board> envvar USE".
Status: Started (was: Assigned)

Comment 19 by sjg@chromium.org, May 16 2017

Cc: sjg@chromium.org
Project Member

Comment 20 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/initramfs/+/9cb1c512838b3513f4b0bcf02f31f05018cf77a0

commit 9cb1c512838b3513f4b0bcf02f31f05018cf77a0
Author: Drew Davenport <ddavenport@chromium.org>
Date: Tue May 16 20:37:03 2017

initramfs: Remove ply-image references.

Some recovery scripts contain "if frecon exists, run it;
otherwise run ply-image" conditionals. We don't use X now,
and frecon should always be available in non-headless
builds, so run frecon unconditionally.

BUG= chromium:691762 
TEST=built and installed recovery image on device

Change-Id: Icc192c7f525c5ad979a737bb4dffe1c27368e456
Reviewed-on: https://chromium-review.googlesource.com/505127
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/init
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/messages.sh
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/Makefile
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/make_images
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/README.md

Project Member

Comment 21 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/initramfs/+/9cb1c512838b3513f4b0bcf02f31f05018cf77a0

commit 9cb1c512838b3513f4b0bcf02f31f05018cf77a0
Author: Drew Davenport <ddavenport@chromium.org>
Date: Tue May 16 20:37:03 2017

initramfs: Remove ply-image references.

Some recovery scripts contain "if frecon exists, run it;
otherwise run ply-image" conditionals. We don't use X now,
and frecon should always be available in non-headless
builds, so run frecon unconditionally.

BUG= chromium:691762 
TEST=built and installed recovery image on device

Change-Id: Icc192c7f525c5ad979a737bb4dffe1c27368e456
Reviewed-on: https://chromium-review.googlesource.com/505127
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/init
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/messages.sh
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/Makefile
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/make_images
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/README.md

Project Member

Comment 22 by bugdroid1@chromium.org, May 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/initramfs/+/9cb1c512838b3513f4b0bcf02f31f05018cf77a0

commit 9cb1c512838b3513f4b0bcf02f31f05018cf77a0
Author: Drew Davenport <ddavenport@chromium.org>
Date: Tue May 16 20:37:03 2017

initramfs: Remove ply-image references.

Some recovery scripts contain "if frecon exists, run it;
otherwise run ply-image" conditionals. We don't use X now,
and frecon should always be available in non-headless
builds, so run frecon unconditionally.

BUG= chromium:691762 
TEST=built and installed recovery image on device

Change-Id: Icc192c7f525c5ad979a737bb4dffe1c27368e456
Reviewed-on: https://chromium-review.googlesource.com/505127
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/init
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/messages.sh
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/Makefile
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/make_images
[modify] https://crrev.com/9cb1c512838b3513f4b0bcf02f31f05018cf77a0/recovery/README.md

Project Member

Comment 23 by bugdroid1@chromium.org, May 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/acfa86ffa3ae3d8702cf3ef5bb76a43ce381e648

commit acfa86ffa3ae3d8702cf3ef5bb76a43ce381e648
Author: Drew Davenport <ddavenport@chromium.org>
Date: Thu May 18 09:26:11 2017

factory: remove references to ply-image

frecon is used everywhere, so there is no need to
branch on its existence, nor is there a need to
preserve ply-image fallback.

BUG= chromium:691762 
TEST=make test

Change-Id: I9e05bca3cbc2e74190e59a15529c779a7224827a
Reviewed-on: https://chromium-review.googlesource.com/506654
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>

[modify] https://crrev.com/acfa86ffa3ae3d8702cf3ef5bb76a43ce381e648/py/gooftool/wipe.py
[modify] https://crrev.com/acfa86ffa3ae3d8702cf3ef5bb76a43ce381e648/sh/cutoff/display_wipe_message.sh

Project Member

Comment 24 by bugdroid1@chromium.org, May 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/4a2d4db6342cb846a51586b63a13ca9fa0dbdffe

commit 4a2d4db6342cb846a51586b63a13ca9fa0dbdffe
Author: Drew Davenport <ddavenport@google.com>
Date: Fri May 19 18:57:49 2017

Remove usage of clear-framebuffer service

Do not enable clear-framebuffer.service, which is removed
in another CL. This is a part of the ply-image based
boot splash screen, which is no longer used.

BUG= chromium:691762 
TEST=built/installed on device visually verified

Change-Id: Ia553a0c32bab224b397de3f8c61df14c71df1909
Reviewed-on: https://chromium-review.googlesource.com/503428
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/4a2d4db6342cb846a51586b63a13ca9fa0dbdffe/chromeos-base/chromeos-login/chromeos-login-9999.ebuild

Project Member

Comment 25 by bugdroid1@chromium.org, May 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/958cdd66ecfa664b91af0fd7878dd5a7f8a13eb3

commit 958cdd66ecfa664b91af0fd7878dd5a7f8a13eb3
Author: Drew Davenport <ddavenport@google.com>
Date: Fri May 19 20:57:48 2017

Remove unneeded clear-framebuffer service

ply-image is no longer used for boot splash screen

BUG= chromium:691762 
TEST=installed on device and visually confirmed
CQ-DEPEND=CL:503428

Change-Id: Ide2f6271e223997e824e9d6dccf60261b77e8c01
Reviewed-on: https://chromium-review.googlesource.com/503471
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[delete] https://crrev.com/63c1d309c1aa5e9551fbfb9bcfd012d98e653f73/login_manager/init/upstart/clear-framebuffer.conf
[delete] https://crrev.com/63c1d309c1aa5e9551fbfb9bcfd012d98e653f73/login_manager/init/systemd/clear-framebuffer.service

Project Member

Comment 27 by bugdroid1@chromium.org, May 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/3387b43cf8011b10d90b77bcdb4c56aa352a291f

commit 3387b43cf8011b10d90b77bcdb4c56aa352a291f
Author: Drew Davenport <ddavenport@chromium.org>
Date: Wed May 24 06:59:14 2017

Remove media-gfx/ply-image overlay

ply-image is no longer used in chromium os

BUG= chromium:691762 
TEST=precq passes

Change-Id: I8f7032148b04bfa6da0b6e4622d255a4c0978a76
Reviewed-on: https://chromium-review.googlesource.com/513223
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[delete] https://crrev.com/8b3c51bf6b3faea3ab5ae661f63c31d621ec7fa8/media-gfx/ply-image/ply-image-9999.ebuild
[delete] https://crrev.com/8b3c51bf6b3faea3ab5ae661f63c31d621ec7fa8/media-gfx/ply-image/ply-image-0.0.1-r49.ebuild

Project Member

Comment 28 by bugdroid1@chromium.org, May 26 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/manifest-internal/+/c1b52d09054fef7a6ca128ea0f4ba8136ebd65b9

commit c1b52d09054fef7a6ca128ea0f4ba8136ebd65b9
Author: Drew Davenport <ddavenport@chromium.org>
Date: Fri May 26 00:16:01 2017

Project Member

Comment 29 by bugdroid1@chromium.org, May 26 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chromeos/manifest-internal/+/c1b52d09054fef7a6ca128ea0f4ba8136ebd65b9

commit c1b52d09054fef7a6ca128ea0f4ba8136ebd65b9
Author: Drew Davenport <ddavenport@chromium.org>
Date: Fri May 26 00:16:01 2017

Project Member

Comment 30 by bugdroid1@chromium.org, May 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/manifest/+/5e50bca350e730b73b81d5707bf332c12efd5c82

commit 5e50bca350e730b73b81d5707bf332c12efd5c82
Author: Drew Davenport <ddavenport@chromium.org>
Date: Fri May 26 00:16:02 2017

Remove ply-image from manifest

It's usage has been replaced by frecon and is no
longer used.

BUG= chromium:691762 
TEST=remote trybot passes

Change-Id: If4b79e4babb5b4761eaeabe93e272a2b0b4cb16c
Reviewed-on: https://chromium-review.googlesource.com/513481
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/5e50bca350e730b73b81d5707bf332c12efd5c82/full.xml

There is one remaining reference to ply-image in https://chromium-review.googlesource.com/c/443585/.
Status: Fixed (was: Started)

Comment 33 by sjg@google.com, Jun 15 2017

Great! What is happening with that last CL?
I think I need to ping it once again. It does have another bug tracking it, as well.

Comment 35 by sjg@google.com, Jun 20 2017

Thanks Drew, looks like you got that in as well!

Comment 36 by sjg@google.com, Jul 5 2017

Labels: Team-BLD

Comment 37 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment