Repository navigation
VCFG v2.34
SHA256:
VCFG_v2.34.pkg(6619136 B)ed42db8514e901667e7645c620b6a8a19fa63519276d4de64068dd949b817695
English (EN)
Classic Frame Generation Plugin (vcfg_classic.prx)
CUSA10249— Fixed missing in-game audio and locked volume slider (stuck at0) in Frame Generation mode:- Since
v2.28, the title's6 MB(0x600000,type=0) audio allocation (Alloc 5) received syntheticFlexibleMemoryinstead of physicalDirectMemory, preventing the audio subsystem from starting. - Added
audio_fix = 1(enabled by default forCUSA10249only; configurable viaaudio_fix = 0/1/2inconfig-CUSA10249.ini): pre-shaves Arena 2 (0x15800000 -> 0x15200000) by6 MBand defers mapping the0x600000FlexibleMemorytail until the firstsceVideoOutRegisterBufferscall (after the title's post-Arena-4FlexibleMemorybudget check), while lazily allocatingg_pre_gpu(0x20000) andg_pre_work(0x190000) at frame120from the low sub-2 MBDirectMemoryregion. Verified on console (Alloc 5receives realDirectMemoryphys=0x136400000, FG + audio + volume slider work).
- Since
CUSA13323/CUSA11456— Built-in verified FG profile, HDR10 format-switch support, and 2-crash native fallback:- Set default profile for the
CUSA11456family (CUSA13323,CUSA11456) toshave_mode = 2, reg_mode = 2, present_copy = 2, two_buffer = 0, pace_order = 3, fps_lock = 30, with automatic fallback to native (framegen = 0,early_crashes = 2) after two consecutive early crashes (flips < 720) instead of rolling back toshave_mode = 0. - Added support for runtime scanout format switching (including HDR10
fmt=0x88740000,dfmt=9) onsceVideoOutRegisterBufferscalls withstartIndex > 0by re-registering VCFG's buffer atg_mbasewith the newVoAttr, fixedLATENCYtrace lines to reportFG offwhen FG is inactive/inert, and deduplicatedalloc_pbuf_history skippedlog lines. Verified on console (~50 fpsFG from25 fpsbase, including HDR10).
- Set default profile for the
CUSA08809,CUSA13323—shave_mode = 2(LATE (F120)) fixed-rangeDirectMemoryrelease and early-crash auto-rollback:- Allowed releasing
g_pre_memundershave_mode = 2when the game requests an exact fixed physical range ((e - s) < len + 0x800000), preventingCUSA08809fixed-range starvation atf:0. - Extended
crash_sig_handlerrollback ofshave_mode = 2 -> 0(reg_mode = 0,shave2_failed = 1,adapt_ver = 234) to all early FG crashes (flips < 720) even whenalloc_fail == 0. - Prevented
adapt-<TITLE>.inifrom raisingshave_modeorreg_modeabove manual settings (manual_mode = 1inconfig-<TITLE>.ini), while allowingshave2_failed = 1to safely roll backshave_mode = 2 -> 0.
- Allowed releasing
- Memory Valve,
FlexibleMemoryHeadroom, andVirtualQueryFixes:- Removed partial
FlexibleMemorytail mappings (PARTIAL-MAPwithPROT_NONEholes), enforcedflex_av >= need_tailbeforeshave_game_alloc, and addedmin_flex_reserve(8 MB/3.75 MB) inalloc_pbuf_history(CUSA13323,CUSA11456,CUSA00341,CUSA10249,CUSA24705). - Restored extended
prefer_half(50%RGB565g_pbufhistory whenflex_av < 24 MBorflex_av < full_sz + 16 MB) for 1080p/1440p and 4K titles (CUSA10249,CUSA03041,CUSA08519,CUSA09175), and added on-demandrelease_pbufreclamation insideshave_game_alloc(CUSA13323,CUSA11456). - Replaced the overestimated
WORK_SZ_8 + 4 MBcheck insafe_try_activatewith the exactWORK_SZ_8(0x190000)DirectMemoryrequirement sosafe modeactivates atf:120when0x1d0000is available (CUSA13323,CUSA11456). - Added partial
sceKernelMunmapandva_end/arena_va_endtrimming inunmap_shave_flex_vmapson partialReleaseDirectMemoryof a shaved tail, and restrictedsceKernelVirtualQuery_hookoverride toq_va < ave, fixingSIGILLcrashes onCUSA12605andCUSA10213. - Enforced a cumulative
max_total_shavecap (36 MBbase / up to64 MBwithFlexibleMemoryheadroom) instead ofalready_shaved + 36 MB.
- Removed partial
VideoOutBuffer Registration & Present-Copy (pcopy) Safety:- Bounded
IS_MID(b)andon_our_bufbyg_mbuf_state == 1andb < g_nbuf, resetg_mbase = 16/g_nmid = 0/ 2-buffer state when a title re-registersstartIndex == 0natively without extra buffers (CUSA10249), and preservedg_nbufwhen a secondary buffer group (startIndex > 0) is registered (CUSA07410). - Required
g_pcopy_k >= 2(nm >= 4: at least 2mid+ 2copybuffers) for scanout present-copy, falling back tog_pbufhistory whennm < 4(g_pcopy_k == 1) to eliminate the frame122WaitFlipDoneGPU self-deadlock on 2-buffer titles (CUSA03468,CUSA08809).
- Bounded
- Third-Party
.prxCrash Attribution:- Detected crashes inside external
.prxplugins (THIRD_PARTY_PRX_FAULT) incrash_sig_handlerand skippedSELF-ADAPTso third-party plugin faults do not corruptadapt-<TITLE>.ini(CUSA00419,CUSA07408,CUSA16579). - Synchronized game-internal
.prxexclusions (Il2CppUserAssemblies.prx,MonoAssembliesPS4.prx,PS4Util.prx,fullgame.prx,gnmscale_plugin.prx,gs_resident_plugin.prx,steamnetworkingsockets.prx,Party.prx,logiWheel.prx,EOSSDK*,libfmod*,libAk*) betweenvcfg_classic.prxand the launcher so crashes inside a title's own modules (CUSA18824/CUSA05088family) still triggerSELF-ADAPT.
- Detected crashes inside external
- Motion Estimation & Contour Filter Shaders:
- Added texture-normalized cost (
3_no_dc_tex) tome1andmf8inmode 8to reduce foreground contour haloing (CUSA08519,CUSA05571).
- Added texture-normalized cost (
VCFG Launcher (VCFG_v2.34.pkg) & Build System
- Global
"VCFG IS TURNED OFF"Banner & Config Write Protection:- Added a red
"VCFG IS TURNED OFF - PRESS CROSS ON 04 PLUGIN TO ENABLE"banner across all launcher tabs,"VCFG TURNED OFF"status on game cards, and"TURNED OFF"status on04 PLUGINwhile/data/bb_probe/vcfg_offis present, and blocked config writes while VCFG is turned off.
- Added a red
- Complete VCFG Uninstall / Clean While Preserving Logs & Foreign Plugins:
Square(REMOVE) andR2×2(CLEAN) now remove all VCFG binaries,plugins.inisections/backups,config*.ini,adapt-*.ini,safe-*, andprofiles/*without recreating configs on exit (Options), while preserving all logs in/data/bb_probe/and third-party plugins.
- Advisor Fixes:
- Never recommend or restore
shave_mode = 2(LATE (F120)) aftershave2_failed = 1or a crash undershave_mode = 2(CUSA06548,CUSA39420,CUSA25651). - Match real
"arena shave #"andshave > 0log lines inhas_shave_log(CUSA18000,CUSA07408). - Always delete stale
adapt-<TITLE>.iniwhen applying Advisor recommendations viaR2, including whenmanual_mode = 1. - Prioritize
INERT:log diagnostics beforesafe_state > 0and handleSAFE NO WORK/DISPLAY MEM(CUSA13323,CUSA03694). - Prevent false 2-buffer detection (
is_2b_log) on 3-buffer titles that register 2 splash buffers at startup (CUSA00341,CUSA00918,CUSA10249). - Display
"EARLIEST"and"ALL BUFFERS"labels whenrec_shave_mode == 0orrec_reg_mode == 0. - Detect third-party
.prxfaults in crash logs regardless ofalloc_fail, while ignoring the"LOADED MODULES"section and game-internal.prxlibraries (CUSA18534,CUSA00419,CUSA07408).
- Never recommend or restore
- Reproducible Build & Version Upgrade:
- Bumped
VERSIONfrom2.33to2.34and passed relative ELF paths tocreate-fselfso.prxand.pkgSHA256 hashes are worktree-independent. - Expanded automated test coverage to
106realCUSAxxxxxboot traces and added a native host test suite for Launcher Advisor, INI handling, and uninstall.
- Bumped
Русский (RU)
Классический плагин генерации кадров (vcfg_classic.prx)
CUSA10249— Исправлен звук и заблокированный на0ползунок громкости в режиме Frame Generation:- Начиная с
v2.28, при включённом FG буферу звукового движка игры (Alloc 5,len=0x600000,type=0) доставалась синтетическаяFlexibleMemoryвместо физическойDirectMemory, из-за чего звуковой движок не стартовал, а громкость в настройках игры была заблокирована на0. - Добавлен фикс
audio_fix = 1(включён по умолчанию только дляCUSA10249; переключается черезaudio_fix = 0/1/2вconfig-CUSA10249.ini): Арена 2 (0x15800000 -> 0x15200000) подрезается на6 МБ, а маппинг хвоста0x600000изFlexibleMemoryоткладывается до первого вызоваsceVideoOutRegisterBuffers(после проверки бюджетаFlexibleMemoryигрой за 4-й ареной); выделениеg_pre_gpu(0x20000) иg_pre_work(0x190000) перенесено на кадрf:120из нижнего суб-2 МБокнаDirectMemory. Проверено на консоли (Alloc 5получает настоящуюDirectMemoryphys=0x136400000, FG, звук и ползунок громкости работают).
- Начиная с
CUSA13323/CUSA11456— Встроенный рабочий профиль FG, поддержка переключения в HDR10 и авто-откат в натив после 2 крашей:- Для семейства
CUSA11456(CUSA13323,CUSA11456) задан встроенный профильshave_mode = 2, reg_mode = 2, present_copy = 2, two_buffer = 0, pace_order = 3, fps_lock = 30и автоматический переход в нативный режим (framegen = 0,early_crashes = 2) после 2 ранних крашей подряд (flips < 720) вместо отката в заведомо падающийshave_mode = 0. - Добавлена поддержка смены scanout-формата (включая HDR10
fmt=0x88740000,dfmt=9) при вызовеsceVideoOutRegisterBuffersсstartIndex > 0через перерегистрацию буфера плагина наg_mbaseс новымVoAttr, исправлен статусFG offв строкахLATENCYпри неактивном FG и убран повторный спамalloc_pbuf_history skippedвboot-<TITLE>.txt. Проверено на консоли (~50 fpsFG при25 fpsигре, включая HDR10).
- Для семейства
CUSA08809,CUSA13323— Освобождениеg_pre_memдля фиксированных диапазонов приshave_mode = 2и авто-откат на ранних крашах:- Разрешена отдача
g_pre_memприshave_mode = 2, когда игра запрашивает узкий фиксированный физический диапазон ((e - s) < len + 0x800000), что устраняет цикл паденийCUSA08809наf:0. - Условие отката
shave_mode = 2 -> 0(reg_mode = 0,shave2_failed = 1,adapt_ver = 234) вcrash_sig_handlerрасширено на все ранние краши FG (flips < 720), даже еслиalloc_fail == 0. - При
manual_mode = 1вconfig-<TITLE>.iniфайлadapt-<TITLE>.iniбольше никогда не повышаетshave_modeилиreg_modeповерх ручных настроек, но приshave2_failed = 1безопасно откатываетshave_mode = 2 -> 0.
- Разрешена отдача
- Клапан памяти, резерв
FlexibleMemoryиVirtualQuery:- Удалён частичный маппинг хвоста
PARTIAL-MAPс дыройPROT_NONE, добавлена проверкаflex_av >= need_tailпередshave_game_allocи резервmin_flex_reserve(8 МБ/3.75 МБ) вalloc_pbuf_history(CUSA13323,CUSA11456,CUSA00341,CUSA10249,CUSA24705). - Восстановлено расширенное условие
prefer_half(50%RGB565g_pbufприflex_av < 24 МБилиflex_av < full_sz + 16 МБ) для 1080p/1440p и 4K-режимов (CUSA10249,CUSA03041,CUSA08519,CUSA09175), а также возвратg_pbufчерезrelease_pbufвнутриshave_game_allocпри нехваткеFlexibleMemory(CUSA13323,CUSA11456). - В
safe_try_activateзавышенная проверкаWORK_SZ_8 + 4 МБзаменена на точное требованиеWORK_SZ_8(0x190000), что позволяет активироватьsafe modeнаf:120при наличии0x1d0000DirectMemory(CUSA13323,CUSA11456). - В
unmap_shave_flex_vmapsдобавлен частичныйsceKernelMunmapи подрезкаva_end/arena_va_endпри частичномReleaseDirectMemoryвнутриshave-хвоста, а вsceKernelVirtualQuery_hookоставлено строгое условиеq_va < ave, что устраняетSIGILLвCUSA12605иCUSA10213. - Введён кумулятивный потолок
max_total_shave(36 МБбазово / до64 МБпри запасеFlexibleMemory) вместоalready_shaved + 36 МБ.
- Удалён частичный маппинг хвоста
- Безопасность регистрации буферов
VideoOutиpresent-copy(pcopy):- Макрос
IS_MID(b)иon_our_bufограничены условиямиg_mbuf_state == 1иb < g_nbuf, добавлен сбросg_mbase = 16/g_nmid = 0и 2-буферного состояния при нативной перерегистрацииstartIndex == 0без дополнительных буферов (CUSA10249), а также сохранениеg_nbufпри регистрации второй группыstartIndex > 0(CUSA07410). - Для
scanout present-copyтеперь требуетсяg_pcopy_k >= 2(nm >= 4: минимум 2mid+ 2copyбуфера); приnm < 4(g_pcopy_k == 1) используется история черезg_pbuf, что устраняет 100% GPU self-deadlock наWaitFlipDoneна кадреf:122в 2-буферных играх (CUSA03468,CUSA08809).
- Макрос
- Атрибуция падений в сторонних
.prxплагинах:- В
crash_sig_handlerдобавлено определение крашей внутри сторонних.prxмодулей (THIRD_PARTY_PRX_FAULT) с пропускомSELF-ADAPT, чтобы падения внешних плагинов не портилиadapt-<TITLE>.ini(CUSA00419,CUSA07408,CUSA16579). - Список собственных игровых
.prxмодулей (Il2CppUserAssemblies.prx,MonoAssembliesPS4.prx,PS4Util.prx,fullgame.prx,gnmscale_plugin.prx,gs_resident_plugin.prx,steamnetworkingsockets.prx,Party.prx,logiWheel.prx,EOSSDK*,libfmod*,libAk*) синхронизирован междуvcfg_classic.prxи лаунчером, чтобы краши во внутренних модулях игры (CUSA18824/ семействоCUSA05088) штатно обрабатывалисьSELF-ADAPT.
- В
- Шейдеры оценки движения и контурного фильтра:
- В шейдеры
me1иmf8дляmode 8добавлена текстурно-нормированная оценка (3_no_dc_tex), ослабляющая ореолы на контурах переднего плана (CUSA08519,CUSA05571).
- В шейдеры
Лаунчер VCFG (VCFG_v2.34.pkg) и система сборки
- Глобальный баннер
"VCFG IS TURNED OFF"и защита конфигов в выключенном состоянии:- Пока активен маркер
/data/bb_probe/vcfg_off, во всех вкладках лаунчера отображается красный баннер"VCFG IS TURNED OFF - PRESS CROSS ON 04 PLUGIN TO ENABLE", на карточках игр —"VCFG TURNED OFF", на вкладке04 PLUGIN— статус"TURNED OFF", а перезапись конфигов заблокирована до включения плагина поCross (X).
- Пока активен маркер
- Полное удаление файлов VCFG по
Square/R2×2с сохранением логов и сторонних плагинов:- Действия
Square(REMOVE) иR2×2(CLEAN) полностью удаляют бинарникиvcfg*.prx, секции и бэкапы VCFG вplugins.ini,config*.ini,adapt-*.ini,safe-*иprofiles/*без повторного создания конфигов при выходе поOptions, сохраняя все логи в/data/bb_probe/и сторонние плагины.
- Действия
- Исправления Advisor в лаунчере:
- Запрещена рекомендация и восстановление
shave_mode = 2(LATE (F120)) приshave2_failed = 1или после краша наshave_mode = 2(CUSA06548,CUSA39420,CUSA25651). - В
has_shave_logдобавлено распознавание реальных строк"arena shave #"иshave > 0(CUSA18000,CUSA07408). - При применении рекомендаций Advisor по
R2(do_apply_advice) устаревшийadapt-<TITLE>.iniудаляется безусловно, в том числе приmanual_mode = 1. - Проверка
INERT:логов выполняется приоритетнееsafe_state > 0, добавлена обработкаSAFE NO WORK/DISPLAY MEM(CUSA13323,CUSA03694). - Устранено ложное срабатывание
is_2b_log = 1на 3-буферных играх со стартовым сплэш-экраномnum=2(CUSA00341,CUSA00918,CUSA10249). - Для нулевых
rec_shave_mode == 0иrec_reg_mode == 0в карточке Advisor выводятся корректные подписи"EARLIEST"и"ALL BUFFERS". - Сторонние
.prxмодули в crash-логах определяются независимо отalloc_fail, при этом секция"LOADED MODULES"и собственные игровые библиотеки игнорируются (CUSA18534,CUSA00419,CUSA07408).
- Запрещена рекомендация и восстановление
- Воспроизводимая сборка и обновление версии:
- Версия в
VERSIONобновлена с2.33до2.34, а вcreate-fselfпередаются относительные пути ELF для независимостиSHA256от пути worktree. - Набор регрессионных бут-трасс расширен до
106реальныхCUSAxxxxxтрасс, добавлен нативный тестовый харнесс для Advisor, INI и деинсталляции лаунчера.
- Версия в