NEWS

新闻

了解openKylin最新资讯,关注社区和产品动态。

NEWS

Learn about the latest news.

Breaking News: Klink, the First Cross-Platform Universal Linux Device Interconnect Component, is Now Open Source on openKylin!

2024-07-02 11:03:15


With the proliferation of smart terminal devices, the application scenarios for interconnection between multiple smart terminal devices are becoming increasingly diverse. In multi-device interconnectivity scenarios, developers need to implement communication protocols separately. To address the issue of cross-platform interconnectivity, the Connectivity SIG (established by the StarKylin team under KylinSoft, a member of the openKylin community council) has developed Klink, a cross-platform universal Linux device interconnect component, after extensive research and exploration.


openKylin


Ⅰ. What is Klink

Klink is a device interconnect component developed by the Connectivity SIG starting in 2021. It enables various mainstream Linux distributions, including the openKylin open-source operating system and the NeoKylin desktop operating system, to achieve cross-platform interconnectivity. This significantly expands the ecosystem boundaries and contributes to the healthy and open development of foundational software. The basic architecture of Klink is shown in the following diagram.


openKylin


Ⅱ. Advantages of Klink

The StarKylin Intelligent Interconnection Operating System by KylinSoft, a member of the openKylin community council, is characterized by “elastic scalability, intelligent interconnection, intrinsic security, and a unified framework”. This operating system addresses the digital application needs of nations, industries, enterprises, and individuals, initiating a new path of innovation for next-generation operating systems across all scenarios. Among these characteristics, intelligent interconnection relies on Klink as the unified communication foundation to achieve two major interconnect capabilities:

1. Distributed Hardware Resource Sharing Capability

The hardware capabilities of abstracted terminal devices, such as display, camera, and audio, are basic functionalities. Based on Klink technology, it enables instant collaboration and computing power sharing between devices.

2. Cross-Terminal Interconnectivity Capability

Klink supports device discovery, networking, authentication, and connection across multiple devices. It facilitates fast data transfer of images, files, and other content between devices, ensuring seamless content flow and supporting collaboration and screen sharing across multiple devices.


Ⅲ. Klink Usage Instructions

1. Address

01  https://gitee.com/openkylin/klink

2. Source Code Link

01  git clone https://gitee.com/openkylin/klink.git

3. Compilation

01  cd src-path # enter the source code path
02  # compile dependencies
03  # check the build-depends file
04  # use an OpenSSL library version above 3.0.0
05  # a precompiled OpenSSL library is provided under third_party/openssl/, supporting only Linux. Other platforms need to compile separately.
06  # execute
07  sudo bash ./third_party/openssl/openssl_install.sh ./third_party/openssl [amd|arm]
08  # dynamic library embedding
09  # if you are on a different platform or architecture, please compile your own openssl version. Apologies for the inconvenience.
10  mkdir build & cd build
11  cmake ..
12  make
13  sudo make install

4. Service Deployment

01  # start Klink service
02  sudo /opt/dsoftbus/bin/connectivity_softbus_server > log.file &
03  # start device management service
04  sudo /opt/dsoftbus/bin/connectivity_devicemgr_service > log.file &
05  # start authentication client (you can implement this according to the SDK interface)
06  sudo /opt/dsoftbus/bin/connectivity_devicemgr_client

5. Klink SDK Links

01  find_package(PkgConfig REQUIRED)
02  pkg_check_modules(SOFTBUS_CLIENT REQUIRED softbus_client)
03  pkg_check_modules(DEVICEMGR_SDK REQUIRED devicemgr_sdk)
04
05  include_directories(${SOFTBUS_CLIENT_INCLUDE_DIRS})
06  include_directories(${DEVICEMGR_SDK_INCLUDE_DIRS})
07
08  target_link_libraries (
09    ${PROJECT_NAME}
10    PUBLIC
11    ${SOFTBUS_CLIENT_LIBRARIES}
12    ${DEVICEMGR_SDK_LIBRARIES}
13  )


Ⅳ. About Connectivity SIG

Connectivity SIG is established by StarKylin under KylinSoft, a member of the openKylin community council. It is primarily responsible for the development and maintenance of foundational interconnectivity capabilities within the openKylin community, the planning and development of system interconnectivity capabilities, as well as the exploration and research of system interconnectivity compatibility and forward-looking advancements. We welcome interested individuals to join us!

·Connectivity SIG homepage:

https://gitee.com/openkylin/community/tree/master/sig/Connectivity

·Klink homepage:

https://gitee.com/openkylin/klink