242 Commits
Author SHA1 Message Date
osy 4da12ebb79 scripts: retry downloads and clones on transient failures
Concurrent build_dependencies.sh runs on the same CI runner get rate
limited by GitHub, so clones and fetches fail intermittently. Retry each
network operation with exponential backoff, jittered by PID so parallel
builds do not retry in lockstep.

The tree:0 filtered clones lazily fetch objects during checkout and
submodule update, so those hit the network too and are retried as well.
Add -f to curl so that a rate limited response is treated as a failure
instead of being saved as the tarball.

Assisted-by: Claude:claude-opus-5
2026-07-31 16:08:49 -07:00
osy ee04b73402 github: install D3DMetal into universal sysroot
The macOS build embeds D3DMetal.framework when the sysroot ships it, but
the framework is distributed separately and cannot be committed. When
D3DM_DIST_DMG_URL is set, fetch the distribution DMG and stage the
framework into the universal sysroot before it is packed into the
artifact and saved to the cache, so downstream builds pick it up. Builds
without the variable set are unaffected.

We cannot ship a com.apple.* bundle, but D3DMetal loads its own
default.metallib through [NSBundle bundleWithIdentifier:@"com.apple.D3DMetal"]
using that identifier as a literal compiled into the framework binary, so
the rebrand rewrites both the Info.plist and the binary. Rewriting only one
makes the lookup return nil and every D3DMetal process aborts in
-[MTLDevice newLibraryWithFile:nil error:].

Staging lives in scripts/install_d3dmetal.sh so it can also be run by hand.

Assisted-by: Claude:claude-opus-5
2026-07-30 22:15:31 -07:00
osy e6436a83b0 project: add DirectX support
- virglrenderer uses shmem for texture import/export so we need App Group for both iOS and macOS
- Add QEMURenderServer for new process model rendering (both Venus and Neptune)
- macOS: add DXMT and D3DMetal-Native backends
- We require 8G hostmem for Neptune but iOS currently fails > 256M
2026-07-30 18:31:26 -07:00
osy 530fd96f0d build: add Neptune and backends
Bump minimum version to macOS 13.0 and iOS 16.0 due to D3D renderer minimum
requirements.
2026-07-30 18:15:11 -07:00
osy baf362dcde build: remove minver hack for building ANGLE for iOS 2026-02-24 13:57:45 -08:00
osy e89c580ed3 build: define mesa host dependencies 2026-02-21 12:35:15 -08:00
osy 038ff43959 build: update minver to iOS 14 and macOS 11
This is what UTM's minver has been for a while and will reduce
the number of warnings in the build as well as enable possible
runtime optimizations.
2026-01-23 13:29:08 -08:00
osy eed5350459 build: fix Obj-C build flags
We weren't passing in the target tuple for Obj-C which led to
crashes running on an lower iOS version.

Fixes #7593
2026-01-23 13:27:28 -08:00
osy 50764ac68d build: support building with debug symbols 2026-01-10 16:22:12 -08:00
osy 220926d1d7 build: fix Vulkan icd path for iOS 2026-01-10 16:21:55 -08:00
osy 531c4a4fcc build: mesa_clc must be built from the same tree 2026-01-08 01:18:52 -08:00
osy 4c1c0b731c build: fix Vulkan-Loader path 2026-01-07 21:03:12 -08:00
osy 847ad6e425 build: add MoltenVK to dependencies 2026-01-07 21:03:12 -08:00
osy 50283fd05d build: add distlib and mako to dependency check 2026-01-07 21:03:12 -08:00
osy b959d92b32 build: add KosmicKrisp to dependencies 2026-01-07 21:03:12 -08:00
osy e8e7ec7ac8 build: add Vulkan-Loader to dependencies 2026-01-05 20:56:42 -08:00
osy cd7158a0f8 build: update environment checks 2026-01-04 22:38:21 -08:00
osy 2a913cadb0 qemu: enable support for CGL backend
Thanks to @startergo for the changes. This should enable OpenGL 4.1 on Linux

Resolves #4285
2026-01-04 21:54:36 -08:00
osy 434a777c9a build: TCI: add m68k, remove arm, riscv32
There isn't any good use for arm32 and riscv32. Remove them to
reduce the app size.
2025-08-03 19:08:21 -07:00
osy 203f5261dd wizard: create classic Mac OS machine
Also add support for classicvirtio.

Resolves #6520
2025-08-03 09:32:51 -07:00
osy bcb5b0f161 config(qemu): enable UEFI support for RISCV64 and LoongArch64
Resolves #7183
2025-07-23 14:56:51 -07:00
osy d5db1a1d6b build: update QEMU to v10.0.2
Resolves #2353
2025-07-07 01:46:59 -07:00
osy 09f76ca442 build: fix gettext build warning
Fixes #7224
2025-07-06 11:46:37 -07:00
osy 0b981d1693 build: fix Hypervisor build for Simulator on Xcode 26 2025-07-04 21:58:58 -07:00
osy bf72a60e92 build: update ffi source and tweak logging of url 2025-04-07 11:12:05 -07:00
osy 51fda404b8 package: fix DEB build for rootless
Fixes #6667
2024-11-23 00:54:44 -08:00
osy 38521a32e7 build: updated SPICE dependencies 2024-11-13 16:19:45 -08:00
osy 241ab254e6 qemu: update QEMU to v9.1.0-utm 2024-10-01 15:21:01 -07:00
osy a80e089415 package: update DEB control file to support rootless 2024-08-20 14:57:19 -05:00
osy 78304a5589 scripts: update usage to reflect options in build_utm.sh 2024-08-19 18:32:45 -05:00
osy 44acf31d6c project: disable unsupported entitlements for visionOS 2024-04-20 17:38:38 -07:00
osy a426fbd28e build: workaround for libtool does not use LDFLAGS correctly 2024-04-20 13:23:12 -07:00
osy 0347426484 build: set minimum deployment target for visionOS 2024-04-01 10:04:18 -07:00
osy 2fc13ca956 build: update gettext and fix QEMU compiler error
Proper fix for the new compiler errors introduced in Xcode 15.3.
2024-03-30 20:41:38 -07:00
osy 9846260ec8 github: update to Xcode 15.3 and disable new compiler errors 2024-03-30 14:06:33 -07:00
osy a3ad38105b build: fix incorrect log text 2024-03-30 14:06:27 -07:00
osy 686b9ff7ea build: fix ANGLE build for App Store submission
Match the MinimumOSVersion in Info.plist with LC_BUILD_VERSION
Workaround compiler bug causing invalid LC_ENCRYPTION_INFO_64
2024-03-03 16:14:20 -08:00
osy 646ab867b9 build: support signing iOS-Remote 2024-02-27 11:00:21 -08:00
osy 5753332d5b Merge pull request #6118 from reidpr/package_mac_if
`package_mac.sh`: fix fallback to `hdiutil`
2024-02-26 20:02:12 -08:00
Reid Priedhorsky c9c21d8e18 package_mac.sh: fix fallback to hdiutil 2024-02-26 10:38:31 -07:00
osy f5169c87ae build: strip broken entitlements from ANGLE signature 2024-02-25 00:16:27 -08:00
osy ac2d7c4ec2 github: configure build for iOS-Remote 2024-02-25 00:16:27 -08:00
osy 2ea42d82e3 package: DEB minimum firmware set to iOS 14
Resolves #5784
2023-10-07 18:11:09 -07:00
osy f37dabe1eb build: replace Chromium ANGLE with WebKit ANGLE 2023-08-08 07:06:48 -07:00
osy 9c3bb44e42 build: update build script for visionOS 2023-08-08 07:06:40 -07:00
osy 7611a46831 build: support dependency build for visionOS 2023-08-07 20:00:18 -07:00
osy fab6dfb12a project: add swtpm 2023-07-12 23:18:36 -07:00
osy b7cfc156df manager: delete QEMU management code 2023-06-25 11:34:08 -05:00
osy 7730bec98f Revert "const-gen: filter out virtio-bus devices"
It seems like some users do use the virtio-bus devices on a virt machine.
Better be safe and restore them.

This reverts commit 3a54dab6f3.

Fixes #5137
2023-04-17 21:09:41 -07:00
osy 2639cbdc89 qapi: add guest agent schema to generated sources 2023-03-11 19:09:09 -08:00