Re: Arm64 NVDA is running with x86 emulation>


valiant8086
 

Hi.


Gotcha. It does show 3 lib folders one says arm64 on it. What I got my information from was the task manager has a column that shows x86, x64, arm32 or arm64, or in the case of the latest office apps, Winword.exe for instance shows arm64 (x86 compatibility) what ever that means. It just says NVDA.exe is x86.


Anyway, you cleared it up. I just mostly wanted to be sure I wasn't running something different than what was the most optimal for this setup. Thanks



Cheers:
Aaron Spears, AKA Valiant8086 General Partner at Valiant Galaxy Associates "we make (VERY GOOD AUDIOGAMES) for the blind comunity" http://valiantGalaxy.com
On 2/16/2022 10:27 AM, Joseph Lee wrote:

Hi,

Actually, here's the answer:

  1. The "most common denominator" for PC processor architecture is x86.
  2. Windows 10 on ARM supports three architectures: 64-bit ARM, 32-bit ARM, and 32-bit x86 via emulation.
  3. NVDA can run on both x86 and ARM by being an x86 app with provisions to support other architectures in certain scenarios.
  4. There are three folders starting with the string "lib" in NVDA's program files folder: lib (x86). lib64 (x64), and libArm64.

Answer: NVDA itself is an x86 application. But that's not the complete picture: it is a hybrid ap in the sense of supporting multiple architectures. While NVDA is a 32-bit application becasue of Python interpreter, it comes with DLL's to deal with certain apps, notably ones requiring screen scraping (display model) and accessing things via code injection. These facilities require talking to apps in their native languages, so NVDA does come with an ARM64 version of remote DLL's.

Cheers,

Joseph

Join nvda@nvda.groups.io to automatically receive all group messages.