github phforner0/Xendroid-Plus XenDroid-v131-80237530
Xendroid+ 0.2.0-preview.131

pre-release3 hours ago

Prototype's city is lit again, and Dirt 3 loses its harsh contrast.

Naruto: Rise of a Ninja no longer closes a few seconds after it starts.

GPU fixes from Xenia Edge, and Forza Motorsport 4's car shadow.

Kernel, CPU and file fixes from Xenia Edge.

Content and profile fixes from Xenia Edge, as a console behaves, and installed packages that keep opening.

Network fixes from Xenia Edge, and socket options that work on Android.

User mode fixes from Xenia Edge for XNA games such as Bastion.

GPU diagnostics for bug reports: the packets around a GPU command failure go to the log, and a diagnostic build can capture a frame.

  • Prototype no longer draws the ground, buildings and people black on Turnip drivers.
  • Dirt 3's menus and stages no longer come out nearly black and overly contrasted on Turnip drivers.
  • Naruto: Rise of a Ninja no longer closes with "Guest crashed" a few seconds after starting, which happened in about half of the launches. Its threads run as system threads again.
  • 16-bit fixed render targets use the hardware's 10 fractional bits, and packed mip tails, 8-bit format aliases and one-component vertex fetches load correctly.
  • float16 render targets and memory exports round as the Xbox 360 GPU does.
  • Forza Motorsport 4's car no longer sits on a black square: its shadow's depth moments resolve and sample as integers.
  • A longjmp lands in the frame of the function it returns to: code no longer runs twice or crashes after a setjmp.
  • Arguments past the eighth register, such as the 64-bit ones of sprintf and DbgPrint, come from the right bytes.
  • Unloading a title update no longer unloads the game's own module, and saves no longer turn read-only from a bad attribute write.
  • Saves and DLC copied from Xenia Canary in its current header format are read without conversion.
  • Content names are checked as the console checks them, so no name reaches outside its own package.
  • A title update or DLC installed from a file with a comma, plus sign or accent in its name gets a folder name the game can open; ones installed before are renamed when the game starts.
  • Offline profiles report the console's language and country instead of none.
  • Socket timeouts a game sets now take effect on Android, where they failed.
  • Sockets and network events are freed when the game closes them, and closed when the game ends.
  • XNet startup parameters read back as the console reports them.
  • In XNA games, a TB flush keeps the pages whose entries didn't change mapped instead of dropping them all, and a new page can't be written by another thread before its protection is set.
  • When the GPU can't execute a command, the log shows the last commands read and the bytes around the failing one.
  • The window paint request no longer fills a quarter of the log.
  • A diagnostic build (XENDROID_GPU_TRACE=true) adds Capture frame to the in-game menu, which writes the next frame's GPU commands in Xenia Edge's trace format; regular builds are unchanged.

Full Changelog: XenDroid-v121-32acc032...XenDroid-v131-80237530

🇧🇷 Em português

A cidade do Prototype volta a ser iluminada, e o Dirt 3 perde o contraste exagerado.

O Naruto: Rise of a Ninja não fecha mais alguns segundos depois de abrir.

Correções de GPU do Xenia Edge, e a sombra do carro do Forza Motorsport 4.

Correções do Xenia Edge no kernel, na CPU e nos arquivos.

Correções do Xenia Edge em conteúdo e perfis, como o console se comporta, e pacotes instalados que continuam abrindo.

Correções de rede do Xenia Edge, e opções de socket que funcionam no Android.

Correções do Xenia Edge no user mode, para jogos XNA como o Bastion.

Diagnóstico de GPU para relatos de bug: os pacotes em volta de uma falha de comando da GPU vão para o log, e um build de diagnóstico pode capturar um quadro.

  • O Prototype não desenha mais o chão, os prédios e as pessoas em preto com os drivers Turnip.
  • Os menus e as fases do Dirt 3 não saem mais quase pretos e com contraste exagerado com os drivers Turnip.
  • O Naruto: Rise of a Ninja não fecha mais com "Guest crashed" alguns segundos depois de abrir, o que acontecia em cerca de metade das aberturas. Os threads dele voltam a ser threads do sistema.
  • Alvos de 16 bits fixos usam os 10 bits de fração do hardware, e mip tails empacotados, os apelidos dos formatos de 8 bits e os vertex fetches de um componente carregam certo.
  • Alvos float16 e memexports arredondam como a GPU do Xbox 360.
  • O carro do Forza Motorsport 4 não fica mais sobre um quadrado preto: os momentos de profundidade da sombra são resolvidos e amostrados como inteiros.
  • Um longjmp volta para o frame da função certa: o código não roda duas vezes nem cai depois de um setjmp.
  • Os argumentos depois do oitavo registrador, como os de 64 bits do sprintf e do DbgPrint, são lidos dos bytes certos.
  • Descarregar uma title update não descarrega mais o módulo do jogo, e o save não fica mais só leitura por um atributo mal lido.
  • Saves e DLC copiados do Xenia Canary no formato de cabeçalho atual são lidos sem conversão.
  • Os nomes de conteúdo são checados como o console checa, e nenhum nome sai da pasta do próprio pacote.
  • Um TU ou DLC instalado de um arquivo com vírgula, sinal de mais ou acento no nome recebe uma pasta que o jogo abre; os instalados antes são renomeados quando o jogo começa.
  • Perfis offline informam o idioma e o país do console em vez de nenhum.
  • Os timeouts de socket que um jogo define passam a valer no Android, onde falhavam.
  • Sockets e eventos de rede são liberados quando o jogo os fecha, e fechados quando o jogo termina.
  • Os parâmetros de início do XNet são devolvidos como o console os devolve.
  • Nos jogos XNA, um flush do TB mantém mapeadas as páginas cujas entradas não mudaram, em vez de derrubar todas, e outra thread não consegue escrever numa página nova antes de a proteção dela ser aplicada.
  • Quando a GPU não consegue executar um comando, o log mostra os últimos comandos lidos e os bytes em volta do que falhou.
  • O pedido de pintura da janela não ocupa mais um quarto do log.
  • Um build de diagnóstico (XENDROID_GPU_TRACE=true) acrescenta "Capturar quadro" ao menu do jogo, que grava os comandos de GPU do próximo quadro no formato de trace do Xenia Edge; os builds normais ficam iguais.
📜 Every change since build 121 · 8 pull requests, 98 commits
  • #80 Prototype e Dirt 3: o arredondamento de 21 bits volta à forma com seleção (a cena volta a ser iluminada) · @phforner0
    • GPU: the 21-bit rounding with the select again, except for the Forza titles · 8d77678c
  • #82 Naruto: os threads voltam a ser do sistema (o jogo fechava alguns segundos depois de abrir) · @phforner0
    • Naruto: its threads on host threads again · 05cddf50
  • #90 Upstream, lote 9: GPU (16 bits fixos com 10 bits de fração, mip tail, float16) e a sombra do carro do FM4 · @phforner0
    • [GPU] Answer the 8 bit format alias questions · f0e9cb0f
    • [GPU] Proper fixed 16 bit EDRAM scaling · 32578305
    • [GPU] Fix packed mip tail addressing and 2x1 offsets · 2caf2b57
    • [GPU] Unwatch destroyed textures under the global lock · d76297fc
    • [GPU] Fix invalid SPIR-V scaling one-component vertex fetches · 15b32e2e
    • [GPU] Fix converted index buffer pages being sized 16 times too large · 97e98edc
    • [GPU] Fix shader interpreter's loop stack overflow on wrong aL · 98d21f05
    • [GPU] Blend the fixed point formats in 10-bit ints in FSI/ROV · fa4bd442
    • [GPU] Fix float16 render targets and exports rounding · 2ab9fcaf
    • GPU: 16-bit fixed resolves to signed integers can copy the integers · 8e930244
    • FM4: its car shadow resolves and samples its depth moments as integers · 4b34ca56
    • FM4: the car shadow quirk says how it was measured · 90671f84
    • Merge branch 'main' into upstream/lote-9 · e767a71c
  • #85 Upstream, lote 10: kernel, CPU e arquivos (longjmp no frame certo, argumentos de 64 bits, APCs) · @phforner0
    • [Kernel/CPU] Fix module unloads freeing another module with same name · 212050a4
    • [Kernel] Free title update modules once they are applied · bf5f6437
    • [APU] Fix buffer and file cleanup when loading a song · cf5dbddd
    • [Kernel] Fix stack arguments past r10 being read from the wrong bytes · 938fa214
    • [Kernel] Fix overlapped completions writing the thread handle into InternalContext · 5a62a89d
    • [Kernel] Don't signal the overlapped event when a completion routine is set · dcad93e6
    • [XboxKrnl] Fix APC kernel routines getting the list entry instead of the APC · 8788cd6c
    • [Kernel] Hold kernel APCs off inside a critical region · 4c5ce7bc
    • [XboxKrnl] Run kernel APC queued to the current thread before KeInsertQueueApc returns · 16ad693a
    • [Kernel] Implement IoCreateFile · e0bf5c44
    • [Kernel] Define StfsCreateDevice and StfsControlDevice · a2414f2a
    • [Kernel] Fix failed opens writing -1 as handle and action as information · e2a45e11
    • [Kernel] Fix NtCancelTimer reporting every timer as not signaled · 3f2e4200
    • [Kernel] Fix failed file information calls writing the status block · 7147bc29
    • [Kernel] Fix NtSetInformationFile reading basic attributes from the padding · b4616e24
    • [A64] Cache dynamic code targets of direct calls and at return sites · 8f3de3d9
    • [A64] Let a dynamic blr target take its caller's frame · 626d081f
    • [A64] Return to host code from a branch to the host return address · 1d377461
    • [A64] Land a longjmp only in a frame of the function it lands in · 46af8ef8
    • [Base] Classify arm64 cache maintenance faults as reads · efb82bde
    • [XboxKrnl/Crypt] Fix xefu's Xbox HD key coming from uninitialized memory · 675bc184
    • [XboxKrnl/Crypt] XeKeysGetKey hands out key 0x19 · 49d79c68
    • [Kernel] Fix KeSetEvent and KeResetEvent reporting wrong previous state · da7f3464
    • [Kernel] Fix NtCreate* opening existing named object without OBJ_OPENIF · ab3df4a2
    • [Kernel] Fix named objects losing their name when one of their handles closes · 1015ca16
    • [Kernel] Write the overlapped result after its length · 8ffcc8ce
    • [Kernel] Keep handle table lookups within the table · 8065131c
    • [Kernel] Don't leak the name lookup's reference in ObReferenceObjectByName · 85e445c7
  • #88 Upstream, lote 11: conteúdo e perfis (nomes validados como no FATX, cabeçalhos do Canary, instalador) · @phforner0
    • [XAM] Fix titles reading a stale creator flag for missing content · 6d0360a6
    • [XAM] Support content headers in canary's current format · 9b6d1089
    • [XAM] Fix content calls leaving outputs stale or failing · f574aa1a
    • [XAM] Fix content creates on in-use root / content calls for other users · 8e3590e8
    • [XAM] Fix content file names that reach past their package · a2f10586
    • [XAM] Store content named with the shared bit under XUID 0 · 15b61d1d
    • [XAM] Fix XamContentGetThumbnail writing the size when it fails or gets a buffer · 8418bdf0
    • [XAM] Fix content requests completing an overlapped with the raw error · 371750c1
    • [XAM] Fix missing content giving the wrong error and SetThumbnail creating it · ea4c2daf
    • [XAM] Fix deleting open content giving the wrong error or missing it's open · a6a95cce
    • [XAM] Fix TRUNCATE_EXISTING recreating content instead of emptying it · 3e240929
    • [XAM] Fix content creates on a root in use leaving no package · 5e3e8453
    • [XAM] Fix XamUserGetName writing nothing for a buffer length of 0 · 67414095
    • [XAM] Fail XamUserGetSigninInfo past the last user with an invalid argument · 40391e23
    • [XAM] Fail XamUserContentRestrictionGetFlags past the last user · 8720f6b9
    • [XAM] Fail profile setting reads for an empty or oversized XUID array · 3ad7575d
    • [XAM] Use the console language and country for profiles without one · d341b28c
    • [XAM] Fail XamUserContentRestrictionGetRating for content type 0 · 75e3ef0b
    • [XAM] Complete XamUserContentRestrictionCheckAccess for content type 0 synchronously · 9c47be94
    • [XAM] Fail XamUserCreateTitlesPlayedEnumerator for an empty slot · 2722ea2c
    • [XAM] Fail XamWriteGamerTile past the last user with function failed · bbfc5750
    • [XAM] Return HRESULTs from XamUserGetSubscriptionType · 5d3fc290
    • [XAM] Fail XamUserGetUserTenure for an empty slot with no such user · 40f3f8e0
    • [XAM] Accept gamer tile keys that aren't hex strings · 30fbe752
    • [XAM] Fix XamPartyGetUserListInternal leaving user list unwritten · aa40e529
    • Content: installed packages take names the content calls accept · bd9c49e4
  • #86 Upstream, lote 12: rede (sockets liberados e fechados, timeouts de socket no Android) · @phforner0
    • [XAM/Net] Fix sockets never being destroyed · 637379ab
    • [Kernel] Close host sockets left open at kernel teardown · 43f8c15d
    • [Kernel/Socket] Set SO_REUSEADDR only on stream sockets · 2ae27cba
    • [XAM/Net] Fix WSA events never being destroyed · b7d5a18f
    • [Net] Accept a one-byte BOOL for SO_BROADCAST · 38c83425
    • Net: socket timeouts kept off the host, integer options in the host's form · 82772119
    • [XAM/Net] Fix titles reading back zero XNet startup parameters · 84970603
    • [XAM/Net] Implement XNetGetBroadcastVersionStatus · bb0a3065
    • Merge branch 'main' into upstream/lote-12 · 1598262b
  • #87 Upstream, lote 13: user mode do XNA (vistas protegidas e flush do TB) · @phforner0
    • [Memory] Keep user mode views inaccessible until they're protected · 31cbd73a
    • [Memory] Keep user mode pages whose entries didn't change across TB flushes · c4df1456
    • [Kernel] Drop every user mode page on an entire TB flush · 2b1835c1
  • #91 Diagnóstico de GPU: pacotes PM4 no log e "Capturar quadro" no APK de diagnóstico · @phforner0
    • GPU: the last packets read go to the log when one can't be executed · 29aaec41
    • Android: the window paint request logs at debug level · 27bd88d3
    • [GPU] Add trace replay and shader bisect tooling · 33ea10d9
    • [GPU] Record the Metal shared memory into frame traces · df177ff9
    • [GPU] Hoist EDRAM snapshot capture into the shared render target cache · becff5cf
    • [GPU] Record used textures into frame traces · 36736d42
    • Diagnostic build: Capture frame writes the next frame's GPU trace · ae1db6d2
    • GPU: frame traces invalidate the readback memory they read · b353aa9b
    • Diagnostic build: a scaled capture says it has no EDRAM · 44c8c947

Built by Xendroid+ #131 from 80237530, signed with the release key.

File Size SHA-256
XenDroid_Release_80237530.apk 40.6 MiB 0faf2b73189725ae03b7f64fdbcf923a8d469b68b79ab11d1b7a1b3c115217ff

Don't miss a new Xendroid-Plus release

NewReleases is sending notifications on new releases.