Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VR Desktop Environment Specifications
- VRWM
- The primary component of the VRDE would be a window manager which allows windows to be composited
- using Wayland. An important part of any operating system using VRDE would be full wayland support,
- especially in games. This will be built on top of Qt, for rapid development and easy maintainance.
- Windows would be composited as floating 2d rectangles, to be positioned by the mouse (represented
- by a 3d pointer which is always either at a fixed distance, or on the topmost window) that moves in
- 3d space. By holding down the window control button (by default the 'Windows' key) and moving the
- mouse in the Y direction, one can move a window in the Z direction. Otherwise, standard clicking and
- dragging applies.
- Windows could be scaled in size (to have, for example, a large single plane to play games on set
- at a medium distance, projector-esque) by grabbing a window with the Windows key and scrolling the
- mouse wheel. Due to the 3d nature of each window, this wouldn't result in a quality loss compared to
- default, 1:1 scaling of other windows, as they all need to be rendered in a 3d space. Clicking the
- mouse wheel while dragging it as such will set it back to 1:1.
- The window manager would assume any games which ask to be run fullscreen to be running their own
- virtual reality in-game, and allow them a full, minimal latency composition to the screen itself. The
- The Overlay (VR Overlay) would potentially introduce latency, but only to the VR game, and only when
- active (so you would not be in the game).
- Desktop
- Instead of having a 'wallpaper' like typical environments, to start the VRWM would have a cubemap
- set at infinity distance. There will also be a static floor circle, or other platform, so that it
- doesn't appear as if the user is floating in free space (can be disabled). The user is free to move
- about the environment with bindable arrow keys, but as the original intent is that the user remain
- fairly still, for the most part HMD positional tracking will suffice.
- Avatar
- The user will be represented, by default, only using components they have matching hardware
- interfaces for. For those using some form of 3d input, hands will be available, for those will full
- positional tracking, a body, etc. Avatar will be alterable through the theme settings. If position is
- not available but a higher setting is selected, avatar will be estimated from what is given.
- VR Overlay
- Perhaps the most vital component is the ability to seamlessly access features of the desktop
- environment from within a fullscreen game itself, or simply access panels without having to reach out
- and grab something offhand just to select a new window. Because Wayland can allow something like an
- overlay without needing to preload anything into the program itself, we could have the ability to
- pull up a menu (perhaps like Wormslayer's https://www.youtube.com/watch?v=Rs9kocefwaA) to access key
- features of the DE. By pressing Windows+Space, the current VR game will either be frozen in place and
- greyed out, or unaffected, and the VRWM's avatar's hands will appear at the tracker positions. Any
- windows you have placed into the 'Overlay' category, such as chat windows, will appear where you have
- positioned them (preferably closeby and small). Whatever menu style is selected, such as WormSlayer's,
- will appear when whatever key action you have selected occurs (such as turning your palm to the screen).
- From here you will have a variety of menus to choose from, by touching the chosen menu or by pressing
- the back button (near the heel of the hand) to navigate throughout. Directly on the palm will be a status
- layout of things one would normally have located on the taskbar.
- - = definate, * = possible
- Items included in the menus will at least include:
- - Applications (launch)
- - Workspaces (allowing drag and drop, including into the Overlay workspace)
- - Settings
- - Logout / Shut Down
- * Window Switcher
- * Task Menu
- * Favorites
- Items included on the palm itself will include:
- - Current time
- - Tray icons
- - Notifications (using libnotify), with sound
- * Window Switcher
- * System load, FPS, etc
- This menu will be available in-game by using the selected shortcut key, or on the standard desktop
- using the key action.
- Potentially, notifications from LibNotify could be placed in a low area of the field of vision with
- partial transparency, to allow you to see chat messages from friends (or anything else really) while still
- in-game.
- Configuration
- User configuration will be completed using the Oculus Rift calibration utility, and profiles will
- be loaded from that as well (at least while the WM is Oculus-specific). Some hinting may be neccesary
- to the individual windows to ensure that the user can see the configuration utility, and the
- calibration window, as intended.
- A menu with the standard configuration of most DEs will be available as well, including at least:
- - Theme / Wallpaper
- - Avatar customization
- - Window manager settings
- - Keyboard / Mouse / Gamepad settings
- - Removable devices
- - Perferred Apps
- - Startup Applications
- - Display Settings
- For theme, selectable themes will allow the user to use any wallpaper or window theme they wish. As the
- window manager will be built on and using Qt, the windows themselves will be decorated using whatever QT themes
- are installed and selected. A secondary menu will be provided to select a (hopefully matching) GTK3 theme, to
- have consistant themeing.
- As for the window manager, many different behaviors should be readily available. Though the default would be
- as described above, some users could prefer a box layout, a composited textured sphere, or any number of tiling
- or arranging window settings. A number of these should be provided if possible, with at least:
- - Free layout
- - Automatic distributing layout (Cylindrical)
- Applications
- A minimum suite of applications will be provided, ideally with their own 3d capabilities, to let the user
- interact with their system, usually without having to use a terminal directly.
- - Terminal
- A must on any linux system is a reliable terminal emulator. This will be two-dimensional, with tab-switching
- and any of the typical features neccesary.
- - File Manager
- This is one of the applications that really would look better in VR. One possibility would be a flat surface
- with the directory name and fullpath floating above it, with 3d icons representing each file. Files could be
- picked and placed by hand to move them around, or brought into a context menu through other actions.
- A surface oriented at the user with appearance similar to a window, minus the 3d icons, could be used as a
- fallback for users who only have a mouse.
- - About page
- - Configuration Menu (Configuration)
- - Image viewer
- - Object viewer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement