వర్చువల్ రియాలిటీ హెడ్సెట్లలో GNOME మరియు KDEలను ఉపయోగించడం కోసం xrddesktop ప్రాజెక్ట్
Collabora నుండి డెవలపర్లు సమర్పించారు ప్రాజెక్ట్ xrddesktop, దీనిలో, వాల్వ్ మద్దతుతో, 3D గ్లాసెస్ మరియు వర్చువల్ రియాలిటీ హెల్మెట్లను ఉపయోగించి సృష్టించబడిన త్రిమితీయ పరిసరాలలో సాంప్రదాయ డెస్క్టాప్లతో పరస్పర చర్య చేయడానికి మూలకాలతో లైబ్రరీ అభివృద్ధి చేయబడుతోంది. లైబ్రరీ కోడ్ C మరియు లో వ్రాయబడింది ద్వారా పంపిణీ చేయబడింది MIT లైసెన్స్ కింద. రెడీమేడ్ అసెంబ్లీలు సిద్ధం కోసం ఆర్చ్ లైనక్స్ и ఉబుంటు 19.04 / 18.04.
ప్రస్తుతం, Linux ఇప్పటికే వర్చువల్ రియాలిటీ హెడ్సెట్లకు డైరెక్ట్ అవుట్పుట్ కోసం సాధనాలను కలిగి ఉంది (X11 కోసం VK_EXT_acquire_xlib_display కోసం VK_EXT_acquire_xlib_display మరియు Wayland కోసం VK_EXT_acquire_wl_display), కానీ 3D స్పేస్ మరియు స్క్రీన్ రిఫ్రెషైజేషన్ రేట్లో విండోల సరైన రెండరింగ్ స్థాయిలో మద్దతు లేదు. XNUMXD స్క్రీన్ డిస్ప్లే మరియు వర్చువల్ పరిసరాలలో కీబోర్డ్ మరియు మౌస్ నియంత్రణపై దృష్టి కేంద్రీకరించిన క్లాసిక్ ఇంటర్ఫేస్ల వినియోగాన్ని అనుమతించే పద్ధతులను అభివృద్ధి చేయడమే xrdesktop ప్రాజెక్ట్ యొక్క లక్ష్యం.
xrdesktop భాగాలు విండోస్ మరియు డెస్క్టాప్లను 3D వర్చువల్ ఎన్విరాన్మెంట్లలో రెండర్ చేయడానికి వర్చువల్ రియాలిటీ రన్టైమ్ సిస్టమ్లను ఉపయోగించడానికి ఇప్పటికే ఉన్న విండో మరియు కాంపోజిట్ మేనేజర్లను విస్తరించాయి. xrdesktop ప్రత్యేక ప్రత్యేక కాంపోజిట్ మేనేజర్ని అమలు చేయనవసరం లేకుండా ఇప్పటికే ఉన్న డెస్క్టాప్ ఎన్విరాన్మెంట్లలో ఏకీకృతం చేసే ఆలోచనను ప్రోత్సహిస్తుంది మరియు సాధారణ మానిటర్తో ఉపయోగించిన ఇప్పటికే ఉన్న కస్టమ్ కాన్ఫిగరేషన్లను XNUMXD హెల్మెట్లతో ఉపయోగించడానికి అనుమతిస్తుంది.
ప్రాజెక్ట్ యొక్క ఆర్కిటెక్చర్ ఏదైనా డెస్క్టాప్తో అనుసంధానించగల సామర్థ్యాన్ని సూచిస్తుంది, అయితే ప్రస్తుత అభివృద్ధి దశలో, వర్చువల్ రియాలిటీ హెడ్సెట్లకు మద్దతు ఇచ్చే భాగాలు KDE మరియు GNOME కోసం అమలు చేయబడతాయి. KDE కోసం, 3D హెల్మెట్లకు మద్దతు Compiz-వంటి ప్లగ్ఇన్ ద్వారా మరియు GNOME కోసం GNOME షెల్ కోసం ప్యాచ్ల సెట్ ద్వారా అమలు చేయబడుతుంది. ఈ భాగాలు ఇప్పటికే ఉన్న విండోలను 3D హెల్మెట్ల యొక్క వర్చువల్ వాతావరణంలో ఒక ప్రత్యేక దృశ్యం రూపంలో లేదా ఓవర్లే మోడ్లో ప్రతిబింబిస్తాయి, దీనిలో డెస్క్టాప్ విండోలు ఇతర రన్నింగ్ వర్చువల్ రియాలిటీ అప్లికేషన్లపై సూపర్పోజ్ చేయబడతాయి.
రెండరింగ్ ఇంజిన్లతో పాటు, వాల్వ్ ఇండెక్స్ మరియు VIVE వాండ్ వంటి ప్రత్యేక ప్రాదేశిక కంట్రోలర్లను ఉపయోగించి నావిగేషన్ మరియు ఇన్పుట్ అందించడానికి xrdesktop భాగాలను అందిస్తుంది. Xrdesktop కీబోర్డ్ మరియు మౌస్ వినియోగాన్ని అనుకరిస్తూ సాధారణ ఇన్పుట్ ఈవెంట్లను రూపొందించడానికి VR కంట్రోలర్ల నుండి సమాచారాన్ని ఉపయోగిస్తుంది.
xrdesktop OpenVRని ఉపయోగించి VR రన్టైమ్ కోసం విండో టెక్చర్లను రూపొందించే అనేక లైబ్రరీలను కలిగి ఉంది, అలాగే 3D వాతావరణంలో పూర్తి డెస్క్టాప్ కోసం API-ఆధారిత రెండరింగ్ సిస్టమ్ను కలిగి ఉంటుంది. xrdesktop దాని స్వంత విండో మేనేజర్ను అందించనందున, ఇప్పటికే ఉన్న విండో మేనేజర్లతో ఇంటిగ్రేషన్ పని అవసరం (xrdesktopని ఏదైనా X11 లేదా Wayland విండో మేనేజర్కి పోర్ట్ చేయవచ్చు). గ్రాఫిక్స్ డ్రైవర్ వైపు, ఆపరేషన్కు Vulkan API మరియు VK_KHR_external_memory పొడిగింపు మద్దతుతో డ్రైవర్ అవసరం.
xrdesktop యొక్క ప్రధాన భాగాలు:
గుల్కాన్ - వల్కాన్ కోసం గ్లిబ్ బైండింగ్, ప్రాసెసింగ్ పరికరాలు, షేడర్లు మరియు మెమరీ లేదా DMA బఫర్ల నుండి అల్లికలను ప్రారంభించడం కోసం తరగతులను అందించడం;
gxr — వర్చువల్ రియాలిటీ అప్లికేషన్లను అభివృద్ధి చేయడానికి ప్రోగ్రామ్ ఇంటర్ఫేస్లను సంగ్రహించడం కోసం API. ప్రస్తుతం OpenVRకి మాత్రమే మద్దతు ఉంది, అయితే సమీప భవిష్యత్తులో OpenXR ప్రమాణానికి మద్దతు జోడించబడుతుంది;
లిబిన్పుట్సింత్ — xdo, xi2 మరియు అయోమయానికి బ్యాకెండ్ల రూపంలో అమలు చేయబడిన మౌస్ కదలిక, క్లిక్లు మరియు కీస్ట్రోక్లు వంటి ఇన్పుట్ ఈవెంట్లను సింథసైజ్ చేయడానికి ఒక లైబ్రరీ;
xrddesktop — 3D వాతావరణంలో విండోలను నిర్వహించడానికి ఒక లైబ్రరీ, దృశ్యాన్ని అందించడానికి విడ్జెట్లు మరియు బ్యాకెండ్ల సమితి;
వర్చువల్ వాతావరణంలో డెస్క్టాప్ మరియు విండోలతో పరస్పర చర్యను నిర్వహించడానికి ప్రాజెక్ట్ అనేక పద్ధతులకు మద్దతు ఇస్తుంది, ఇది విండోలను సంగ్రహించడానికి, స్కేల్ చేయడానికి, తరలించడానికి, తిప్పడానికి, గోళంపై అతివ్యాప్తి చేయడానికి, విండోలను డాక్ చేయడానికి మరియు దాచడానికి, నియంత్రణ మెనుని ఉపయోగించడానికి మరియు ఏకకాలంలో నియంత్రించడానికి ఉపయోగించవచ్చు. బహుళ నియంత్రికలను ఉపయోగించి రెండు చేతులు.