Collabora မှ developer များ
လက်ရှိတွင်၊ Linux တွင် virtual reality headsets များသို့ တိုက်ရိုက် output ပြုလုပ်ရန် tools များရှိပြီး (Vulkan extensions VK_EXT_acquire_xlib_display for X11 နှင့် Wayland အတွက် VK_EXT_acquire_wl_display) တွင် 3D space နှင့် screen refresh rate တို့ကို မှန်ကန်သော rendering အဆင့်တွင် ပံ့ပိုးမှုမရှိပါ။ xrdesktop ပရောဂျက်၏ ရည်မှန်းချက်မှာ XNUMXD မျက်နှာပြင်ပြသမှုနှင့် ကီးဘုတ်နှင့် မောက်စ်ထိန်းချုပ်မှုအပေါ် အာရုံစိုက်ထားသည့် ဂန္တဝင်အင်တာဖေ့စ်များကို အသုံးပြုခွင့်ပေးမည့် နည်းလမ်းများကို တီထွင်ရန်ဖြစ်သည်။
xrdesktop အစိတ်အပိုင်းများသည် 3D virtual ပတ်၀န်းကျင်တွင် windows နှင့် desktop များကို တင်ဆက်ရန်အတွက် virtual reality runtime စနစ်များကို အသုံးပြုရန်အတွက် ရှိပြီးသား window နှင့် composite manager များကို တိုးချဲ့ပါသည်။ xrdesktop သည် သီးခြား အထူးပြုပေါင်းစပ်မန်နေဂျာကို လုပ်ဆောင်ရန် မလိုအပ်ဘဲ ရှိနှင့်ပြီးသား ဒက်စတော့ပတ်ဝန်းကျင်များတွင် ပေါင်းစည်းရန် အကြံဉာဏ်ကို မြှင့်တင်ပေးပြီး XNUMXD ခမောက်များဖြင့် အသုံးပြုထားသော ပုံမှန်မော်နီတာတစ်ခုနှင့် အသုံးပြုထားသော ရှိပြီးသား စိတ်ကြိုက်ပုံစံများကို ခွင့်ပြုပေးပါသည်။
ပရောဂျက်၏ဗိသုကာလက်ရာသည် မည်သည့် desktop နှင့်မဆို ပေါင်းစပ်နိုင်မှုကို ရည်ညွှန်းသော်လည်း ဖွံ့ဖြိုးတိုးတက်မှု၏ လက်ရှိအဆင့်တွင်၊ virtual reality headsets များကို ပံ့ပိုးပေးသည့် အစိတ်အပိုင်းများကို KDE နှင့် GNOME အတွက် အကောင်အထည်ဖော်ထားသည်။ KDE အတွက်၊ 3D ခမောက်များအတွက် ပံ့ပိုးမှုကို Compiz-like ပလပ်အင်တစ်ခုမှတစ်ဆင့် နှင့် GNOME အတွက် GNOME Shell အတွက် ဖာထေးမှုအစုံမှတဆင့် လုပ်ဆောင်ပါသည်။ ဤအစိတ်အပိုင်းများသည် 3D ခမောက်များကို သီးခြားအခင်းအကျင်းပုံစံ သို့မဟုတ် ထပ်ဆင့်မုဒ်တွင် ရှိပြီးသား windows များကို အခြားသော virtual reality အပလီကေးရှင်းများတွင် ထည့်သွင်းအသုံးပြုနိုင်သည့် ဒက်စ်တော့ဝင်းဒိုးများကို ပေါင်းစပ်နိုင်သည်။
rendering engines အပြင်၊ xrdesktop သည် Valve Index နှင့် VIVE Wand ကဲ့သို့သော အထူးပြု spatial controllers များကို အသုံးပြု၍ လမ်းကြောင်းပြခြင်းနှင့် ထည့်သွင်းခြင်းအတွက် အစိတ်အပိုင်းများကို ပံ့ပိုးပေးပါသည်။ Xrdesktop သည် ကီးဘုတ်နှင့် မောက်စ်အသုံးပြုမှုကို အတုယူပြီး ပုံမှန်ထည့်သွင်းခြင်းဖြစ်ရပ်များကို ဖန်တီးရန်အတွက် VR ထိန်းချုပ်ကိရိယာများမှ အချက်အလက်ကို အသုံးပြုသည်။
xrdesktop တွင် OpenVR ကိုအသုံးပြု၍ VR runtime အတွက် window textures များဖန်တီးပေးသည့် စာကြည့်တိုက်များစွာ ပါဝင်သည့်အပြင် 3D ပတ်၀န်းကျင်တွင် desktop တစ်ခုလုံးကို တင်ဆက်ရန်အတွက် API-based စနစ်တစ်ခုပါဝင်သည်။ xrdesktop သည် ၎င်း၏ကိုယ်ပိုင် ဝင်းဒိုးမန်နေဂျာကို ပံ့ပိုးမပေးသောကြောင့်၊ ရှိပြီးသား window manager များနှင့် ပေါင်းစပ်လုပ်ဆောင်ရန် လိုအပ်သည် (xrdesktop ကို မည်သည့် X11 သို့မဟုတ် Wayland window manager သို့ ပေးပို့နိုင်သည်)။ ဂရပ်ဖစ်ဒရိုက်ဗာဘက်တွင်၊ လုပ်ဆောင်ချက်သည် Vulkan API နှင့် VK_KHR_external_memory တိုးချဲ့မှုကို ပံ့ပိုးသည့် ဒရိုက်ဗာတစ်ခု လိုအပ်သည်။
xrdesktop ၏ အဓိက အစိတ်အပိုင်းများ-
-
gulkan - Vulkan အတွက် glib binding၊ စက်များကိုလုပ်ဆောင်ခြင်းအတွက် အတန်းများ၊ shaders များနှင့် memory သို့မဟုတ် DMA buffers များမှ texture စတင်ခြင်းအတွက် အတန်းများပံ့ပိုးပေးခြင်း။ -
gxr — virtual reality အပလီကေးရှင်းများဖန်တီးရန်အတွက် abstracting program interfaces များအတွက် API။ လောလောဆယ်တွင် OpenVR ကိုသာ ပံ့ပိုးထားသော်လည်း OpenXR စံနှုန်းအတွက် ပံ့ပိုးမှုကို မကြာမီကာလအတွင်း ထပ်လောင်းပေးမည်ဖြစ်သည်။ -
libinputsynth - မောက်စ်လှုပ်ရှားမှု၊ ကလစ်များနှင့် ကီးစထရိများကဲ့သို့သော ထည့်သွင်းဖြစ်ရပ်များကို ပေါင်းစပ်ခြင်းအတွက် စာကြည့်တိုက်တစ်ခု၊ xdo၊ xi2 နှင့် ရှုပ်ပွမှုတို့အတွက် နောက်ကွယ်မှပုံစံဖြင့် လုပ်ဆောင်ထားသည်။ -
xrdes Desktop — 3D ပတ်၀န်းကျင်ရှိ ပြတင်းပေါက်များကို စီမံခန့်ခွဲရန်အတွက် စာကြည့်တိုက်တစ်ခု၊ မြင်ကွင်းကို တင်ဆက်ရန်အတွက် ပါ၀င်သော ဝစ်ဂျက်များနှင့် နောက်ကွယ်တွင် အစုံလိုက်၊ -
kwin-effect-xrdesktop иkdeplasma-applets-xrdesktop — KWin နှင့် ပေါင်းစည်းရန်အတွက် KWin အတွက် ပလပ်အင်တစ်ခုနှင့် 3D ဦးထုပ်ပေါ်တွင် KWin ကို အထွက်မုဒ်သို့ ပြောင်းရန်အတွက် Plasma applet တစ်ခု၊ -
gnome-shell patchset иgnome-shell-extension-xrdesktop — xrdesktop ပံ့ပိုးမှုနှင့် GNOME Shell ရှိ 3D သံခမောက်သို့ ပြောင်းရန်အတွက် အထွက်ကိုပြောင်းရန်အတွက် GNOME Shell အတွက် ဖာထေးအစုံ။
ပရောဂျက်သည် ပြတင်းပေါက်များကို ဖမ်းယူရန်၊ အတိုင်းအတာ၊ ရွှေ့ရန်၊ လှည့်ရန်၊ စက်လုံးပေါ်တွင် ထပ်ဆင့်ခြင်း၊ အထိုင်နှင့် ပြတင်းပေါက်များကို ဝှက်ထားရန်၊ ထိန်းချုပ်မှုမီနူးကို အသုံးပြုကာ တစ်ပြိုင်နက် ထိန်းချုပ်ရန် အသုံးပြုနိုင်သည့် ပရောဂျက်နှင့် ဝင်းဒိုးများနှင့် အပြန်အလှန်ဆက်သွယ်မှုကို စုစည်းရန်အတွက် ပရောဂျက်သည် နည်းလမ်းများစွာကို ပံ့ပိုးပေးပါသည်။ ထိန်းချုပ်ကိရိယာများစွာကို အသုံးပြု၍ လက်နှစ်ချောင်း။
source: opennet.ru