Skip to content

Conversation

@Dylan-H
Copy link

@Dylan-H Dylan-H commented Dec 29, 2025

Description

Add support for OpenHarmony native window

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

Similar to the Android platform, a test demo was written to load the teapot model on OpenHarmony for testing.

Test Configuration:

  • Firmware version: OpenHarmony 6.0
  • Hardware:
  • Toolchain:DevEco Studio 6.0.0 Release +Cmake
  • SDK:6.0.0(20)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • Any dependent changes have been merged and published in downstream modules

@robertosfield
Copy link
Collaborator

Congrats on the port.

This is the first time I've come across OpenHarmony, so I guess I've my head down in the Vulkan bunker a bit too long :-)

What hardware have you tested on?

How straight forward would it be to create a dual boot with OpenHarmony on a desktop to sit along a desktop Linux variants like Ubunut/Kubuntu?

@Dylan-H
Copy link
Author

Dylan-H commented Dec 30, 2025

Sorry, perhaps I misspoke about OpenHarmony. I only tested it on a Huawei HarmonyOS phone. Currently, setting up the OpenHarmony environment is a bit complicated. However, the NDK interface for HarmonyOS is consistent with that of OpenHarmony.

DylanHuang added 2 commits December 30, 2025 10:29
```
feat(app): improve touch gesture handling in Trackball

- Refactor touch down event handling to properly support single and
  multi-touch gestures
We cannot assume that touchDown.id can only be 0 or 1.
```
This reverts commit 5b4aebd.
@robertosfield
Copy link
Collaborator

I have merged your changes as a HarmonySupport branch:

https://github.com/vsg-dev/VulkanSceneGraph/tree/HarmonySupport

I have done a first pass and I have come away wondering whether using OHOS prefix is a bit too specific OpenHarmonyOS as you've been testing with HarmonyOS so that's clearly supported to. Would just using Harmony as a prefix be OK?

@robertosfield
Copy link
Collaborator

@Dylan-H I'm inclined to rename include/vsg/platform/ohos to include/vsg/platform/harmony and vsgOHOS to vsgHarmony and OHOS_Window to Harmony_Window.

Thoughts?

@robertosfield
Copy link
Collaborator

To test out a change in naming I have created a new branch based on this PR:

https://github.com/vsg-dev/VulkanSceneGraph/tree/HarmonyPlatform

The changes are: deb2ee8

@Dylan-H Could provide you test this branch out and provide feedback.

@Dylan-H
Copy link
Author

Dylan-H commented Jan 7, 2026

I've added a new merge request to the HarmonyPlatform branch (Fix header file error #1648), fixing a minor issue. I've also submitted a merge request based on this branch in the vsgExamples repository: Add HarmonyOS example #382.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants