Repository navigation
Commit 28d8aa5
authored
Support browse mode and other in-process scenarios for AMD64 apps when running on ARM64 Windows (#14449)
Although NVDA fully functions on Windows 10 ARM64, including interacting with both ARM64 and x86-emulated apps, on Windows 11 particular in-process NVDA features such as browse mode is not available when interacting with AMD64-emulated apps.
For instance, Running AMD64 builds of Firefox, or 1Password, or Chrome on Windows 11 ARM64, browse mode is not available.
The reason for this is that on ARM64 Windows, NVDA only launches an ARM64 nvdaHelperRemoteLoader process for injecting NVDAHelper, not an AMD64 one. This is because in Windows 10 running AMD64 apps was not supported by the OS.
NVDA should fully support AMD64-emulated apps on windows 11.
Description of user facing changes
On Windows 11 ARM64, NVDA's browse mode is now supported in AMD64 apps such as Firefox, Google Chrome, and 1Password.
Description of development approach
• NVDAHelper.py's versionedLib64Path variable has been replaced by versionLibAMD64Path and versionedLibARM64Path variables.
• NVDAHelper.py's RemoteLoader64 class has been renamed to RemoteLoader, and it now takes a loader directory path on construction, so that it is possible to launch NVDAHelperRemoteLoader.exe in either lib64 (AMD64) or libARM64.
• When initializing NVDAHelper, on ARM64, both ARM64 and AMD64 versions of NVDAhelperRemoteLoader are now started, and both are cleaned up on termination.1 parent 304ea7a commit 28d8aa5
3 files changed
Lines changed: 39 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
| 36 | + | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
44 | 46 | | |
45 | 47 | | |
46 | | - | |
| 48 | + | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
480 | 483 | | |
481 | 484 | | |
482 | 485 | | |
483 | | - | |
| 486 | + | |
484 | 487 | | |
485 | | - | |
| 488 | + | |
486 | 489 | | |
487 | 490 | | |
488 | 491 | | |
| |||
500 | 503 | | |
501 | 504 | | |
502 | 505 | | |
503 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
504 | 509 | | |
505 | 510 | | |
506 | 511 | | |
| |||
522 | 527 | | |
523 | 528 | | |
524 | 529 | | |
| 530 | + | |
525 | 531 | | |
526 | | - | |
| 532 | + | |
| 533 | + | |
527 | 534 | | |
528 | 535 | | |
529 | 536 | | |
| |||
587 | 594 | | |
588 | 595 | | |
589 | 596 | | |
590 | | - | |
591 | | - | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
592 | 608 | | |
593 | 609 | | |
594 | | - | |
| 610 | + | |
| 611 | + | |
595 | 612 | | |
596 | 613 | | |
597 | 614 | | |
598 | 615 | | |
599 | 616 | | |
600 | 617 | | |
601 | | - | |
602 | | - | |
603 | | - | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
604 | 624 | | |
605 | 625 | | |
606 | 626 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| 90 | + | |
89 | 91 | | |
90 | 92 | | |
91 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
0 commit comments