Commit Graph
10303 Commits
Author SHA1 Message Date
LeandroLP23andClaude Opus 5.5 986ae87c8a fix(pad): pace Bluetooth DualSense haptics reports and keep a failed stream silent
The worker sent a backlog of buffered blocks back to back. It now sends at
most one report 0x32 per 10.67 ms, the length of one 32-frame block at
3 kHz, without a catch-up burst after a pause.

A failed report write cleared the stream-open flag, which sent the vibration
ports to motor rumble. The flag now stays set until the controller
disconnects, so the ports stay silent while the stream is stopped.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 21:47:03 +01:00
e0b0f2b91d fix(pad): send a DualSense haptics report once two blocks are buffered
The 10.672 ms timer took a block only when it fired, so audio arriving in
blocks smaller than 32 haptic frames (16 from a 256-frame legacy port)
regularly found fewer than 32 frames and the report was skipped; catching
up after falling behind sent two reports back to back and left a ~21 ms
hole. The controller, asked to queue only 16 frames, then ran dry, and
the haptics dropped out about once per second on hardware.

The stream thread now waits on a condition variable until two blocks are
buffered and sends one, so reports follow the audio clock, and report
0x32 asks the controller to queue 64 frames (21 ms) to absorb Bluetooth
jitter and the difference between the title's rate and the controller's
crystal. Closing the stream wakes the waiting thread before the join.

Co-authored-by: seradavid <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 21:46:45 +01:00
115c187398 feat(pad): stream vibration ports to a Bluetooth DualSense as haptics reports
Co-Authored-By: beecrepaldi-afk <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 21:46:30 +01:00
Dean 1c03968050 Merge pull request #12918 from Kikoarl/feat/libSceNet-so-dontroute
feat(libSceNet): support SO_DONTROUTE in sceNetSetsockopt and sceNetGetsockopt
2026-11-05 09:00:27 +13:00
Dean 0ba9b059b3 Merge pull request #12903 from BunnyFl/fix/pngdec-chunk-checks
fix(libScePngDec): check PNG chunks as the console does
2026-11-05 09:00:22 +13:00
Dean 8748851eb1 Merge pull request #11662 from LordVersA/feat/libressl-library-init
feat(libSceLibreSsl): implement SSL library init
2026-11-05 09:00:18 +13:00
Dean 0263899e99 Merge pull request #15764 from JJenkx/fix/pad-trigger-effect-mask
fix(libScePad): check only the selected triggers' modes in scePadSetTriggerEffect
2026-11-05 08:21:20 +13:00
Dean d11668dcc6 Merge pull request #15694 from JJenkx/fix/ngs2-ps5-filter-sizes
fix(libSceNgs2): accept the PS5 SDK filter params in libSceNgs2
2026-11-05 08:21:12 +13:00
Dean d0af403307 Merge pull request #14986 from fogydes/fix/libSceVdecSavc2-pointer-validation
fix(libSceVdecSavc2): ignore unwritable version pointers in sceSdecGetVersionSw2
2026-11-05 08:20:22 +13:00
Dean ccef460fe0 Merge pull request #14869 from ntamas94/claude/elegant-pascal-2uae4z
docs(debt): record libSceFios2 init parameters and error mapping from the PS4 module
2026-11-05 08:20:18 +13:00
Dean 52fb23cbb7 Merge pull request #14847 from kallmek3nny/fix/libSceNpWebApi2-push-null-callback
fix(libSceNpWebApi2): refuse a null push-event callback
2026-11-05 08:20:13 +13:00
Dean 44d38bae90 Merge pull request #14224 from zaryabzip/feat/webrtc-rms-level
feat(libwebrtc): implement webrtc::RmsLevel's constructor, destructor, Analyze and Average
2026-11-05 08:19:59 +13:00
Dean dae7849938 Merge pull request #13968 from pushkarreddyy/fix/savedatadialog-getresult-efault
fix(libSceSaveDataDialog): return ARG_NULL from sceSaveDataDialogGetResult for unwritable pointers
2026-11-05 08:19:54 +13:00
Dean 9e70d97449 Merge pull request #13953 from pushkarreddyy/fix/ksem-getvalue-efault
fix(libkernel): return EFAULT from ksem_getvalue for invalid memory pointers
2026-11-05 08:19:49 +13:00
Dean 269419694c Merge pull request #13119 from JJenkx/fix/libc-ordinary-short-character-fields
fix(libc): retain ordinary short character scan fields
2026-11-05 08:19:45 +13:00
Dean 6543b1b697 Merge pull request #12978 from KernelPanicNT/feat/freetype-module-properties
feat(libSceFreeType): support the remaining FreeType module properties
2026-11-05 08:19:40 +13:00
Dean 045eda43dc Merge pull request #12854 from slopgobblercobbler/fix/libkernel-mincore-error-parity
fix(libkernel): enforce FreeBSD 11.4 error precedence and vector copyout in mincore
2026-11-05 08:19:30 +13:00
Dean 8902eb56f7 Merge pull request #12851 from xdCloudy/feat/libSceAudioPropagation-introspection-9
feat(libSceAudioPropagation): implement report and system APIs
2026-11-05 08:19:26 +13:00
Dean 097e86df8b Merge pull request #10779 from stuart-russell/fix/agc-zero-export-format
fix(agc): a zero color export format is not a color export
2026-11-05 08:19:21 +13:00
Dean 5e2f04007b Merge pull request #9326 from erickerxhalli/feat/libkernel-mutex-prioceiling
feat(libkernel): implement pthread_mutex_getprioceiling and setprioceiling
2026-11-05 08:19:17 +13:00
Dean e60b0e0c31 Merge pull request #8630 from Ondra97/codex/fix-savedata-icon-persistence
fix(savedata): persist native save icons
2026-11-05 08:19:12 +13:00
Dean df721d53f2 Merge pull request #7192 from Jev1337/feat/libkernel-host-fault-exception-handlers
feat(libkernel): deliver host faults to sceKernelInstallExceptionHandler handlers
2026-11-05 08:19:08 +13:00
Dean 296b1ac934 Merge pull request #15795 from Pipodi/perf/shader-fault-check-dedup
perf(shader): skip fault checks dominated by the same check
2026-11-05 08:18:59 +13:00
Dean de5f875cab Merge pull request #15783 from mrfelek/perf/agc-moved-input-snapshot-cap
perf(agc): keep moved read-only draw inputs within the draw snapshot cap
2026-11-05 08:18:55 +13:00
Dean 3288b21f88 Merge pull request #15370 from oneandonlydean/fix/windows-deferred-dependency-start
fix(relinker): restore the Windows deferral of #12621 and start deferred dependencies first
2026-11-05 08:18:30 +13:00
Dean 4ba1a7090e Merge pull request #14971 from JJenkx/fix/agc-fuse-front-constant-buffer
fix(agc): keep a front half's embedded constant buffer when fusing geometry halves
2026-11-05 08:18:26 +13:00
Dean 020377bf9b Merge pull request #14265 from Astronaut10/perf/shader-vertex-specialized
perf(shader): emit vertex modules specialized instead of in registration form
2026-11-05 08:18:17 +13:00
Dean ef995b015c Merge pull request #11772 from nekomancer01/fix/avplayer-video-start
fix(libSceAvPlayer): keep the no-sync clock from following audio pulled early
2026-11-05 08:18:12 +13:00
Parsa Radfar 613f73545a docs(libSceLibreSsl): correct pending export count 2026-11-04 21:34:40 +03:30
Parsa Radfar ae8f532e4f feat(libSceLibreSsl): implement SSL library init 2026-11-04 21:34:02 +03:30
pushkarreddyy ad7b2988b5 docs(libkernel): document EFAULT memory validation fallback in ksem_getvalue 2026-11-04 23:13:27 +05:30
pushkarreddyy 04b0899332 docs(libSceSaveDataDialog.native): document host-safety fallback on unwritable result in sceSaveDataDialogGetResult 2026-11-04 23:13:11 +05:30
pushkarreddyy 926d120311 docs(libSceSaveDataDialog.native): document ARG_NULL on unwritable result in sceSaveDataDialogGetResult 2026-11-04 23:13:11 +05:30
Dean 1ff3971d77 Merge pull request #11766 from oneandonlydean/salvage/abstract-local-twitter-json-9470
feat(prx): declare 143 PS5 3.20 exports in libSceAbstractLocal, libSceAbstractTwitter and libSceJson
2026-11-05 06:36:04 +13:00
Dean 92cdaf6337 Merge pull request #11624 from Felipebmaitan/feat/windows-guest-gs-state
feat(libkernel): maintain per-thread guest GS bases on Windows
2026-11-05 06:35:52 +13:00
Dean 7d41521f42 Merge pull request #11621 from B-Howell/codex/opus-missing-functions
feat(libc): implement lfind and lsearch
2026-11-05 06:35:46 +13:00
Dean f2285e86c9 Merge pull request #11613 from noamroger/claude/project-thread-gcmyxo
feat(libSceFreeTypeOt): provide the FreeType trigonometry and outline…
2026-11-05 06:35:40 +13:00
Dean 988e431686 Merge pull request #11388 from nekomancer01/feat/ngs2-hevag
feat(ngs2): parse and decode VAG and HE-VAG waveforms
2026-11-05 06:35:35 +13:00
Dean 6863f295a9 Merge pull request #10749 from ycbuzi/refactor/siginterrupt-libc-internal
refactor(libSceLibcInternal): serve siginterrupt from libSceLibcInternal
2026-11-05 06:35:30 +13:00
Dean 18a6629e2d Merge pull request #10662 from shurhundo/fix/linux-relro-enforcement
fix(relinker): emit PT_GNU_RELRO for Linux output instead of leaving RELRO writable
2026-11-05 06:35:23 +13:00
Dean a68ac8b5bd Merge pull request #10588 from MarcZX10/marc/freetype-track-kerning
feat(libSceFreeType): implement FT_Get_Track_Kerning
2026-11-05 06:35:18 +13:00
Dean 748c6da62f Merge pull request #10395 from MatteoSid/feat/libressl-ec-groups-keys
feat(libSceLibreSsl): implement EC groups and keys for named curves
2026-11-05 06:35:13 +13:00
Dean 1b58cf171b Merge pull request #10392 from GabrielKLBr/feat/libc-legacy-signal-masks
feat(libc): implement legacy signal masks
2026-11-05 06:35:07 +13:00
Dean 0306b66963 Merge pull request #10335 from MarcZX10/codex/libkernel-sys-phys-page-size
feat(libkernel_sys): report physical page size
2026-11-05 06:35:01 +13:00
Dean 806b470399 Merge pull request #10332 from MarcZX10/codex/libkernel-sys-getcwd
feat(libkernel_sys): implement __getcwd
2026-11-05 06:34:56 +13:00
Dean ee42ed3c17 Merge pull request #10265 from JJenkx/windows/libc-pow-fdlibm
fix(libc): compute pow with fdlibm's algorithm, as titles' libc.prx does
2026-11-05 06:34:47 +13:00
Dean 2a01747b61 Merge pull request #10165 from mazen320/fix/libc-codecvt-vtable-104
fix(libc): size the codecvt facet vtable to 104 bytes
2026-11-05 06:34:42 +13:00
Dean a7d4ba2186 Merge pull request #9948 from ntamas94/fix/ps4-net-sockinfo-kernel-sockets
fix(libSceNet): describe sockets made with socket() in sceNetGetSockInfo
2026-11-05 06:34:36 +13:00
Dean eaf2579d0a Merge pull request #9929 from sandivd/fix/libc-syslog-program-name
fix(libc): restore syslog program-name fallback
2026-11-05 06:34:29 +13:00
Dean c37bd59e6f Merge pull request #9537 from DavidSamir/feat/libkernel-sys-revoke
feat(libkernel_sys): implement revoke
2026-11-05 06:34:23 +13:00