1 line
5.8 KiB
JavaScript
1 line
5.8 KiB
JavaScript
"use strict";(self.webpackChunkstardust_website=self.webpackChunkstardust_website||[]).push([[498],{5680:(e,t,r)=>{r.d(t,{xA:()=>u,yg:()=>m});var n=r(6540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),l=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),c=l(r),g=a,m=c["".concat(p,".").concat(g)]||c[g]||d[g]||o;return r?n.createElement(m,s(s({ref:t},u),{},{components:r})):n.createElement(m,s({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,s=new Array(o);s[0]=g;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[c]="string"==typeof e?e:a,s[1]=i;for(var l=2;l<o;l++)s[l]=r[l];return n.createElement.apply(null,s)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},8227:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(8168),a=(r(6540),r(5680));const o={sidebar_position:3},s="Setup",i={unversionedId:"getting-started/setup",id:"getting-started/setup",title:"Setup",description:"First you need to install and run the server from https//gitlab.freedesktop.org/monado/demos/xrgears first.",source:"@site/docs/02-getting-started/03-setup.md",sourceDirName:"02-getting-started",slug:"/getting-started/setup",permalink:"/docs/getting-started/setup",draft:!1,editUrl:"https://github.com/StardustXR/website/edit/main/docs/02-getting-started/03-setup.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Technical Overview",permalink:"/docs/getting-started/tech-overview"},next:{title:"Making Clients",permalink:"/docs/getting-started/making-clients"}},p={},l=[],u={toc:l},c="wrapper";function d(e){let{components:t,...o}=e;return(0,a.yg)(c,(0,n.A)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"setup"},"Setup"),(0,a.yg)("p",null,"First you need to install and run the server from ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/StardustXR/server"},"https://github.com/StardustXR/server"),". Follow the README. If you have issues getting OpenXR to work, try running ",(0,a.yg)("a",{parentName:"p",href:"https://gitlab.freedesktop.org/monado/demos/xrgears"},"https://gitlab.freedesktop.org/monado/demos/xrgears")," first."),(0,a.yg)("p",null,"After the server is running, you'll need to run some clients. Here's a demo showing some off:\n",(0,a.yg)("img",{alt:"A showcase of some different clients",src:r(3017).A})),(0,a.yg)("p",null,"Non-exhaustive list of clients:"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://github.com/StardustXR/flatland"},"Flatland"),": A panel item UI (XR equivalent of a window manager) so you can interact with your apps using virtual touchscreens. To show Wayland apps, run them with the proper ",(0,a.yg)("inlineCode",{parentName:"li"},"WAYLAND_DISPLAY")," environment variable, in the server's startup script, or use a stardust launcher such as gravity or protostar. Flatland works great in 3DoF or 6DoF with direct touch and pointer interaction.\n",(0,a.yg)("img",{alt:"A flat panel containing the prism launcher",src:r(9504).A,width:"1207",height:"679"})),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://github.com/StardustXR/gravity"},"Gravity"),": Command line tool to launch programs inside of stardust at a particular offset in space. This is nestable so you can run a script using gravity, and then gravity inside that script to make a whole composed setup out of thin air! It also ensures that everything launched through it will properly connect to the stardust server, such as wayland clients."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://github.com/StardustXR/protostar"},"Protostar"),": Prototype app launcher library/examples. Grab app icons and drop them in space to launch apps where they're dropped."),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("a",{parentName:"li",href:"https://github.com/StardustXR/magnetar"},"Magnetar"),": Workspaces in 3D. Any object inside the rings will move with them, so you can move a bunch of stuff out of the way temporarily when you don't need it.")))}d.isMDXComponent=!0},3017:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/demo_01-3f062278f190ed11479d5ea8e039dc64.mp4"},9504:(e,t,r)=>{r.d(t,{A:()=>n});const n=r.p+"assets/images/flatland-c9d34ce9792aaeed42e52ead19bb1a4c.png"}}]); |