Web Apps - mdeguzis/SteamOS-Tools GitHub Wiki
Table of Contents generated with DocToc
Notice!
As of 20151020, in the latest Steam Client beta, and SteamOS beta itself, Netflix and other DRM-protected content (e.g. Amazon video) now work in the native SteamOS browser! You can reference this short video I put together.
#Summary
Web apps will launch via google-chrome-stable and connect to the website in --kiosk mode. A default users config directory for Google chrome is copied over, so that the "unexpected shutdown" message is avoided.
#Custom Shortcuts
The extension Shortcut Manager will allow you to add your own custom shortcuts. Open any /usr/bin/NAME-Launcher.sh file and remove the --kiosk temporarily. Launch the web app and add this extension. Details for the exetension are in the link. This is beneficial if your air mouse or remote does not have a CTRL key like mine.
#Pre-requisites
- Some Linux knowledge
- Access to desktop mode of SteamOS (Settings > Interface)
- Password for the
desktopuser set. (Fire up a terminal window and enterpasswdto gain access to sudo
#Installation
sudo apt-get install git
git clone https://github.com/ProfessorKaos64/SteamOS-Tools
cd SteamOS-Tools
./desktop-software.sh install webapp
#Uninstalling
./desktop-software.sh uninstall webapp
#The Process The script, on initial launch, the script will display relevant warnings and also ask you to add the Debian repository(s) if not detected first. You will need these added for installing Google Chrome, so please add them if advised to do so. You will be allowed to select a few "preset" web urls for the web app. You can choose custom to enter your own.
#Controls
This assumes you have enabled mouse control for the web app in question for supported gamepads listed during the script.
Supported gamepads
- Microsoft Xbox 360 Controller (wired)
- Microsoft Xbox 360 Controller (wireless)
- Sony Dualshock 3 Controller (wired)
- Sony Dualshock 3 Controller (wireless)
- Sony Dualshock 4 Controller (wired)
Gamepad
- Left Joystick (Up/Down/Left/Right) - Move mouse cursor
- Right Joystick (Up/Down/Left/Right) - Scroll wheel
- A/RB/cross - Mouse left button
- B/LB/circle - Mouse right button
- X/square - Spacebar (useful for pausing fullscreen videos)
- Y/triange - Esc (useful for exiting fullscreen mode on videos)
- Dpad (left/right) - backward or forward page navigation
- Dpad (left/right/up/down) - Digital button navigation with
- R3 (right stick click) - Reset zoom status to default view.
- Back button / Share (PS4) - Exit web app
- LT/L2 -Zoom out
- RT/R2 - Zoom in
- R3/Right stick click - Reset zoom position to default.
##Keyoard Nothing is altered with respect to common keyboard controls. You can find the standard controls for Google Chrome (the back-end) at this page. Only gamepad controls are given and configured above to augment and allow usage via those devices.
Of special note:
CTRL+Wwill close the current tab (recommended).CTRL+SHIFT+Wwill close the current window.
#Adding launchers to SteamOS Return to Steam Big Picture Mode and click on your library. Choose the "+" sign and "Add non-Steam game to my library." Locate "Netflix", or any other web app, and hit ok/A on your controller. As of 20150901, The Steam beta client has moved this to Settings > Add Library Shortcut.
#Additional artwork / Steam banner images
If you wish to add images / banners for your own custom URLs or web apps you add, you can checkout these resources:
- /r/Steamgrid
- The 'extra-artwork' folder within this GitHub repository. Extra artwork / banners can be added upon reques.
- Google image search with the 460x215 image dimension specification.
#Troubleshooting
This section will cover common known issues, how to possibly deal with them, etc. If you have any questions, comments, or criticisms, please submit an issues ticket on GitHub. Most issues will be stored within the issues section, not in this location.
Logs
In many cases, reviewing the logs under /tmp/dumps/ can help. You will see crash logs and typically a "stdout" log which will contain useful information. Some information can also be found under /home/steam/.local/share/Steam or /home/steam/.steam.
The process log/output of running a web app is stored under /tmp/webapps_log.txt
Common issues
Issue 1: The Google Chrome window for the web app does not cover the entire screen.
===
Solution:
If you start Chrome in desktop mode and its window is adjusted to fit between a left and top bar, the next time is started in Xephyr it will use exactly that size and not fill the screen. Perform the following in a terminal window session:
sudo su - steam
google-chrome
Resize Chrome to be really full screen (so to cover everything) using F11 on your keyboard, then close it with Ctrl+W. Return to Steam, and try it again in Xephyr to see if that is still the case (or even try smaller window sizes to see if it remembers them).
Issue 2: Exiting Web Apps does not seem to work
=== There are rare occasions where antimicro does not release its process when you are done with a web app. If cases such as this, use the center button on your gamepad to select the "Exit Game" option from the Steam overlay. If extreme cases, a reboot will do the trick if all else fails.
#Thanks
Thanks to Shark, Ryochan7, and Dubigrasu of the Steam Universe forums for the launcher help.