Closed hamzabadshah1 closed 1 year ago
By that we mean the Immersion itself is not working
Correct
What gecko version are you using, the one mentioned in the repo?
Have you tried the packages we distribute? That's working fine in there, so it must be some issue on your side when building the packages.
Yes, I am using picoxr arm 64 debug Previously it wasn't working, then I added openXR Sdk in third_party folder, then the app works.
App is working fine with everything except immersive VR.
@svillar We have created a project and added open-XR sdk as mentioned in Wolvic official GitHub (third_party/picoxr Pico OpenXR Mobile SDK (should contain include and libs folders, among other things that are not necessary for Wolvic)
Link to sdk is : https://developer-global.pico-interactive.com/sdk?deviceId=1&platformId=3&itemId=11 In project structure : /third_party/picoxr ( containing include and libs folders ) Build variant : picoxrArm64WorldgeckoGenericdebug ABI : arm64-v8a
Result : Application is running successfully, but immersive VR is not functional.
@svillar We have created a project and added open-XR sdk as mentioned in Wolvic official GitHub (third_party/picoxr Pico OpenXR Mobile SDK (should contain include and libs folders, among other things that are not necessary for Wolvic)
Link to sdk is : https://developer-global.pico-interactive.com/sdk?deviceId=1&platformId=3&itemId=11 In project structure : /third_party/picoxr ( containing include and libs folders ) Build variant : picoxrArm64WorldgeckoGenericdebug ABI : arm64-v8a
Result : Application is running successfully, but immersive VR is not functional.
Right, but my question still stands. Check the Setup instructions. The first two paragraphs were it describes the gecko build to use.
Then after that you have to also do the steps described in local development in order to be able to use the locally build gecko version.
@svillar I am using geckoview from Mozilla-central. While I added that inside local.properties, I got this error: Collecting glean-sdk==52.4.2 Using cached glean_sdk-52.4.2-cp36-abi3-macosx_10_7_x86_64.whl (913 kB) Collecting semver>=2.13.0 Using cached semver-3.0.0-py3-none-any.whl (17 kB) Collecting glean-parser~=7.1 Using cached glean_parser-7.1.0-py3-none-any.whl (93 kB) Requirement already satisfied: appdirs>=1.4 in ./third_party/python/appdirs (from glean-parser~=7.1->glean-sdk==52.4.2) (1.4.4) Requirement already satisfied: Click>=7 in ./third_party/python/click (from glean-parser~=7.1->glean-sdk==52.4.2) (7.1.2) Requirement already satisfied: diskcache>=4 in ./third_party/python/diskcache (from glean-parser~=7.1->glean-sdk==52.4.2) (4.1.0) Requirement already satisfied: Jinja2>=2.10.1 in ./third_party/python/Jinja2 (from glean-parser~=7.1->glean-sdk==52.4.2) (2.11.3) Requirement already satisfied: MarkupSafe<=2.0.1,
@svillar I am using geckoview from Mozilla-central. While I added that inside local.properties, I got this error: Collecting glean-sdk==52.4.2 Using cached glean_sdk-52.4.2-cp36-abi3-macosx_10_7_x86_64.whl (913 kB) Collecting semver>=2.13.0 Using cached semver-3.0.0-py3-none-any.whl (17 kB) Collecting glean-parser~=7.1 Using cached glean_parser-7.1.0-py3-none-any.whl (93 kB) Requirement already satisfied: appdirs>=1.4 in ./third_party/python/appdirs (from glean-parser~=7.1->glean-sdk==52.4.2) (1.4.4) Requirement already satisfied: Click>=7 in ./third_party/python/click (from glean-parser~=7.1->glean-sdk==52.4.2) (7.1.2) Requirement already satisfied: diskcache>=4 in ./third_party/python/diskcache (from glean-parser~=7.1->glean-sdk==52.4.2) (4.1.0) Requirement already satisfied: Jinja2>=2.10.1 in ./third_party/python/Jinja2 (from glean-parser~=7.1->glean-sdk==52.4.2) (2.11.3) Requirement already satisfied: MarkupSafe<=2.0.1,
I don't see any error there.
When you say "geckoview from Mozilla-central" I guess you've downloaded gecko from the official mozilla repos. In that case it won't work. As the instructions metion you have to use this repo instead.
Hi @svillar Thanks for mentioning this repo for us. I have tried adding this as well in local.properties but it doesn't work for us. What we see so far in the project is this , gecko view is already adding by default in the project automatically. See here : In build.gradle file.
// gecko
def branch = "nightly" // "nightly" or "beta"
geckoImplementation deps.gecko_view."${branch}_x86_64"
geckoImplementation deps.gecko_view."${branch}_arm64"
configurations.all {
resolutionStrategy.capabilitiesResolution.withCapability('org.mozilla.geckoview:geckoview') {
def abi = getName().toLowerCase().contains('x86_64') ? 'x86_64' : 'arm64'
def candidate = "geckoview-${branch}-${abi}"
select(candidates.find { it.id.module.contains(candidate) })
}
}
And it is compiling correctly. Also, in versions.gradle this is already added :
def addRepos(RepositoryHandler handler) { handler.google() handler.jcenter() handler.maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } handler.maven { url 'https://maven.mozilla.org/maven2' } handler.maven { url 'https://download.servo.org/nightly/maven' } handler.maven { url 'https://developer.huawei.com/repo/' } }
So, gecko view is working fine here, and at this point we don't need to add it separately in local.properties, correct? Second thing is, the whole application is working fine with everything, just the "IMMERSION" itself is not working in the application. Can you help us specifically where it went wrong in immersion?
Thanks a lot!
Hi @svillar Thanks for mentioning this repo for us. I have tried adding this as well in local.properties but it doesn't work for us. What we see so far in the project is this , gecko view is already adding by default in the project automatically. See here : In build.gradle file.
// gecko def branch = "nightly" // "nightly" or "beta" geckoImplementation deps.gecko_view."${branch}_x86_64" geckoImplementation deps.gecko_view."${branch}_arm64" configurations.all { resolutionStrategy.capabilitiesResolution.withCapability('org.mozilla.geckoview:geckoview') { def abi = getName().toLowerCase().contains('x86_64') ? 'x86_64' : 'arm64' def candidate = "geckoview-${branch}-${abi}" select(candidates.find { it.id.module.contains(candidate) }) } }
GeckoView from maven repos is used by default indeed. However if you add
dependencySubstitutions.geckoviewTopsrcdir=PATH_TO_GECKO_DEV_DIR
dependencySubstitutions.geckoviewTopobjdir=PATH_TO_GECKO_DEV_DIR//obj-aarch64-unknown-linux-android
to the local.properties
it will use the locally compiled ones.
So, gecko view is working fine here, and at this point we don't need to add it separately in local.properties, correct? Second thing is, the whole application is working fine with everything, just the "IMMERSION" itself is not working in the application. Can you help us specifically where it went wrong in immersion?
Yes you need to use the locally compiled one from the repo I mentioned, otherwise WebXR won't work. Wolvic and Gecko use a versioned protocol to talk to each other. Wolvic and our gecko-dev branch use a higher protocol than the one from maven repositories, that's why WebXR (immersive experiences) won't work unless you build Gecko by yourselves (again using our specific branch).
Here is a comparison of how it shows normally on left side and how its working in our app on right side.
hi @svillar I can build Mozilla-unified using ( ./mach bootstrap and ./mach build) I am able to build Mozilla-central using ( ./mach bootstrap and ./mach build)
But when I tried to build with the repo you mentioned, I encountered a lot of errors and it doesn't work. How it can be solved? Mostly errors are in xpidl and file_generate.py
hi @svillar I can build Mozilla-unified using ( ./mach bootstrap and ./mach build) I am able to build Mozilla-central using ( ./mach bootstrap and ./mach build)
But when I tried to build with the repo you mentioned, I encountered a lot of errors and it doesn't work. How it can be solved? Mostly errors are in xpidl and file_generate.py
That's because of the python version you're using. I'll upload a patch soon to support newer versions of python
So which version I should use to compile it now? I am using Python 3.11.3 currently
So which version I should use to compile it now? I am using Python 3.11.3 currently
I pushed a patch that allows it to build using your version
OK great, let me try now
hi @svillar I tried it now, and it almost compiles with at least completing 90% tasks. It just stuck at one point.
ld.lld: error: unable to find library -lunwind
51:29.70 clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
51:29.70
51:29.71 error: could not compile http3server
due to previous error
If this is solved, I think we will be good. :)
thank you!
hi @hamzabadshah1 I don't want to sound rude, but our team is small and we have tons of things to deliver, so unfortunately I don't have much more time to devote to this. I tried to help for some time but cannot spend more. If you need profesional services around Wolvic you can always contact Igalia.
hi @svillar I tried it now, and it almost compiles with at least completing 90% tasks. It just stuck at one point.
ld.lld: error: unable to find library -lunwind 51:29.70 clang-14: error: linker command failed with exit code 1 (use -v to see invocation) 51:29.70 51:29.71 error: could not compile
http3server
due to previous errorIf this is solved, I think we will be good. :)
thank you!
i got the same error too my friend,do you resolve it?
@hamzabadshah1
edit the moz.build like this:
anyway ,it works for me
Configuration
Wolvic version: latest version Wolvic build ID: latest version
Hardware: Pico 4
Steps to Reproduce