प्रौद्योगिकी साझेदारी

Orange Pie 5plus running cloud mobile phone solution - redroid (हार्डवेयर त्वरणसहितम्)

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

प्रथमं सम्बोधनम् : १.https://mp.weixin.qq.com/s/1e8er_amC94DTVCaNbSuUw

प्रस्तावना

अस्य वस्तुनः उद्देश्यं न क्रीडां वा किमपि क्रीडितुं, अपितु एपीपी-इत्यस्य रिवर्स-इञ्जिनीयरिङ्गं कुर्वन् मोबाईल-फोने न्यूनतया निर्भरं भवितुं भवति । किन्तु मोबाईल-फोनस्य फ़्लैश-करणस्य सोपानानि अत्यन्तं कष्टप्रदानि सन्ति, यदि भवान् सावधानः न भवति तर्हि तत् सहजतया इष्टकाकारं भवितुम् अर्हति ।

यथा, केचन एप्स् ये पर्यावरणपरीक्षणस्य विषये कठोरः न सन्ति, ते तस्मिन् परीक्षणं कर्तुं शक्यन्ते, येन सिस्टम् स्रोतसङ्केतं परिवर्तयितुं पश्चात् यन्त्रं फ्लैश कर्तुं च सुकरं भवति परन्तु दुःखदं यत् कर्नेल् अनुकूलितं कर्तुं न शक्यते (redroid तथा Waydroid इत्येतयोः द्वयोः अपि कंटेनर समाधानस्य उपयोगः भवति तथा च कर्नेल् इत्यस्य अनुकूलनं कर्तुम् इच्छति तर्हि भवान् केवलं Google इत्यस्य cuttlefish अथवा avd इत्यस्य उपयोगं कर्तुं शक्नोति, परन्तु एतेषां समर्थनं सीमितम् अस्ति on arm and can be run परन्तु GPU त्वरणं नास्ति, अतः अहं पश्चात् कटलफिश इत्यस्य प्रयासं करिष्यामि ।

फ्लैश उबण्टु

अहं Orange Pie इत्यनेन Ubuntu इत्यस्य अद्यतनीकरणस्य प्रक्रियायां न गमिष्यामि यदि भवान् रुचिं लभते तर्हि पूर्वलेखं पठतु:Orange Pie 5plus ssd तः उबण्टु आरभते . यदि भवान् एतत् प्रणालीं फ़्लैश करोति तर्हि redroid चालयितुं किमपि संस्थापनं विन्यस्तं वा कर्तुं न प्रयोजनम् । तथापि यदि भवान् वर्चुअल् WIFI अथवा ebpf इत्यस्य उपयोगं कर्तुम् इच्छति तर्हि अपि भवद्भिः कर्नेल् पैरामीटर्स् परिवर्त्य Linux कर्नेल् स्वयमेव संकलितं कर्तव्यम् अयं अग्रिमः लेखः विशेषतया संकलनप्रक्रियायाः विषये वदिष्यति ।

redroid

आधिकारिकं पाठ्यक्रमम् : १.https://github.com/remote-android/redroid-doc

आवश्यकानि शर्ताः पश्यन्तु

grep binder /proc/filesystems grep ashmem /proc/misc

यदि किमपि मुद्रितं नास्ति तर्हि भवद्भिः तत् स्वहस्तेन आरभ्यत इति आवश्यकं भवेत् (अहं केवलं Ubuntu Kunpeng 920 संस्थापिते यन्त्रे निम्नलिखित-आदेशद्वयं उपयुञ्जामि । यद्यपि अस्मिन् यन्त्रे AMD ग्राफिक्स् कार्ड् अस्ति तथापि प्रत्यक्षतया GPU आह्वयितुं न शक्नोति)

sudo modprobe ashmem_linux sudo modprobe binder_linux devices=binder,hwbinder,vndbinder

यदि एतौ आदेशौ त्रुटिं निवेदयति अथवा कोऽपि प्रभावः नास्ति तर्हि एतत् सम्भवति यत् वर्तमानं Linux कर्नेल् एतौ कार्यौ सक्षमं न करोति समर्थितं कर्नेल् संस्थापयितुं अथवा एतयोः कार्ययोः सक्षमीकरणाय कर्नलस्य संकलनार्थं निम्नलिखितगोदामनिर्देशान् द्रष्टव्यम् : १.https://github.com/remote-android/redroid-modules

GPU त्वरणम्

आधिकारिक-डॉकर्-प्रतिबिम्बस्य उपयोगेन आरभ्यतुं शक्यते, परन्तु GPU-त्वरणं नास्ति, तथा च विडियो मृदु-विकोडितः (cpu simulation) अस्ति, अतः github-मध्ये कार्यं तुल्यकालिकरूपेण विलम्बितम् अस्तिनिर्गमनम्‌[1]rk3588 इति अन्वेषणं कुर्वन्तु ततः GPU त्वरणस्य विषये अनेकानि टिप्पण्यानि द्रष्टुं शक्नुवन्ति ।

परन्तु पूर्वं कोऽपि न साझां कृतवान् यत् GPU त्वरणेन सह चित्रं कथं संकलितव्यम् इति टिप्पण्याः केवलं किञ्चित् सहायकं निष्कर्षं कर्तुं शक्नुवन्ति: Orange Pi इत्यस्य आधिकारिक SDK स्रोतसङ्केतः GPU त्वरणसम्बद्धानि कानिचन चालकसञ्चिकाः प्राप्य तान् Android Compiled इत्यत्र एकत्र स्थापयन्तु स्रोतसङ्केतः । अथवा एताः सञ्चिकाः प्रत्यक्षतया docker container मध्ये प्रतिलिख्य पात्रं पुनः आरभत ।

अयं निष्कर्षः अतिस्पष्टः अस्ति, तत्र बहवः जालाः अवश्यं सन्ति, अतः मया एतत् न प्रयतितम् ।यावत् एकः बृहत् वयस्कः सम्पूर्णं निर्गतवान्संकलनप्रक्रिया तथा स्रोतसङ्केतः[2]

पाठ्यक्रमः बहु विस्तरेण लिखितः अस्ति यत् भवान् एकवारं संकलितं कृत्वा पदानि अनुसृत्य पारयितुं शक्नोति । अतिरिक्ते,तथा च मालिकः[3]अस्य चित्रस्य आधारेण एकं वस्तु योजितम् अस्ति ।

अतः अत्र एतस्य उपयोगं कुर्वन्तुप्रमुखस्य दर्पणप्रतिमा[4], ततः पूर्वं सः उल्लिखितानि आश्रयाणि (kernel version 5.10.160 and mali ddk g18p0) अवलोकयन्तु:

तत् कोऽपि समस्या न भवितुमर्हति सः अपि उक्तवान् यत् सः करिष्यतिmali_csffw.binसञ्चिका प्रतिलिपिकृता/lib/firmware/तदनन्तरं अहं परीक्षितवान् अस्मिन् पुटे एषा सञ्चिका अस्ति ।

पूर्वनिर्धारितं लिङ्क् कृतम् अस्तिg15p0, अतः वयम् एतत् मृदुलिङ्कं विलोप्य नूतनं लिङ्कं रचयामःg18p0 .तथापि परीक्षणानन्तरं प्रयोगःg15p0संस्करणं redroid पात्रं सामान्यतया GPU इत्यस्य उपयोगं अपि कर्तुं शक्नोति ।

विडियो ब्रशिंगस्य परीक्षणं ठीकम् अस्ति यत् अहं केवलं वक्तुं शक्नोमि यत् एतत् अटत् वा सुस्पष्टं वा नास्ति अन्ततः वर्तमानं मोबाईल-फोन-विन्यासः पूर्वमेव अतीव उच्चः अस्ति, अस्मात् विकास-फलकात् अपि बहु सुचारुः अस्ति।

docker संस्थापयन्तु

sudo apt install docker.io -y sudo usermod -aG docker $USER sudo chmod a rw /var/run/docker.sock

आदेशानां अन्तिमपङ्क्तिद्वयं सामान्यप्रयोक्तृणां कृते sudo न योजयित्वा docker चालयितुं भवति ।

पात्रं आरभत

ततः चित्रं आकर्षयन्तु : १. docker pull cnflysky/redroid-rk3588:12.0.0-latest

docker run -d --privileged 
    -p 5555:5555 
    -v ~/redroid-data:/data 
   --name redroid 
   cnflysky/redroid-rk3588:12.0.0-latest androidboot.redroid_height=1920 androidboot.redroid_width=1080 androidboot.redroid_magisk=1  androidboot.redroid_virt_wifi=1

ततः अस्मिन् पोर्ट् (adb connect 192.168.31.208:5555) प्रयोक्तुं शक्यतेQtScrcpyअस्य पात्रस्य डेस्कटॉप् पश्यन्तु

प्रथमं aida64 संस्थापयन्तु यत् पश्यन्तु यत् ग्राफिक्स् कार्ड् आह्वानं सामान्यम् अस्ति वा:

यदि भवान् rendering कृते mali-G610 graphics card इत्यस्य उपयोगं करोति तर्हि कोऽपि समस्या न भविष्यति, तथा च refresh rate 60hz भविष्यति यदि भवान् soft solution इत्यस्य उपयोगं करोति तर्हि refresh rate केवलं 15hz भविष्यति ।

magisk

यदा एतत् पात्रं आरब्धं भवति तदा कandroidboot.redroid_magisk=1केवलं magisk चालू कुर्वन्तु, अतः भवन्तः सङ्गणकं चालू कृत्वा magisk सामान्यतया चालितं इति द्रष्टुं शक्नुवन्तिdocker restart redroidपुनः आरम्भस्य अनन्तरं सामान्यतया तस्य उपयोगः कर्तुं शक्यते ।

lsposed इति

प्रथमं magisk मध्ये zygisk उद्घाटयन्तु, ततः lsposed संस्थापनसङ्कुलं पात्रे धक्कायितुं adb push आदेशस्य उपयोगं कुर्वन्तु । ततः Modules इत्यत्र संस्थापयन्तु, ततः पुनः आरभन्तु ततः भवन्तः पश्यन्ति यत् lsposed अपि सामान्यतया चाल्यते ।

केवलं xposed module संस्थापयन्तु ततः lsposed settings interface प्रविष्टुं शक्नुवन्ति ।

अन्तरालम्

आधिकारिकम् अस्तिपाठ्यक्रम[5]gapps इत्यनेन सह docker इमेज कथं संकलितव्यम् इति व्याख्यातव्यम् तथापि gapps इत्यनेन अपि गूगलं पारयितुं न शक्नोति ।safetynetसत्यापनम्, अनेके एप्स् उपयोक्तुं न शक्यन्ते।

मुद्देः अपि कश्चन पृष्टवान्, परन्तु तस्य समाधानं नास्ति-https://github.com/remote-android/redroid-doc/issues/378 . डाउनलोड् कृतेषु चित्रेषु गूगल-भण्डारः अपि अन्तर्भवति ।

आभासी WIFI

मुद्देः पठित्वा यदि भवान् वर्चुअल् WIFI न स्थापयति तर्हि केचन सॉफ्टवेयर् निर्धारयिष्यन्ति यत् QQ इत्यादिकं जालम् अस्ति चेदपि संजालं नास्ति इति । यतः ते केवलं WIFI तथा यातायातस्य अन्वेषणं कुर्वन्ति, ययोः द्वयोः अपि docker container मध्ये उपलब्धं नास्ति । तथापि मम परीक्षणेन ज्ञातं यत् वर्चुअल् WIFI युक्ताः बहवः सॉफ्टवेयर् दर्शयिष्यन्ति यत् नेटवर्क् नास्ति, परन्तु वर्चुअल् WIFI न चालू कृत्वा अन्तर्जालः सामान्यः भविष्यति, अतः तत् न चालू कर्तुं अनुशंसितम्, केवलं ज्ञातव्यं यत् एतादृशं वस्तु अस्ति .

अतः अस्माकं पात्रे वर्चुअल् WIFI प्राप्तुं आवश्यकम्, अस्माकं आवश्यकता अस्तिकर्नेल् समर्थनम्[6]

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

switch to इतिip6tables-legacyतदनन्तरं docker इत्यनेन सेवां पुनः आरभ्यत इति आवश्यकम्sudo systemctl restart docker, यन्त्रस्य पुनः आरम्भः व्यर्थः, पात्रं च अन्तर्जालतः विच्छिन्नं भविष्यति ।

संस्थापितं सिस्टम् कर्नेल् एतत् पैरामीटर् सक्षमं न करोति ।zcat /proc/config.gz | grep CONFIG_MAC80211_HWSIM

github द्वारा प्रदत्तः कर्नल-सङ्केतः संकलनार्थं अतीव सरलः अस्ति तथा च एकस्मिन् चरणे संकलितुं शक्यते, दुर्भाग्येन, कर्नेल्-मापदण्डान् परिवर्तयितुं विकल्पः नास्ति, तथा च यदा भवान् कर्नेल्-विन्याससञ्चिकां परिवर्तयति तदा संकलनस्य समये पुनः परिवर्तितः भविष्यति

कतिपयदिनानि यावत् संघर्षं कृत्वा अहं अंकस्य सर्वान् प्रश्नान् गत्वा उत्तरं न प्राप्नोमि स्म, अपितु स्वयं संकलनलिपिं पश्यन् अन्यः विकल्पः नासीत् एषा विशिष्टा प्रक्रिया अग्रिमे लेखे चर्चा भविष्यति अत्र कर्नेल् प्रदत्तम् अस्ति ।

कर्नेल् अद्यतनं कुर्वन्तु

कर्नेल् deb संकुल डाउनलोड् पता, प्रणाल्याः उपयुज्यतेउबुण्टु22[7]https://www.123pan.com/s/ihEKVv-TbOx.html निष्कर्षणसङ्केतः : १.AZ3A . उपर्युक्तानां मापदण्डानां अतिरिक्तं मया ebpf-सम्बद्धाः मापदण्डाः अपि योजिताः, येषां विषये पश्चात् चर्चा भविष्यति ।

प्रथमं सहuname -aवर्तमान कर्नेल् सूचनां पश्यन्तु

प्रथमं संकलितं कर्नेल् सञ्चिकां यन्त्रे स्थानान्तरयन्तु, ततः चालयन्तुsudo dpkg -i *.deb, कुलम् पञ्च deb सञ्चिकाः सन्ति प्रथमा निर्माणसूचना अस्ति, तस्य संस्थापनस्य आवश्यकता नास्ति ।

ततः प्रयोगःsudo rebootपुनः आरभ्य कर्नेल् सूचनां पश्यन्तु ।

कर्नेल् पैरामीटर्स् अपि सामान्यतया चालू भवन्ति:

पिट् १

कर्नेल् अद्यतनं कृत्वा पुनः आरम्भं कृत्वा मूलतः निर्मितं पात्रं अन्तर्जालतः विच्छिन्नं भवति, पश्चात् निर्मिताः पात्राः एव सामान्यतया अन्तर्जालं प्राप्तुं शक्नुवन्ति प्रथमं मया चिन्तितम् यत् कर्नेल् इत्यस्य समस्या अस्ति, अतः मया सिस्टम् ताजगीकृत्य कर्नेल् पुनः संकलितव्यम् आसीत् ।

पिट् २

यद्यपि अन्तर्जालसम्पर्कः अस्ति तथापि B स्टेशनस्य विडियो ताजगः कर्तुं न शक्यते अहं केवलं मुखपृष्ठं ताजगीं कर्तुं शक्नोमि, ब्राउजर् च जालपुटं प्राप्तुं न शक्नोति। (टिप्पणी: अन्तर्जालसङ्गतिं कर्तुं पूर्वं प्रथमं वर्चुअल् WIFI इत्यनेन सह सम्बद्धतां प्राप्तुं सेटिंग्स् मध्ये गन्तव्यम्)

अस्मिन् निर्देशानुसारम्- १.https://github.com/CNflysky/redroid-rk3588/issues/2

केवलं वायरलेस् संयोजनस्य गारण्टीकृतम्?यद्यपि अहं तस्य अर्थं न अवगच्छामि किं स्यात् यत् एकः एव मार्गः भवितुम् अर्हतिip routeपूर्वनिर्धारितरूपेण द्वौ मार्गौ स्तः

द्वितीयं वर्चुअल् WIFI अस्ति कथं प्रथमं विलोप्य प्रयतन्ते: ip route del 192.168.200.0/24 dev radio0 proto kernel scope link src 192.168.200.2

मया ज्ञातं यत् कदाचित् यदा अन्तर्जालसम्पर्कः भवति तदा अधिकतया विडियो वादयितुं शक्यते तथा च विडियो लोड् कर्तुं किञ्चित् समयः भवति तथापि मुखपृष्ठस्य ताजगीकरणं अतीव द्रुतं भवति, टिप्पण्याः अपि अतीव भवन्ति उपवासः। DNS परिवर्तनम् अपि न सहायकं भवति अन्यत् सॉफ्टवेयरं पश्चात् प्रयत्नेन पश्यामि यत् समानं भवति वा।

वप्न

भवन्तः सन्दर्भयितुं शक्नुवन्ति :https://github.com/CNflysky/redroid-rk3588/issues/5 , अहं तस्य प्रयासं न करिष्यामि । redroid इत्यस्य निर्देशानुसारं भवन्तः आरम्भकाले एजेण्ट् अपि निर्दिष्टुं शक्नुवन्ति । यदि भवान् vpn वैश्विकरूपेण सेट् करोति तर्हि adb विच्छेदं कर्तुं शक्नोति ।

श्रव्यः

असफलं भवेत्, केवलं कतिपयानि अधिकवारं प्रयतस्व।

सन्दर्भलिङ्कः
  • [1] https://github.com/remote-android/redroid-doc/issues?q=rk3588
  • [2] https://github.com/redroid-rockchip
  • [3] https://blog.csdn.net/CNflysky/article/details/136452455
  • [4] https://github.com/CNflysky/redroid-rk3588
  • [5] https://github.com/remote-android/redroid-doc/blob/master/android-builder-docker/README.md
  • [6] https://github.com/redroid-rockchip/vendor_redroid_ext/tree/master/wifi
  • [7] https://github.com/Joshua-Riek/ubuntu-rockchip/releases