Windows ARM64 - Cefclient Build Target

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

Windows ARM64 - Cefclient Build Target

Postby leeroy » Thu Dec 05, 2024 11:20 am

I have been tasked with exploring the possibility of adding Windows ARM64 support to our application, which is largely based on the cefclient example. When attempting to build CEF without including the cefsimple build-target, the process fails with the following error message:

A client distribution cannot be generated if --build-target excludes cefsimple.

This raises two questions:
1. Is there something fundamental about applications based on cefclient that makes them incompatible with ARM64 architecture?
2. We prefer to include cefclient in our build process as a baseline test to ensure there are no issues with the vanilla cefclient in our setup and have a bases for comparison if we observe any odd bugs.

Thanks!
leeroy
Expert
 
Posts: 116
Joined: Mon Jan 06, 2020 6:27 pm

Re: Windows ARM64 - Cefclient Build Target

Postby magreenblatt » Thu Dec 05, 2024 11:52 am

The cefclient app uses some APIs that are unavailable on Windows ARM64. You can try building cefclient on ARM64 using a binary distribution to see what fails currently.
magreenblatt
Site Admin
 
Posts: 13001
Joined: Fri May 29, 2009 6:57 pm

Re: Windows ARM64 - Cefclient Build Target

Postby leeroy » Thu Dec 05, 2024 4:40 pm

Thank you, @magreenblatt. I manually compiled the vanilla cefclient for ARM64, and at first glance, it appears to run smoothly (at least on a colleagues arm64 windows laptop). Could you provide more details or docs on which APIs are currently unavailable if it's not too onerous?
leeroy
Expert
 
Posts: 116
Joined: Mon Jan 06, 2020 6:27 pm

Re: Windows ARM64 - Cefclient Build Target

Postby ndesktop » Fri Dec 06, 2024 6:20 am

leeroy wrote:Thank you, @magreenblatt. I manually compiled the vanilla cefclient for ARM64, and at first glance, it appears to run smoothly (at least on a colleagues arm64 windows laptop). Could you provide more details or docs on which APIs are currently unavailable if it's not too onerous?

Check if is running native and not emulated.
ndesktop
Master
 
Posts: 904
Joined: Thu Dec 03, 2015 10:10 am

Re: Windows ARM64 - Cefclient Build Target

Postby leeroy » Fri Dec 06, 2024 12:02 pm

The application is running natively on a Snapdragon Windows 11 laptop. In the Task Manager's Details tab, both cefsimple and cefclient processes are listed with the architecture as ARM64. As expected, these binaries fail to run on x64 Windows, producing an error, which is consistent with my expectations. However, I’m uncertain about potential concerns or limitations when building an app based on cefclient. I’d prefer not to confirm support without a clearer understanding of any constraints.
leeroy
Expert
 
Posts: 116
Joined: Mon Jan 06, 2020 6:27 pm

Re: Windows ARM64 - Cefclient Build Target

Postby linweiliang » Fri Jan 17, 2025 2:49 am

leeroy wrote:I have been tasked with exploring the possibility of adding Windows ARM64 support to our application, which is largely based on the cefclient example. When attempting to build CEF without including the cefsimple build-target, the process fails with the following error message:

A client distribution cannot be generated if --build-target excludes cefsimple.

This raises two questions:
1. Is there something fundamental about applications based on cefclient that makes them incompatible with ARM64 architecture?
2. We prefer to include cefclient in our build process as a baseline test to ensure there are no issues with the vanilla cefclient in our setup and have a bases for comparison if we observe any odd bugs.

Thanks!



Here is my script。Why does this prompt appear when using automated script execution。
set CEF_ENABLE_ARM64=1
set GYP_DEFINES=target_arch=arm64
set GYP_MSVS_VERSION=2022
set DEPOT_TOOLS_UPDATE=0
set PATH=C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64;%PATH%

@python .\automate\automate-git.py ^
--download-dir=.\download ^
--depot-tools-dir=.\depot_tools ^
--branch=4240 ^
--no-build ^
--no-distrib ^
--arm64-build ^
--build-target=cefsimple

D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin>set CEF_ENABLE_ARM64=1

D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin>set PATH=C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64;C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64;C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64\Scripts;C:\Program Files\Volta\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Git\Git\cmd;C:\Python32;C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\devenv.exe;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Program Files\TortoiseGit\bin;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;C:\windows\system32\HWAudioDriver\;C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\;C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64\Scripts\;C:\Users\linweiliang02\AppData\Local\Programs\Python\Python312-arm64\;C:\Users\linweiliang02\AppData\Local\Volta\bin;D:\vscode\Microsoft VS Code\bin;C:\Strawberry\perl\bin;C:\Users\linweiliang02\AppData\Local\nvs\;C:\Program Files\7-Zip;C:\Program Files\CMake\bin;C:\Users\linweiliang02\AppData\Local\Microsoft\WindowsApps;
--> Download Directory: D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\download
--> Depot Tools Directory: D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools
--> Updating depot_tools
-------- Running "update_depot_tools.bat" in "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools"...
error: pathspec 'origin/master' did not match any file(s) known to git
Failed to update depot_tools.
-------- Running "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools\git.bat config --get rem--> Download Directory: D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\download
--> Depot Tools Directory: D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools
--> Updating depot_tools
-------- Running "update_depot_tools.bat" in "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools"...
error: pathspec 'origin/master' did not match any file(s) known to git
Failed to update depot_tools.
-------- Running "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools\git.bat config --get rem--> Depot Tools Directory: D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools
--> Updating depot_tools
-------- Running "update_depot_tools.bat" in "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools"...
error: pathspec 'origin/master' did not match any file(s) known to git
Failed to update depot_tools.
-------- Running "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools\git.bat config --get remerror: pathspec 'origin/master' did not match any file(s) known to git
Failed to update depot_tools.
-------- Running "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools\git.bat config --get remote.origin.url" in "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\download\cef"...
Traceback (most recent call last):
-------- Running "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\depot_tools\git.bat config --get remote.origin.url" in "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\download\cef"...
Traceback (most recent call last):
ote.origin.url" in "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\download\cef"...
Traceback (most recent call last):
File "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\automate\automate-git.py", line 1163, in <moduTraceback (most recent call last):
File "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\automate\automate-git.py", line 1163, in <modu File "D:\ARM\cef\baidu\netdisk\pc-lib-cef\origin\automate\automate-git.py", line 1163, in <module>
raise Exception(
Exception: Requested CEF checkout URL https://bitbucket.org/chromiumembedded/cef.git does not match existing URL Unknown
linweiliang
Newbie
 
Posts: 1
Joined: Fri Jan 17, 2025 2:20 am


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 83 guests