RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

Accessibility. NVDA doesn't work with 32-bit version of RetroArch

Open sevapopov2 opened this issue 1 month ago • 3 comments

Is there an existing issue for this?

  • [x] This is a bug in RetroArch frontend
  • [x] I have searched the existing issues

Description

NVDA doesn't work with 32-bit version of RetroArch.

Expected behavior

NVDA works with RetroArch.

Steps to reproduce the bug

  1. Download 32-bit version of RetroArch
  2. Download NVDAControllerClient
  3. Put NVDAControllerClient.dll from X86 folder into RetroArch's folder.
  4. Set accessibility_enable parameter to true in RetroArch.cfg file
  5. Launch RetroArch

Version/Commit

1.22.0

Bisect Results

No, it never worked with any versions.

Present in the nightly version

I don't know

Platform & operating system

Windows 11 25H2

Affected Cores

No response

Environment information

No response

Relevant log output

[INFO] RetroArch 1.22.0 (Git 46c5353)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 7 5825U with Radeon Graphics         
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2 
[INFO] Version: 1.22.0
[INFO] Git: 46c5353
[INFO] Built: Nov 13 2025
[INFO] =================================================
[INFO] [Input] Found input driver: "dinput".
[INFO] [Environ] SET_PIXEL_FORMAT: RGB565.
[INFO] [Core] Version of libretro API: 1, Compiled against API: 1
[INFO] [Core] Geometry: 320x240, Aspect: 1.333, FPS: 60.00, Sample rate: 48000.00 Hz.
[INFO] [Video] Set video size to: 960x720.
[INFO] [XInput] Found XInput v1.4.
[INFO] [Input] Found joypad driver: "dinput".
[INFO] [D3D11] Device created (Feature Level: 11.0)
[INFO] [D3D11] Flip model and tear control supported and enabled.
[INFO] [D3D11] Requesting 1 maximum frame latency, using 1.
[INFO] [D3D11] Found GPU at index 0: "AMD Radeon (TM) Graphics".
[INFO] [D3D11] Found GPU at index 1: "Microsoft Basic Render Driver".
[INFO] [D3D11] Using GPU index 0.
[INFO] [Video] Found display server: "win32".
[INFO] [Audio] Set audio input rate to: 48000.00 Hz.
[INFO] [WASAPI] Client initialized (shared, PCM, 48000Hz, 64.0ms).
[INFO] [Audio] Started synchronous audio driver.
[INFO] [Microphone] Initialized microphone driver.
[INFO] [Display] Found display driver: "d3d11".
[INFO] [MIDI] Output device: "Microsoft GS Wavetable Synth".
[INFO] [Playlist] Loading favorites file: "C:\Games\retro games\win32\RetroArch-Win32\playlists\builtin\content_favorites.lpl".
[INFO] [Playlist] Loading history file: "C:\Games\retro games\win32\RetroArch-Win32\playlists\builtin\content_history.lpl".
[INFO] [Playlist] Loading history file: "C:\Games\retro games\win32\RetroArch-Win32\playlists\builtin\content_image_history.lpl".
[INFO] [Playlist] Loading history file: "C:\Games\retro games\win32\RetroArch-Win32\playlists\builtin\content_music_history.lpl".
[INFO] [Playlist] Loading history file: "C:\Games\retro games\win32\RetroArch-Win32\playlists\builtin\content_video_history.lpl".
[INFO] [Config] Saved config to "C:\Games\retro games\win32\RetroArch-Win32\retroarch.cfg".
[INFO] [Core] Unloading core...
[INFO] [Core] Unloading core symbols...

sevapopov2 avatar Nov 16 '25 09:11 sevapopov2

Hi,

Indeed, the 32 bit version does not have the dll like the 64 bit version

7z l ./RetroArch.7z | grep nvdaController
2025-11-16 10:42:49 ....A       153600               RetroArch-Win64/nvdaControllerClient64.dll

@BarryJRowe Any thoughts for why we don't have the dll for RA 32 bit ?

Thank you.

Source and related commit.

gouchi avatar Nov 16 '25 13:11 gouchi

Hello, @gouchi Thank you for paying attention to the issue! It is really important to fix since there are 2 issues that are preventing RetroArch to be used normally without a screen reader if NVDA cannot be or is not used:

  • There is a big latency when using SAPI 5 #9855
  • SAPI 5 doesn't work with Russian and languages that are not based on English characters #18394 and this issue.

Could you please look into these issues if possible? If NVDA can be implemented in 32-bit version of RetroArch that would be really helpful. I would like to use the version of RetroArch that is 32-bit and is used with Kaillera netplay which is accessible for NVDA but I cannot use it normally because this issue and other issues provided above. Thank you!

sevapopov2 avatar Nov 16 '25 14:11 sevapopov2

Hi @BarryJRowe , do you know why the NVDA dll is not shipped for the 32 bit version RA ?

Thank you.

gouchi avatar Dec 06 '25 19:12 gouchi