Advertisement
Guest User

Untitled

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