Commit Graph

1425 Commits

Author SHA1 Message Date
Norman Feske
f712d97763 sculpt: always update keyboard focus after input
This patch solves keyboard-focus issues with the wifi dialog that were
caused by making the focus update conditional. However, since the update
is not expensive, we can unconditionally re-evaluate the focus atfer
each user interaction.

Issue #4820
Fixes #4856
2023-05-04 11:59:14 +02:00
Christian Helmuth
2e76374a35 depot: update recipe hashes 2023-04-28 15:10:43 +02:00
Norman Feske
ab0fe21ac7 sculpt: update README for version 23.04 2023-04-28 15:01:17 +02:00
Christian Helmuth
22d8c4059e sculpt: hide system_view in graph 2023-04-28 14:46:11 +02:00
Christian Helmuth
97070620af depot: update recipe hashes 2023-04-28 14:46:11 +02:00
Norman Feske
de106608a0 sculpt: reduces space between depot users
Otherwise, the default list of depot users won't fit with the touch
keyboard on the PinePhone's screen.
2023-04-28 14:46:11 +02:00
Norman Feske
01b198657d sculpt: reset update dialog on changed sculpt fs
When changing the used sculpt partiton, the dialog state should be
cleared from the information of the original selection.

Issue #4820
2023-04-28 14:46:11 +02:00
Norman Feske
43d51c4499 sculpt: refine keyboard entry of new depot URL
This patch includes the system dialog in the global keyboard focus
handling, supports hovering of the "Edit" and "Add" buttons,
allows the use of the enter key to finish URL editing, and
triggers a re-scan of depot users after adding a new one.

Issue #4820
2023-04-28 14:46:11 +02:00
Norman Feske
937ddd012b sculpt: refresh update window when network is up
This way, the update-index button becomes immediately visible once we
have connectivity.

Issue #4820
2023-04-27 15:07:45 +02:00
Norman Feske
280fc45c5f sculpt: sanitize depot-user selection
Should the selected depot user not be present in the depot - for example
after switching the sculpt partition to another - unfold the selection
of all present depot users so that the one can pick an existing one.

Issue #4820
2023-04-27 14:58:04 +02:00
Norman Feske
6717494c5b sculpt: avoid installation-complete feedback loop
Issue #4820
2023-04-27 14:07:58 +02:00
Norman Feske
6d91b5d51b sculpt: show system dialog only after prepare step 2023-04-27 12:36:43 +02:00
Christian Helmuth
7deee978c5 driver_manager: disable USB driver BIOS handoff
We repeatedly experience issues with XHCI handoff in the USB host driver
at runtime on modern systems. Mostly, these issues manifest as
initialization delays with very high CPU load. Investigations show that
during this time the handoff MMIO write does not return, which hints the
firmware driver enters some spinning loop. I suspect the enabled IOMMU
does not play well with the firmware due to insufficient RMRR
information.

Therefore, we disable USB handoff in Sculpt via the driver manager (as
we do for dedicated devices already in other contexts). Note, UHCI and
EHCI handoff is still done in the platform driver and succeeds on all
our test hardware.

Issue #4820
2023-04-26 15:57:20 +02:00
Christian Helmuth
d8ff3f655a depot: update recipe hashes 2023-04-26 15:19:57 +02:00
Norman Feske
4edd45dd8f depot: split pkg/goa-linux from pkg/goa
This split allows us to cross-compile all arm_v8a packages needed for
'goa build' by creating pkg/arm_v8a/goa.

The components featured on pkg/goa-linux are solely needed for 'goa
run'. As they contain a number of lx/hybrid components, pkg/goa-linux
must be complied on Linux running on the target architecture.
2023-04-26 15:19:57 +02:00
Christian Helmuth
ddc3b88cd2 depot: update pkg/goa recipe hash
This package depends on genode/world/recipes/src/sdl, which had an
outdated hash file.
2023-04-26 13:56:23 +02:00
Christian Helmuth
e9a497abe4 depot: update recipe hashes 2023-04-26 11:58:16 +02:00
Norman Feske
83d0214099 sculpt: make hovering build-time configurable
This way, we can disable the visual hovering at one place for the phone
version.
2023-04-26 11:58:16 +02:00
Norman Feske
105b3cd21d sculpt: system update and presets
The new dialog accessible via the "System" panel button hosts the
system-update dialog and the preset selection.

Fixes #4744
2023-04-26 11:58:16 +02:00
Norman Feske
5687dc06fd sculpt/default-pc: example presets 2023-04-26 11:58:16 +02:00
Martin Stein
1dbad87139 cbe: fix propagation of results of unlock attempts
Fixes a regression with the cbe_init_trust_anchor component that prevented
reacting to a failed unlock attempt in the File Vault. The regression was
caused by new semantics in the vfs that did not allow for using the file
operation result as indicator for whether the unlock attempt failed or
succeeded. The correct and hereby applied approach is to check for the data
read from the file after having written the unlock command. The data reads
either "ok" or "failed".
2023-04-26 11:58:15 +02:00
Josef Söntgen
75917f6595 file_vault: use VFS to sync data file
Issue #4820.
2023-04-26 11:58:15 +02:00
Norman Feske
67c1ca1e61 sculpt: increase max fb height to 1504 pixels
This is needed to boot Sculpt OS on the Framework laptop.

Issue #4820
2023-04-26 11:58:15 +02:00
Norman Feske
114a199321 Meta package gems/recipes/pkg/goa 2023-04-26 11:58:15 +02:00
Norman Feske
8893b800e0 depot_deploy: report only on state changes
This patch mitigates potential busy feedback effects when evaluating the
reports produced by 'depot_deploy' in a closed control loop. Reports
are now generated only if the deployment state has changed.

Issue #4818
2023-04-26 11:58:15 +02:00
Norman Feske
a289eff741 depot_download_manager: remove debug message 2023-04-26 11:58:15 +02:00
Norman Feske
cec8a401ae depot_deploy: check ROMs as deploy precondition
This patch marks a child as incomplete if one of the ROM modules listed
in its blueprint is missing. This, in turn, triggers the update system
in Sculpt, which then tries to download the missing pieces.

Issue #4818
2023-04-26 11:58:15 +02:00
Norman Feske
1c160d2366 sculpt: "Reattempt Install" option in popup dialog
Issue #4818
2023-04-26 11:58:14 +02:00
Norman Feske
bb6a189589 sculpt: show failed downloads in diagnostics
This patch complements the diagnostics view with the failure state
tracked by the download queue.

Issue #4818
2023-04-26 11:58:14 +02:00
Norman Feske
9e42c94e30 sculpt: handle deploy downloads by download queue
By managing downloads issued by the deploy subsystem via the
'Download_queue', failed downloads (e.g., due to HTTP error 404) are
properly tracked and don't cause infinite re-attempts.

Issue #4818
2023-04-26 11:58:14 +02:00
Norman Feske
c705bdd6a9 depot_download: avoid spurious respawn of fetchurl
Thanks to Timo Nicolai for bringing up this issue along with an initial
patch.

Fixes #4815
2023-04-26 11:58:14 +02:00
Norman Feske
014066f15b sculpt: avoid stretched radio icon in wifi ap list 2023-04-26 11:58:14 +02:00
Norman Feske
54d7a48c9b sculpt: support for pinephone wifi driver
This patch replaces the former 'nic_drv' and 'nic_drv_dtb' functions
by a more general 'nic_driver_routes' function that can return one or
multiple platform-specific ROM routes for NIC-driver binaries and dtb
files. This allows for supplying customizations for the wifi driver
as well. E.g., on the PinePhone, this hook can be used to handle the
renaming of the 'wifi_drv' to 'a64_wifi_drv'.

Related to issue #4813 and issue genodelabs/genode-allwinner#17.
2023-04-26 11:58:14 +02:00
Christian Helmuth
bba9254172 sculpt: version 23.04 2023-04-17 14:56:40 +02:00
Christian Helmuth
b5f79756b3 depot: update recipe hashes 2023-04-17 14:48:30 +02:00
Josef Söntgen
1041ed8773 wifi: use latest available firmware
This commit updates the used firmware images for the iwlwifi device
to latest available ones (supported by the current 6.1.x driver).
It also removes old firmware images that by now are not used anymore.

Fixes #4807.
2023-04-17 14:48:30 +02:00
Norman Feske
22836e3e0f gems: add pkg/unconfigured_nano3d
Unfortunately, the change of "depot: remove empty config from
pkg/nano3d" broke the manual deployment of the nano3d demo because no
<config> is provided in this case.

This patch splits pkg/nano3d into two variants. The regular nano3d pkg
comes with an empty <config/> node as before. The unconfigured_nano3d
pkg does not feature any <config/> node and can thereby be configured
via a ROM route to a dynamic-rom service.
2023-04-17 14:48:30 +02:00
Norman Feske
f8fd202a1c depot_download: option for unverified downloads
This patch equips the depot_download subsystem with the option to
explicitly skip the signature verification for downloads by specifying
the attribute 'verify="no"' for an <installation> item. This is useful
in scenarios where the lack of integrity of downloaded content does not
pose a risk, e.g., for untrusted applications that are rigidly
sandboxed, or during development.

Note that this option does not entirely discarge the signature checking.
Whenever an download has dependencies that are verifyable - for
which the public key exists in the depot - the dependencies are still
verified. This allows untrusted content to depend of verifyable content
while protecting the integrity the verifyable content.

Issue #4804
2023-04-17 14:48:30 +02:00
Norman Feske
b6bb338011 sculpt: make download verification controllable
This patch adds the 'Verify' argument to all download-related interfaces
in order to control the checking of signatures for downloads. Note that
it does not change the sculpt_manager's existing built-in policy of
always checking signatures.

Issue #4804
2023-04-17 14:48:30 +02:00
Norman Feske
a351b0c164 sculpt: expose unique name as 'Component' constant 2023-04-17 14:48:30 +02:00
Norman Feske
3a99deef5a sculpt: reusable component-construction interfaces
This patch moves the interfaces needed for the interactive addition of runtime
components from the 'Popup_dialog' to the 'model/component.h'. So those
interfaces are no longer tied to one specific view implementation.
2023-04-17 14:48:30 +02:00
Norman Feske
daf53df670 sculpt: 'Sculpt::match_sub_dialog' function
This free-standing function is meant to gradually replace
'Dialog::match_sub_dialog' interface, which relies on the caching of
the hover state. The new function is more flexible because dialogs do no
longer need to inherit 'Dialog'.
2023-04-17 14:48:30 +02:00
Norman Feske
b91e5353ba sculpt: make Popup_view::Menu reusable 2023-04-17 14:48:30 +02:00
Norman Feske
9be7ce54c2 sculpt: avoid superfluous <installation> entries
The missing else statements resulted in the addition of a
superfluous <archive> node when installing an <index>, causing
warning messages by the depot-download subsytem.
2023-04-17 14:48:29 +02:00
Norman Feske
fb1865eb91 sculpt: support for creating small files 2023-04-17 14:48:29 +02:00
Norman Feske
9834849e95 sculpt: allow new depot users in ram_fs/depot 2023-04-17 14:48:29 +02:00
Norman Feske
0bec935ccb sculpt: hide manager_keyboard in graph 2023-04-17 14:48:29 +02:00
Norman Feske
9ef6ed52c4 sculpt: report_dump, system_clock-dummy launchers 2023-04-17 14:48:25 +02:00
Norman Feske
ed8e8b9473 fs_tool: add missing whitespace in warning message 2023-04-17 14:48:25 +02:00
Norman Feske
123df93741 depot_query/deploy: allow pkg <rom> relabeling
This patch adds the ability to specify an optional 'as' attribute in a
<rom> module declarion of a runtime file.

  <runtime ...>
    ...
    <content>
      <rom label="camera-pinephone.dtb" as="dtb"/>
      ...
    </content>
  </runtime>

If specified, The depot-deploy tool uses the provided attribute value to
hand out the ROM 'camera-pinephone.dtb' under the label 'dtb' to the
subsystem.
2023-04-17 14:48:25 +02:00