Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
ef86da3
Keep rotation layers mapped and touch on the panel
brkosebay Nov 8, 2026
d07e4bf
Keep rotation layers mapped and touch on the panel
brkosebay Nov 8, 2026
e83a628
Power, idle dim and native logout
brkosebay Nov 8, 2026
c9beeb9
J71t Mac current profile opt-in
brkosebay Nov 8, 2026
ac32985
RAM-sized zram and bounded journal
brkosebay Nov 8, 2026
f3becdb
On-device warm Restart through Orchard BLS
brkosebay Nov 8, 2026
1bdc70d
Optional smooth automatic brightness
brkosebay Nov 8, 2026
84bf7a1
shell: persist display scale and gather off-screen windows
brkosebay Nov 8, 2026
0c43b09
Merge main into j71t/rotation
brkosebay Nov 12, 2026
e85b9c3
Merge the j71t/rotation branch into j71t/power
brkosebay Nov 12, 2026
f38f08f
Merge the j71t/power branch into j71t/brightness
brkosebay Nov 12, 2026
f48859a
Merge the j71t/memory branch into j71t/mac-current-policy
brkosebay Nov 12, 2026
237ad89
Merge the j71t/brightness branch into j71t/display-scale
brkosebay Nov 12, 2026
2d3a08d
Merge the j71t/display-scale branch into j71t/memory
brkosebay Nov 12, 2026
b25e623
Merge the j71t/desktop branch into j71t/warm-restart
brkosebay Nov 12, 2026
4724b81
Rotation: manual rotation and rotation lock next to automatic rotation
brkosebay Nov 12, 2026
cc58e93
Power: cover lock, idle dim and suspend readiness
brkosebay Nov 12, 2026
674577a
Brightness: optional smooth automatic brightness
brkosebay Nov 12, 2026
5fbc38a
J71t: Mac current profile opt-in
brkosebay Nov 12, 2026
0be0126
Shell: persist display scale and gather off-screen windows
brkosebay Nov 12, 2026
8d88876
Memory: RAM-sized zram and a bounded journal
brkosebay Nov 12, 2026
78ec070
Warm restart: report a GPU quiesce failure to the caller
brkosebay Nov 12, 2026
3c13c74
Desktop: matched G5P Vulkan and GL, hardware desktop after a probe
brkosebay Nov 12, 2026
cd78a55
Desktop: keep upstream audio controls and fit the tablet bar
brkosebay Nov 12, 2026
736dccd
Warm restart: on-device warm restart through Orchard BLS
brkosebay Nov 12, 2026
48e6f72
Merge upstream main into j71t/rotation
brkosebay Nov 13, 2026
56e9cb8
Merge the j71t/rotation branch into j71t/power
brkosebay Nov 13, 2026
418af7a
Merge the j71t/power branch into j71t/brightness
brkosebay Nov 13, 2026
d62640d
Merge the j71t/memory branch into j71t/mac-current-policy
brkosebay Nov 13, 2026
f3404de
Merge the j71t/brightness branch into j71t/display-scale
brkosebay Nov 13, 2026
6a285de
Merge the j71t/display-scale branch into j71t/memory
brkosebay Nov 13, 2026
6b33495
Merge the j71t/mac-current-policy branch into j71t/warm-restart-shared
brkosebay Nov 13, 2026
b187e9a
Merge the j71t/warm-restart-shared branch into j71t/g5p-desktop
brkosebay Nov 13, 2026
fd96742
Merge the j71t/g5p-desktop branch into j71t/desktop
brkosebay Nov 13, 2026
993c96f
Merge the j71t/desktop branch into j71t/warm-restart
brkosebay Nov 13, 2026
f689e09
Power: keep upstream's wording for powerd's role
brkosebay Nov 13, 2026
93a0723
Merge the j71t/power branch into j71t/brightness
brkosebay Nov 13, 2026
9409ebc
Merge the j71t/memory branch into j71t/mac-current-policy
brkosebay Nov 13, 2026
331f036
Merge the j71t/brightness branch into j71t/display-scale
brkosebay Nov 13, 2026
a1cb8ff
Merge the j71t/display-scale branch into j71t/memory
brkosebay Nov 13, 2026
c7aea15
Merge the j71t/mac-current-policy branch into j71t/warm-restart-shared
brkosebay Nov 13, 2026
6ae9c8b
Merge the j71t/warm-restart-shared branch into j71t/g5p-desktop
brkosebay Nov 13, 2026
213091b
Merge the j71t/g5p-desktop branch into j71t/desktop
brkosebay Nov 13, 2026
3ab343e
Merge the j71t/desktop branch into j71t/warm-restart
brkosebay Nov 13, 2026
3bf8d88
Brightness: neutral wording in a test note and the sensor doc
brkosebay Nov 13, 2026
25fb030
Merge the j71t/memory branch into j71t/mac-current-policy
brkosebay Nov 13, 2026
b09be90
Merge the j71t/brightness branch into j71t/display-scale
brkosebay Nov 13, 2026
2b1cf72
Merge the j71t/display-scale branch into j71t/memory
brkosebay Nov 13, 2026
2eab768
Merge the j71t/mac-current-policy branch into j71t/warm-restart-shared
brkosebay Nov 13, 2026
2e56b53
Merge the j71t/warm-restart-shared branch into j71t/g5p-desktop
brkosebay Nov 13, 2026
a39ee4e
Merge the j71t/g5p-desktop branch into j71t/desktop
brkosebay Nov 13, 2026
0527703
Merge the j71t/desktop branch into j71t/warm-restart
brkosebay Nov 13, 2026
d5bb8b8
Power: drop the J71t Mac USB current profile notes
brkosebay Nov 13, 2026
1412b2e
Power: take suspend readiness from the kernel alone
brkosebay Nov 13, 2026
550a86c
Merge the j71t/power branch into j71t/brightness
brkosebay Nov 13, 2026
ad45ad1
Merge the j71t/brightness branch into j71t/display-scale
brkosebay Nov 13, 2026
3f4da61
Merge the j71t/display-scale branch into j71t/memory
brkosebay Nov 13, 2026
e318b98
Merge the j71t/memory branch into j71t/warm-restart-shared
brkosebay Nov 13, 2026
72c95c7
Drop the J71t Mac current opt-in flag
brkosebay Nov 13, 2026
e49b01e
Warm restart: quiesce the GPU wherever its handover command exists
brkosebay Nov 13, 2026
0b5d2ed
Merge the j71t/warm-restart-shared branch into j71t/g5p-desktop
brkosebay Nov 13, 2026
ce8d501
Merge the j71t/g5p-desktop branch into j71t/desktop
brkosebay Nov 13, 2026
0556ee6
Merge the j71t/desktop branch into j71t/warm-restart
brkosebay Nov 13, 2026
25ee03a
Warm restart: offer it where kexec and the reset guard exist
brkosebay Nov 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ are experimental. See orchard's

The desktop finds the hardware at login. On the iPad 6 and iPad 7 (A10) it
draws on the GPU, and Firefox plays H.264 video, YouTube included, through the
hardware video decoder. On every other device it draws in software, as before.
hardware video decoder. On G5P devices it uses a matched private Zink/EGL/GBM/GLES and Vulkan stack from the same Orchard Mesa commit. Firefox selects hardware WebRender and WebGL only in that G5P session. Other devices keep the software default.
To start an A10 device on the software desktop once, boot with
`modprobe.blacklist=powervr`.

Expand Down
3 changes: 2 additions & 1 deletion desktop/build
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ FILES = {
'libva_v4l2_request_source': INPUTS / 'libva-v4l2_request-1.2-2-gcac6ece.tar.gz',
}
# Source-built on 64-bit boards only: the A10 GPU's Vulkan driver and the VA-API video bridge.
HARDWARE_PACKAGES = {'vulkan-powervr-orchard.pkg.tar.zst': ('gpu_recipe_sha256', 'packages/vulkan-powervr-orchard'),
HARDWARE_PACKAGES = {'mesa-g5p-orchard.pkg.tar.zst': ('g5p_recipe_sha256', 'packages/mesa-g5p-orchard'),
'vulkan-powervr-orchard.pkg.tar.zst': ('gpu_recipe_sha256', 'packages/vulkan-powervr-orchard'),
'libva-v4l2-request.pkg.tar.zst': ('video_bridge_recipe_sha256', 'packages/libva-v4l2-request')}
# Prebuilt on 64-bit boards: packages published by their own repositories,
# downloaded at build time and pinned by SHA-256 in arm64/inputs.json.
Expand Down
13 changes: 12 additions & 1 deletion desktop/build-sources
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,16 @@ PKGDEST="$build/result" PKGEXT='.pkg.tar.zst' makepkg --noconfirm --nodeps > "$b
package=$(ls "$build"/result/vulkan-powervr-orchard-*-$OMARCHY_ARCH.pkg.tar.zst)
bsdtar -tf "$package" usr/lib/libvulkan_powervr_mesa.so usr/share/vulkan/icd.d/powervr_mesa_icd.json >/dev/null
cp "$package" "$ORCHARD_WORK/result/vulkan-powervr-orchard.pkg.tar.zst"
'''
if args.architecture == 'aarch64':
script += r'''
mkdir -p "$build/g5p"
cp "$ORCHARD_RECIPE"/packages/mesa-g5p-orchard/{PKGBUILD,gpu-probe.c} "$build/g5p/"
cd "$build/g5p"
PKGDEST="$build/result" PKGEXT='.pkg.tar.zst' makepkg --noconfirm --nodeps
package=$(ls "$build"/result/mesa-g5p-orchard-*-$OMARCHY_ARCH.pkg.tar.zst)
bsdtar -tf "$package" opt/orchard/g5p/share/drirc.d/00-mesa-defaults.conf opt/orchard/g5p/libexec/omarchy-g5p-probe >/dev/null
cp "$package" "$ORCHARD_WORK/result/mesa-g5p-orchard.pkg.tar.zst"
'''
buildenv.run(image, ['bash', '-euc', script],
[(work, '/work', False), (HERE, '/recipe', True)],
Expand All @@ -173,7 +183,7 @@ cp "$package" "$ORCHARD_WORK/result/vulkan-powervr-orchard.pkg.tar.zst"
if args.architecture == 'armv7h':
names.append('omacalc.pkg.tar.zst')
else:
names += ['vulkan-powervr-orchard.pkg.tar.zst', 'libva-v4l2-request.pkg.tar.zst']
names += ['mesa-g5p-orchard.pkg.tar.zst', 'vulkan-powervr-orchard.pkg.tar.zst', 'libva-v4l2-request.pkg.tar.zst']
for name in names[1:]:
check_package(built / name, args.architecture)
files = {name: sha(built / name) for name in names}
Expand All @@ -187,6 +197,7 @@ cp "$package" "$ORCHARD_WORK/result/vulkan-powervr-orchard.pkg.tar.zst"
if args.architecture == 'armv7h':
meta['omacalc_recipe_sha256'] = recipe_sha(HERE / 'packages/omacalc')
else:
meta['g5p_recipe_sha256'] = recipe_sha(HERE / 'packages/mesa-g5p-orchard')
meta['gpu_recipe_sha256'] = recipe_sha(gpu)
meta['video_bridge_recipe_sha256'] = recipe_sha(bridge)
(built / 'manifest.json').write_text(json.dumps(meta, indent=2) + '\n')
Expand Down
Loading
Loading