Commit Graph
132 Commits
Author SHA1 Message Date
David GhegheaandClaude Opus 5.5 629cfec630 fix(nvidia): keep threaded optimizations off for driver 580
With __GL_THREADED_OPTIMIZATIONS=1, NVIDIA 580 (the last branch for Pascal
GPUs) with egl-x11 1.0.6 rejects the X11 EGLDisplay with EGL_BAD_DISPLAY on
every thread that has a context current. A native EGL program reproduces it
outside Darling. In the Riot client the main thread loses EGL after its first
window frame, so CGLCreateContext fails with error 10004 and the game window
stays black. Default the launcher to 0; setting the variable restores 1.

CGLDestroyWindow also returns early for the NULL window CGLGetWindow gives
when eglCreateWindowSurface fails, instead of passing EGL_NO_SURFACE on.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:54:03 +02:00
Kalah b478010eb7 Merge pull request #27 from dnsouzadev/fix/riot-session-crashes-download-recovery
Fix Riot session crashes, stalled downloads and hidden client launches
2026-10-18 14:41:48 +02:00
lucannez64 c58fe4b1c5 fix(test): let Darling initialize the private session prefix 2026-10-18 14:38:15 +02:00
lucannez64 bffe884b5c Merge remote-tracking branch 'origin/main' into fix/pr27-reviewed 2026-10-18 14:30:00 +02:00
Kalah cd0f041ffb Merge pull request #51 from SypherrDev/perf/nvidia-ioctl-reduction
perf(indium): cut NVIDIA driver calls per frame (lazy event-loop wake-ups, tunable submit batching)
2026-10-18 14:28:16 +02:00
lucannez64 195255dd5e fix(indium): preserve device field offsets and clarify tuning defaults 2026-10-18 14:27:41 +02:00
lucannez64 e7a08f21cb test(cfnetwork): scope probe overlays after private-prefix startup 2026-10-18 14:20:40 +02:00
lucannez64 0a1d303cd0 chore(manifest): record CFNetwork session patch ownership 2026-10-18 14:18:35 +02:00
lucannez64andSypherrDev 593ab1a077 perf(indium): rebase lazy wakeups and batch tuning onto current polling
Keep the merged per-device completion budget, bounded parsing, idle blocking and timeout accounting. Scope the registration/blocking handshake to each device, restrict live batch windows to the timer resolution, and test registration interleavings, spin-disabled polling, shutdown, opt-out and independent devices with actual patched methods.

Co-authored-by: SypherrDev <[email protected]>
2026-10-18 14:17:35 +02:00
lucannez64 1d4f7fae0c fix(cfnetwork): preserve shared sessions and delegate-queue completions
Ignore both invalidation methods on the shared session; deliver task completion through the owning session delegate queue. Extend the standalone probe to exercise singleton reuse and a suspended custom queue. Require stable old-client process identities and complete window data before optional recovery, and continue launch after shutdown failures.
2026-10-18 14:16:32 +02:00
Daniel Souza c0f83b399f Fix Riot session aborts, CDN downloads and hidden client recovery 2026-10-18 14:09:59 +02:00
Kalah e019bba727 Merge pull request #54 from hamzajer/fix/ubuntu-24.04-build-and-coretext-name
Fix darlingserver build on Ubuntu 24.04 and implement CTFontCopyLocalizedName
2026-10-18 14:03:00 +02:00
lucannez64 b18726cfe3 Merge remote-tracking branch 'origin/main' into fix/pr54-update 2026-10-18 14:02:24 +02:00
Kalah 2e2a741911 Merge pull request #29 from pirrandi/fix/nvidia-support
fix(nvidia): CPU readback, native resize signals and bounded completion polling
2026-10-18 14:00:57 +02:00
lucannez64andPirrandi dceee00d10 fix(nvidia): retain readback, resize and bounded completion fixes
Rebuild the remaining NVIDIA changes on current main, preserving the merged visual, draw-buffer, descriptor ownership and mixed Metal-tree fixes. Scope native-thread forwarding to resize notifications and make completion polling per device, bounded and part of the caller timeout budget.

Co-authored-by: Pirrandi <[email protected]>
2026-10-18 13:59:49 +02:00
Kalah cb628a23f1 Merge pull request #56 from nicolai455/review/nix-packaging
feat(nix): add experimental rootless package with guided setup and desktop launcher
2026-10-18 13:55:38 +02:00
lucannez64 3e67d946c6 test(nix): cover region routing, stable readiness and lost terminals 2026-10-18 13:54:18 +02:00
Nicolai Bruns 33581fb216 fix(nix): address review feedback on setup and runtime safety 2026-10-18 13:51:58 +02:00
Nicolai Bruns 573f290552 fix(nix): simplify compiler setup and complete rootless session lifecycle 2026-10-18 13:35:15 +02:00
Hamza JermouniandClaude Opus 5.5 b08acd17a4 Implement CTFontCopyLocalizedName with the canonical name
The stub returned nil and left the language output untouched. Chromium
pre-fills that output with a sentinel and reads it whenever it is
non-NULL, so the League client UI read garbage. Return CTFontCopyName
and always write NULL to the language output. The CoreText font-list
check now covers both.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 12:28:12 +02:00
Hamza JermouniandClaude Opus 5.5 b74fe97ae5 Define PROCMAP_QUERY when the kernel headers lack it
Ubuntu 24.04 ships Linux 6.8 headers, which predate the PROCMAP_QUERY
ioctl (6.11), so darlingserver failed to build. The ioctl ABI is fixed,
so define it locally; on an older running kernel the ioctl fails and
the /proc/<pid>/maps text parser is used as before.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 12:28:12 +02:00
Nicolai Bruns 3c0b9cdfd3 feat(nix): add experimental rootless FHS package and desktop launcher 2026-10-18 00:30:14 +02:00
Kalah 2cb353c785 Merge pull request #52 from lucannez64/lucannez64-patch-1
Update README with contact info and project goals
2026-10-18 00:11:57 +02:00
Kalah caa4719241 Update README with contact info and project goals
Added contact information for job opportunities and clarified project goals regarding Linux compatibility.
2026-10-18 00:11:42 +02:00
Kalah 4b2a93cda8 Merge pull request #47 from lucannez64/fix/pr41-deferred
Implement deferred shell, CPU, registry and platform configuration fixes
2026-10-17 23:41:10 +02:00
Kalah f8923a5399 Merge branch 'main' into fix/pr41-deferred 2026-10-17 23:40:55 +02:00
Kalah a6c119ed0e Merge pull request #44 from lucannez64/fix/pr41-compatibility
Extract tested runtime compatibility fixes from #41
2026-10-17 23:40:44 +02:00
Kalah 792b24c896 Merge branch 'main' into fix/pr41-compatibility 2026-10-17 23:40:22 +02:00
lucannez64 91eaf21175 Add stable opt-in per-prefix identity provisioning 2026-10-17 23:38:49 +02:00
lucannez64 b6302bb2c6 Implement bounded registry APIs and opt-in platform configuration 2026-10-17 23:32:01 +02:00
lucannez64 9fe7ce1f3c Fix shell stream ownership and CPU frequency units 2026-10-17 23:31:23 +02:00
Kalah 880f21aa4f Merge pull request #45 from lucannez64/lucannez64-patch-1
Add warning about 3-Day Suspension and project takedown
2026-10-17 23:17:58 +02:00
Kalah 9aee21212a Add warning about 3-Day Suspension and project takedown 2026-10-17 23:17:35 +02:00
lucannez64 de3bbe94b1 Extract runtime compatibility fixes from PR 41 2026-10-17 23:04:23 +02:00
Kalah 4c31367530 Merge pull request #42 from nicolai455/fix/setup-runtime-safety
fix(setup): use consistent runtime paths and reject incomplete installs
2026-10-17 22:58:37 +02:00
lucannez64 d4dcd31a21 Merge main into setup runtime safety, preserving certificate setup 2026-10-17 22:56:34 +02:00
Kalah 5dd00ed1ae Merge pull request #43 from lucannez64/test-batch-2
Merge tested runtime, GPU reporting, certificate, and frame-wait fixes
2026-10-17 22:55:17 +02:00
lucannez64 f1dc596c5b Bound submit-worker drains to work already queued 2026-10-17 22:54:50 +02:00
Nicolai Bruns a2d4125e4d test(setup): isolate missing guest validation 2026-10-17 22:40:53 +02:00
Nicolai Bruns 57b1df9e0b fix(setup): validate final runtime destinations 2026-10-17 22:24:06 +02:00
Nicolai Bruns 2e201dd19b fix(setup): use consistent runtime paths and reject incomplete installs 2026-10-17 22:09:29 +02:00
lucannez64 3264ca86fa Test merge root certificates 2026-10-17 21:08:12 +02:00
lucannez64 9330765f94 Test merge metal device name 2026-10-17 21:08:12 +02:00
lucannez64andClaude Opus 5.5 52a6dae432 Build Darling's system root store from the host CA bundle
Security reads the system trust domain from
/System/Library/Keychains/SystemRootCertificates.keychain and
SystemTrustSettings.plist (TrustSettingsSchema.h). Darling ships neither, so
SecTrustSettingsCopyCertificates(kSecTrustSettingsDomainSystem) returns
errSecNoTrustSettings (-25263); Chromium's known_roots_mac and Riot's
CertBundle then report that they cannot read the system roots.

ensure-darling-root-certificates.py parses each host root with a minimal DER
walker and writes the trust record keyed by the uppercase SHA-1, with the
encoded issuer Name, the serial INTEGER's content octets, modDate and an
empty (unrestricted) trustSettings array. The keychain is built with the
guest security tool in one darling shell, in a private temporary directory,
and published from inside the guest so a running Darling sees it, falling
back to the host when the guest cannot write the directory. A digest stamp
skips later runs without starting Darling. The launcher warns and continues
on failure; install-runtime.sh runs it before stopping Darling.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 21:03:32 +02:00
lucannez64andClaude Opus 5.5 40f7a650d1 Report the host GPU name and VRAM from MTLDevice
-[MTLDevice name] returned "Darling Indium Device" for every GPU. It now
returns the selected Vulkan device's name in macOS Metal style: the
trailing driver note in brackets and the (R)/(TM) marks are removed, and
NVIDIA names are unchanged. The name is never replaced with another
vendor's. recommendedMaxWorkingSetSize is the device-local heap size on
discrete GPUs and all heaps on integrated/CPU devices, with the old 1 GiB
as fallback. Both are computed once per device.

hasUnifiedMemory stays YES by default: synchronizeResource:/
synchronizeTexture: are missing and Private buffers created with data
abort in Indium, so reporting NO on discrete GPUs would send apps down
unimplemented paths. DARLING_METAL_HOST_UNIFIED_MEMORY=1 opts in to the
GPU-type answer. DARLING_METAL_GPU_NAME and DARLING_METAL_VRAM_MB
override the name and working set.

The cleaning logic lives in private-include/Metal/MTLDeviceInfo.h and is
covered by the host check tools/test-metal-device-info.cpp. Metal now
links indium_private for the Vulkan properties, and the runtime build
script adds Indium's private headers before compiling MTLDevice.mm.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 20:49:42 +02:00
Kalah 845aee22d2 Merge pull request #33 from ztancrell/fix/installer-region-codes
Map LAN, LAS and OCE to Riot's installer codes
2026-10-17 20:37:20 +02:00
lucannez64 2b0e18010b Test merge #37 2026-10-17 20:36:55 +02:00
lucannez64 9c112e44d0 Test merge #32 2026-10-17 20:36:54 +02:00
lucannez64 4cd94f27e7 Test merge #36 2026-10-17 20:36:54 +02:00
lucannez64 0a9940272b Test merge #25 2026-10-17 20:36:53 +02:00