14086 Commits

Author SHA1 Message Date
Christian Prochaska
adc4314fd6 sculpt: update falkon preset
Issue #5501
2025-04-15 15:14:41 +02:00
Sebastian Sumpf
d57e527505 phone_manager: watch 'menu_hover' to keep display alive
Since the introduction of the "menu_hover" report, keep alive
information of the Leitzentrale is lost (e.g., dialing pad, activity in
main menu, ...)  leading to premature screensaver activation. With this
commit we add support to monitor the "menu_hover" report's sequence
numbers through Watch_rom_seq_number, and thus, avoid triggering the
screensaver even though activity has been performed.

issue #5496
2025-04-15 09:44:25 +02:00
Norman Feske
5961c16113 fb_sdl: align texture at 8x8 boundary
This facilitates the use of SIMD-optimized back2front blitting. Thanks
to the capture viewport, the optimization can be used for arbitrary
window sizes.

Issue #5518
2025-04-15 09:01:39 +02:00
Norman Feske
d0e97c1e59 nitpicker: evaluate capture view port
This patch adds the support for a client-specified buffer viewport to
nitpicker. It thereby allows clients to allocate a buffer that is larger
than the visible pixels, in particular, padding the buffer dimensions to
SIMD-friendly boundaries.

Issue #5518
2025-04-15 08:56:37 +02:00
Johannes Schlatow
a43c0b2cb4 fixup! fixup "sculpt: use nitpicker's clicked report for popup" (MAYBE/NO/YES)
Issue #5485
2025-04-15 08:50:04 +02:00
Johannes Schlatow
a48a993961 fixup! fixup "sculpt: use nitpicker's clicked report for popup" (MAYBE/NO/YES)
Issue #5485
2025-04-15 08:50:04 +02:00
Stefan Kalkowski
a51c77a2d8 pkg/file_fault: add missing lib, correct route
* Add missing dialog.lib.so requirement
* Correct label-matching rule for fonts file-system
2025-04-14 17:26:43 +02:00
Alexander Boettcher
26f725f826 sculpt_manager: support vesa_fb via UI
Issue #5501
2025-04-14 17:13:04 +02:00
Alexander Boettcher
fd62057c47 vesa_fb: support mode reporting and configuration
in the same format as the intel/display driver. With this commit vesa_fb
can be configured and used by the sculpt_manager similar to the intel/display
in Sculpt OS.

Issue #5501
2025-04-14 17:12:55 +02:00
Norman Feske
238b7935b2 sculpt: refresh popup when toggling launchers
Update the popup view whenever a runtime-state change is detected.
Otherwise the toggling of an item in the options tab is not always
reflected at the dialog. Observed when running Sculpt on Linux.
2025-04-14 17:03:39 +02:00
Norman Feske
a51ea642f1 fixup "sculpt: use nitpicker's clicked report for popup" (MAYBE/NO/YES)
Issue #5496
Issue #5485
2025-04-14 17:03:39 +02:00
Norman Feske
4311f32d35 menu_view: report hover info of most recent dialog
This change prevents the reporting of amibiguous hovering information in
the presence of multiple dialogs by reporting only the hovering
information of the dialog that observed the most recent hover change.

Issue #5496
Issue #5485
2025-04-14 17:03:39 +02:00
Norman Feske
57b4c1d517 Revert "menu_view: unhover on touch-release"
This reverts commit e92846254ac6b1d619098037a2d6a295a2a29e9a.
2025-04-14 17:03:39 +02:00
Christian Helmuth
7c0f8b7e78 Revert "intel/display: use drm vblank wait support"
The visual artifacts described in

  https://github.com/genodelabs/genode/issues/5350#issuecomment-2396613180

are quite prominent and even more prominent than the former tearing.
Thus, let's ripen the work before it's merged.

This reverts commit 4ec277058e8164d761e3ac139d8d8113f0023bd4.
2025-04-14 16:31:54 +02:00
Stefan Kalkowski
9c3c1c6fe3 fixup "hw: sanitize scheduler, cpu, and timer interplay" (scheduler unit test) 2025-04-14 11:19:44 +02:00
Norman Feske
f357c4923a sculpt: use nitpicker's clicked report for popup
By using the clicked report instead of the hover report, we prevent the
misinterpretation of a regular hover update as an overly delayed hover
report matching a previous click (inside the popup). With this patch, the
popup stays open when the pointer leaves the popup after the click.

Issue #5496
Issue #5485
2025-04-11 19:27:57 +02:00
Norman Feske
c0dfa3983c nitpicker: deliver input seq in clicked report
Issue #5496
Issue #5485
2025-04-11 19:27:57 +02:00
Norman Feske
0a626d09dd fixup "leitzentrale/phone: add menu_hover"
The old "hover" route is no longer needed. ("hover" has merely been
renamed")

issue #5496
issue #5485
2025-04-11 18:30:00 +02:00
Sebastian Sumpf
ebefd26835 leitzentrale/phone: add menu_hover
adjust to 'touch control of popup dialog'

issue #5496
issue #5485
2025-04-11 18:30:00 +02:00
Norman Feske
2732762d43 sculpt: distinguish touch from click for popup
This patch separates the handling of touch input from pointer input in
the logic of closing the popup dialog. For the detection of a touch
outside the popup dialog, nitpicker's new "touch" report is observed
whereas the detection of a click outside the popup is based on
nitpicker's hover report.

Issue #5496
Issue #5485
2025-04-11 18:30:00 +02:00
Norman Feske
b540716cf4 menu_view: unhover on touch-release
Issue #5496
Issue #5485
2025-04-11 18:30:00 +02:00
Norman Feske
c17653dafa nitpicker: handle touch independent from motion
This patch decouples nitpicker's handling of touch events from the
handling of pointer devices.

The mouse pointer is no longer following touch position but stays
independent.

The existing "hover" report has now a counterpart "touch" that reports
the most recently touched session, including the initial touch point
and last observed sequence number.

Issue #5496
Issue #5485
2025-04-11 18:30:00 +02:00
Christian Helmuth
3b28ea3e59 sculpt: update touchpad for 25.04
Issue #5501
2025-04-11 15:57:13 +02:00
Stefan Kalkowski
8cc24e048e fixup "hw: sanitize scheduler, cpu, and timer interplay" (timer) 2025-04-11 14:56:14 +02:00
Stefan Kalkowski
ef7c0c9fb1 fixup "hw: sanitize scheduler, cpu, and timer interplay" (scheduler unit test) 2025-04-11 12:45:16 +02:00
Johannes Schlatow
29c6c4cc0e platform/pc: recover from invalidation errors
On the unexpected occasion of an invalidation-queue error, the
invalidator gets stuck in an infinite loop. We therefore need to check
for and recover from invalidation-queue errors while waiting.

genodelabs/genode#5523
2025-04-11 11:15:03 +02:00
Johannes Schlatow
df97b39340 platform/pc: clear invalidation descriptor
Each new entry in the invalidation queue must be zeroed before writing
in order to clear data from old entries. Not doing this can cause
invalidation queue errors after the tail pointer wrapped around.

genodelabs/genode#5501
genodelabs/genode#5523
2025-04-11 11:14:44 +02:00
Stefan Kalkowski
f93aebc810 fixup "hw: extend remote-cpu-call for destroy" (vcpu.h always included) 2025-04-10 16:50:00 +02:00
Sebastian Sumpf
4e6ea61c5f phone_manager: use Gui::info for screensaver's driver ready
Report 'display_driver_ready' to screensaver depending if <capture> node
is present in Gui::info. The Gui::panorama call does not suffice because
it reports the dimensions of the very last Capture client closed as
fallback.

issue #5496
2025-04-10 16:41:18 +02:00
Sebastian Sumpf
adbfd05130 bootstrap: skip zero sized late_ram_regions
On some platforms late_ram_regions are initialized to zero which
leads bootstrap to insert zero based/sized ram regions wich later caused
the following warning in core:

! unable to register RAM region base=0x0 size=0x0
! unable to exclude I/O range from RAM: base=0x0 size=0x0

Therefore, omitt adding zero sized regions to the boot info.

issue #5496
2025-04-10 16:41:18 +02:00
Sebastian Sumpf
a0c3b77f0e record_play_mixer: wakeup depleted record clients
In case a play-session client sends data too slow leading to
record-session client depletion after 250ms of inactivity, try to wakeup
depleted clients upon reception of fresh audio data from the
play-session. The _scheduler.consecutive check for triggering a wakeup
doesn't seem to suffice in case of occasionally slow play clients.

(This fixes the osci preset on the PinePhone)

issue #5496
2025-04-10 16:41:18 +02:00
Sebastian Sumpf
b8acdc8a28 recipe: add dialog.lib.so to touch_keyboard
issue #5496
2025-04-10 16:41:18 +02:00
Sebastian Sumpf
e12198dce4 dialog: ignore sequence numbers in input
* ignore sequence numbers from nitpicker in _handle_input because it
  generates it's own numbers

* send sequence number on single click

issue #5496
issue #5491
2025-04-10 16:41:18 +02:00
Sebastian Sumpf
5d45065b06 phone_manager: adjust to window clipping
Since "wm/decorator/layouter: window clipping" we need to separate
resize and window-layout ROMs while also adding the <boundary> nodes for
wm/decorator/layouter to function correctly.

issue #5496
2025-04-10 16:41:18 +02:00
Sebastian Sumpf
a71780f89a phone_manager: adjust to root dir via session label
* adjust touch_keyboard.h to updated session label handling for font_fs.
* add dialog.lib.so

issue #5496
2025-04-10 16:41:18 +02:00
Josef Söntgen
76ad585e56 Remove Block::Driver interface
This commit removes the aged Block::Driver interface that has already
been superseded by the Block::Request_stream API for some time now.
It is solely used by components whose existence is made redundant,
like 'lx_block', or old drivers, like the SD-Card driver for PL180
and old i.MX53/6 systems or the RPi 1, that have not seen active use
other than in the nightly CI runs.

Fixes #5522.
2025-04-10 16:32:58 +02:00
Josef Söntgen
5fdfc4fcea Remove lx_block component
The 'lx_block' component uses the aged Block::Driver framework
internally and most if not all use-cases where it could be employed
can be addressed by using the 'vfs_block' component instead.

This commit also removes some run-scripts that make use of 'lx_block'
whose components are already excercised otherwise.

Issue #5522.
2025-04-10 16:32:58 +02:00
Stefan Kalkowski
2dd9dc3460 hw: extend remote-cpu-call for destroy
Extend the remote cpu call to destroy a thread to be able to
destroy a vcpu as well. Change the vcpu_destroy syscall to
remotely destroy it when the scheduler of the other core has
chosen it at that same point in time.

Fix #5511
2025-04-10 16:05:51 +02:00
Stefan Kalkowski
0a9d81a821 hw: remove virtualization directory in x86/arm_v8a
Remove additional directory layer for this feature that is
omnipresent in both architectures. It makes the code more easy
to read and follow.

Fix #5520
2025-04-10 16:05:51 +02:00
Stefan Kalkowski
b09a496a5d hw: rename Kernel::Vm object to Kernel::Vcpu
Moreover this commit does:
* rename *_vm syscall to *_vcpu equivalents
* add missing inclusion guard
* fix several inclusion guards
* rename certain compilation units containing "vm"

Fix #5512
2025-04-10 16:05:51 +02:00
Stefan Kalkowski
5a8a38dbf4 hw: add assertion into ~Cpu_context
Ref #5511
2025-04-10 16:05:51 +02:00
Stefan Kalkowski
39d23b4f6c hw: setting thread as blocked works cross-core
Eliminate the assertion as it lets the kernel stall by any smp component
that calls thread's pause syscall, as long as the GENODE_RELEASE flag
isn't set.

Fix #5510
2025-04-10 16:05:51 +02:00
Stefan Kalkowski
c7b7c811d5 hw: sanitize scheduler, cpu, and timer interplay
* Remove afiinity artefact from Cpu class
* Scheduler::need_to_schedule => Scheduler::ned_to_update (consistency)
* Don't re-use last scheduler context after new scheduling
  decision, might have been deleted (potential use-after-free)
* Move Timer::process_update into timer's interrupt handling routine
* Move execution time of Cpu_context into Scheduler::Context
* Re-order scheduler and idle context initialization (ref before initialized)

Ref #5509
2025-04-10 16:05:51 +02:00
Stefan Kalkowski
3adca95137 cpu_sampler.run: fix 'assert'-proc change
Ref #5432
2025-04-10 16:05:41 +02:00
Stefan Kalkowski
f9110541c8 run/image/uboot: hint architecture for FIT images
When invoking mkimage with '-f auto' the tool uses heuristics to
decide what kind of image to produce. It seems to be related to
the version of mkimage and/or its input data, whether this decision
is done right. Therefore, clearly state the target architecture.

Fix #5519
2025-04-10 15:56:36 +02:00
Alexander Boettcher
74b7374b7c gui_fader: sanitize buffer(mode) RPC
to avoid invalid ram dataspace capability errors if the mode is
invalid, e.g. 0x0

Fixes #5521
2025-04-10 15:53:41 +02:00
Alexander Boettcher
856c48e1a1 nitpicker: enhance fallback bounding box check
Solely consider sessions with valid bounding boxes for the decision
to use the fallback bounding box or not. New started capture clients may
require some time between capture session creation and actually capture
screen creation at which the bounding box becomes valid.

Issue #5521
2025-04-10 15:53:14 +02:00
Norman Feske
9e96947ae9 capture session: specify viewport as rect
By giving the client a way to specify the origin of the viewport in
addition to the size, we can solve transformed (rotated, flipped)
output to screen buffers where the line length is larger than the
number of visible pixels.

Issue #5518
2025-04-10 15:39:28 +02:00
Alexander Boettcher
b72a6b3400 nova: remove legacy vCPU creation support
Vbox5 was the last user. Seoul and VBox6 using the Genode VM interface.

Issue #5492
2025-04-10 15:21:49 +02:00
Norman Feske
016d63703d depot: update recipe hashes 2025-04-10 14:55:59 +02:00