mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-26 19:47:42 +00:00
Merge branch 'main' into fix/darlingserver-fd-limit
This commit is contained in:
commit
c2f71e23fe
8 files changed
+81
-13
No files matched your search
@@ -4,4 +4,12 @@
|
||||
|
||||
The manifest points to public upstream source repositories. This repository includes source differences and authored integration/research tools, not a copy of the upstream runtime, Apple's SDK binaries or Riot's client/game assets. Build artifacts and local installs are excluded.
|
||||
|
||||
Some compatibility tools contain short instruction signatures or API names used to recognize the user's installed client. The client itself is not redistributed. Installation downloads from Riot's distribution service directly.
|
||||
Some compatibility tools refer to public API names and constants of the user's installed client. The client itself is not redistributed. Installation downloads from Riot's distribution service directly.
|
||||
|
||||
## Trademarks
|
||||
|
||||
League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc.
|
||||
This project is an unofficial compatibility effort and is not affiliated with, endorsed by, or
|
||||
sponsored by Riot Games.
|
||||
|
||||
See [compliance and terminology guidance](docs/COMPLIANCE.md) for scope and review expectations.
|
||||
@@ -16,14 +16,14 @@
|
||||
>
|
||||
> Even with all of that, you will probably still get permabanned.
|
||||
>
|
||||
> **3. Takedown.** Riot may well shut this project down. If that happens, I will publish a fork of Darling containing only the changes made here (none of them breach anything), and release the small script as a gist or similar.
|
||||
> **3. Continuity.** If this repository is discontinued, the patches remain available under their upstream licenses, and the original integration tooling remains available under GPL-3.0.
|
||||
>
|
||||
> **4. To Riot.** If you are reading this, it means a lot of people want to play your game on Linux and are disappointed that they currently can't. As with macOS for your other games (TFT, Valorant), it feels like Riot doesn't care about a part of its players who have been waiting the longest. If you want to fix this, make LoL Next compatible with Linux, either natively or through a layer like Proton. Yes, that includes your kernel anticheat: Epic Games did it with Easy Anti-Cheat. Follow the trend. This is the year of Linux, and people shouldn't be locked out of a platform or forced to dual boot for a single game.
|
||||
> Since Riot have heard of the repo if you want to contact me you can at [email protected] (especially if you want to do an official or supported version of league of legends on linux)
|
||||
|
||||
If someone else wants to contact me know that i'm open to jobs, part-time remote only as a employee and full time remote as a freelancer for a mission
|
||||
|
||||
https://github.com/user-attachments/assets/140df3e0-3790-46b6-bab5-578139b84a7c
|
||||
A short manual ARAM run and the current compatibility status are documented in [docs/STATUS.md](docs/STATUS.md).
|
||||
|
||||
Experimental source patches and tools for running the **macOS League of Legends client on x86-64 Linux through Darling**.
|
||||
|
||||
@@ -140,6 +140,16 @@ docs/ setup, testing, status and licensing notes
|
||||
build/ local sources, outputs and rendered tools (ignored)
|
||||
```
|
||||
|
||||
Darling/upstream components retain their existing licenses; see [third-party notes](NOTICE.md). Original integration tooling is distributed under GPL-3.0; patches retain the licensing of their target files. This project is not affiliated with Riot Games.
|
||||
Darling/upstream components retain their existing licenses; see [third-party notes](NOTICE.md). Original integration tooling is distributed under GPL-3.0; patches retain the licensing of their target files.
|
||||
|
||||
## Trademarks
|
||||
|
||||
League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc.
|
||||
This project is an unofficial compatibility effort and is not affiliated with, endorsed by, or
|
||||
sponsored by Riot Games. No game client, game assets, or account data are distributed in this
|
||||
repository.
|
||||
|
||||
See [compliance and terminology guidance](docs/COMPLIANCE.md) for the project's scope and
|
||||
review expectations.
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# Scope and compliance guidance
|
||||
|
||||
This project is an unofficial compatibility layer for running the macOS League of Legends
|
||||
client on Linux through Darling. It is not affiliated with, endorsed by, or sponsored by Riot
|
||||
Games, Inc.
|
||||
|
||||
## Scope
|
||||
|
||||
- The project is about compatibility: making the client run, render and behave correctly on
|
||||
Linux.
|
||||
- It does not aim to circumvent DRM, anti-cheat, licensing, telemetry, or other platform
|
||||
security controls, and it does not distribute a game client, game assets, or account data.
|
||||
- Do not describe or present the project as a tool for evading detection, preventing bans,
|
||||
bypassing DRM, or defeating anti-cheat. Do not promise that an account will not be banned.
|
||||
|
||||
## Terminology
|
||||
|
||||
Prefer accurate compatibility language:
|
||||
|
||||
| Prefer | Avoid |
|
||||
|---|---|
|
||||
| compatibility issue, client check, platform identity | detection vector, stealth, evasion, bypass |
|
||||
| hardware/platform reporting | spoofing, telemetry leak |
|
||||
| runtime/launcher fix | anti-cheat bypass |
|
||||
|
||||
Technical facts can be described precisely without framing the work as evasion. If a change
|
||||
touches a client check or a platform identity, say what it does and why it is needed for
|
||||
compatibility.
|
||||
|
||||
## Assets and third-party material
|
||||
|
||||
- Do not add or link third-party game assets: logos, icons, fonts, screenshots, gameplay
|
||||
audio/video, client files, game data, or account data.
|
||||
- Project icons and artwork must be original. Forks must use their own name and icon; see the
|
||||
trademark notice in `README.md` and `NOTICE.md`.
|
||||
- Do not commit local prefixes, logs, tokens, captures, or compiled client/runtime binaries.
|
||||
|
||||
## Pull requests and issues
|
||||
|
||||
- Describe the compatibility problem and the fix. Avoid "stealth", "spoof", "evade",
|
||||
"undetectable", or "unbannable" framing.
|
||||
- Maintainers may ask for wording changes before merging. This is about keeping the project's
|
||||
scope accurate, not about hiding technical details.
|
||||
- Contributions that add third-party assets or present the project as a DRM/anti-cheat
|
||||
circumvention tool are out of scope for this repository.
|
||||
|
||||
## Note
|
||||
|
||||
This document describes project scope and review expectations. It is not legal advice.
|
||||
@@ -6,7 +6,8 @@ A prefix without saved identity files keeps the host-derived UUID and
|
||||
`DARLING-` serial; launching never generates an override. Import mode uses
|
||||
values supplied by the user. `--provision` generates synthetic identifiers; it
|
||||
does not issue authentic Apple identities or change CPU, GPU, or security
|
||||
metadata.
|
||||
metadata. The overrides are for application compatibility; they are not intended
|
||||
to bypass anti-cheat, telemetry, licensing, or platform security controls.
|
||||
|
||||
Preview an OpenCore `config.plist`, a flat GenSMBIOS JSON file, or an existing
|
||||
`darling-smbios.conf` without changing the selected prefix:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
description = "Darling League of Legends - experimental macOS LoL runner on Linux via Darling";
|
||||
description = "Unofficial Darling League of Legends - experimental macOS LoL runner on Linux via Darling";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
@@ -229,12 +229,12 @@
|
||||
cat << 'DESKTOP_EOF' > $out/share/applications/darling-lol.desktop
|
||||
[Desktop Entry]
|
||||
Categories=Game;
|
||||
Comment=Play League of Legends macOS client on Linux via Darling
|
||||
Comment=Unofficial League of Legends macOS client compatibility layer for Linux via Darling
|
||||
Exec=darling-lol
|
||||
GenericName=MOBA Game
|
||||
Icon=darling-lol
|
||||
Keywords=League;LoL;Riot;Darling;
|
||||
Name=League of Legends
|
||||
Name=League of Legends (unofficial)
|
||||
StartupWMClass=RiotClientServices
|
||||
Terminal=true
|
||||
Type=Application
|
||||
@@ -245,7 +245,7 @@ DESKTOP_EOF
|
||||
'';
|
||||
|
||||
meta = with pkgs.lib; {
|
||||
description = "Tooling and patches to run macOS League of Legends on Linux with Darling";
|
||||
description = "Unofficial tooling and patches to run macOS League of Legends on Linux with Darling";
|
||||
homepage = "https://github.com/lucannez64/darling-lol";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -3326,8 +3326,8 @@ index 8b92b6c50..18a57e359 100644
|
||||
+ * (kAudioUnitErr_InvalidProperty) made it throw its audio graph away and build a new one in a loop, so it never played
|
||||
+ * anything. Accepting it harmless: the unit plays on the default device anyway.
|
||||
+ *
|
||||
+ * Only the game process gets this. With the property accepted everywhere, the League client's Vanguard module went to its
|
||||
+ * error state (MvgState 5, status -101) on every launch (2 of 2, 2026-10-11) and the client could not start a match;
|
||||
+ * Only the game process gets this. With the property accepted everywhere, the League client's integrity module went to its
|
||||
+ * error state (state 5, status -101) on every launch (2 of 2, 2026-10-11) and the client could not start a match;
|
||||
+ * with the old behaviour it connected again (state 0). */
|
||||
+static bool callerIsLeagueGame()
|
||||
+{
|
||||
|
||||
+1
-1
@@ -5051,7 +5051,7 @@ index b998456..c6281e6 100644
|
||||
+ * (/tmp/rclol-local-semaphores, the former opt-in switch, is now a no-op). While it was on by default in every
|
||||
+ * process (2026-10-10 22:22-23:50) LeagueClient died ~85 s after start in 3 of 4 checked launches
|
||||
+ * ("mach_msg_overwrite failed -9", then dserver_rpc_interrupt_enter -9: its RPC descriptor had become invalid) and
|
||||
+ * the user saw Vanguard errors; that mechanism is not understood, so the clients keep the server path. With the
|
||||
+ * the client logged integrity-check errors; that mechanism is not understood, so the clients keep the server path. With the
|
||||
+ * lifetime fixes above the game ran two full matches with it (2026-10-14: the main thread's server waits fell from
|
||||
+ * 1.36 to 0.10 ms per frame, 39 to 15 blocks per frame). /tmp/rclol-local-semaphores-all turns it on for every
|
||||
+ * process (probe tests). Decided once per process and logged
|
||||
|
||||
@@ -10,5 +10,5 @@ OBJDUMP="$(command -v llvm-objdump || true)"
|
||||
file "$BIN" | tee "$OUT/file.txt"
|
||||
[ -n "$OTOOL" ] && { "$OTOOL" -hv "$BIN" > "$OUT/headers.txt" 2>&1; "$OTOOL" -L "$BIN" > "$OUT/linked-libs.txt" 2>&1; echo "wrote headers + linked-libs"; } || echo "no otool/llvm-otool found"
|
||||
[ -n "$OBJDUMP" ] && "$OBJDUMP" --macho --dylibs-used "$BIN" > "$OUT/dylibs.txt" 2>&1 || true
|
||||
strings -a "$BIN" | grep -iE "Metal|MTL|Vanguard|vgc|CEF|Chromium|RiotClient|NSApplication|LSOpen|CFBundle" | sort -u | head -100 | tee "$OUT/strings-of-interest.txt"
|
||||
strings -a "$BIN" | { grep -iE "Metal|MTL|CEF|Chromium|RiotClient|NSApplication|LSOpen|CFBundle" || test "$?" -eq 1; } | sort -u | head -100 | tee "$OUT/strings-of-interest.txt"
|
||||
echo "done -> $OUT/"
|
||||
Reference in new issue
Block a user