Compare commits

..

70 Commits
v1.8 ... v1.11

Author SHA1 Message Date
343e243c77 Version 1.11 (#91)
* Update README.md

* Bump version to 1.11

* Bump version to 1.11
2023-08-12 19:41:14 +07:00
0722e02ab0 Minor fix 2023-08-12 17:56:23 +07:00
c520fde438 Show GamePass app's version (#85) 2023-08-12 17:35:40 +07:00
2f4396d948 Update Settings UI 2023-08-12 17:01:44 +07:00
88d46581bf Add touch's controller button styles: default/white/muted 2023-08-12 16:24:37 +07:00
0cd6106957 Increase TouchController.#dispatchMessage timeout time from 10ms to 100ms 2023-08-12 14:55:54 +07:00
43b932f5d6 Add "Enable microphone on game launch" setting (#89)
* Add "Enable microphone on game launch" setting

* Stream menu: clone the second last button instead of the first one (usually the mic button)

* Close the HUD when clicking clicking on the Video Settings button

* Use a different CSS for the Stream Stats button when it's ON
2023-08-12 14:52:27 +07:00
8315cee7ec Update README.md 2023-08-12 14:31:21 +07:00
9d6db3ed37 Fix for Safari (#88)
* Reload the page until the script is loaded first

* Trying to fix the issue with error page

* Show a message when reloading the page

* Minor refactoring in overrides.inputConfiguration

* Automatically reload the page when running into the "We are sorry..." error message
2023-08-12 10:43:51 +07:00
e85fc9aa47 Update README.md 2023-08-11 08:18:41 +07:00
2d680d63a1 Update README.md 2023-08-10 11:03:22 +07:00
aefd9e9320 Add warnings for Safari 2023-08-08 21:33:40 +07:00
ecaead1522 Update README.md 2023-08-08 08:47:01 +07:00
f71152595f Update issue templates 2023-08-08 08:14:58 +07:00
c633c81c90 Bump version to 1.10.2 2023-08-08 07:37:39 +07:00
c76cf83c58 Bump version to 1.10.2 2023-08-08 07:37:23 +07:00
5a5c65e7a2 Fix the fullscreen bug on Android (#49) 2023-08-08 07:35:34 +07:00
da7ff64471 Update feature_request.md 2023-08-07 08:54:28 +07:00
cd9f53a052 Update issue templates 2023-08-07 08:53:16 +07:00
c782526c32 Update README.md 2023-08-07 07:49:02 +07:00
e8ad1f9350 Update README.md 2023-08-07 07:19:22 +07:00
7779473eee Version 1.10.1 (#73)
* Update README.md

* Bump version to 1.10.1

* Bump version to 1.10.1
2023-08-06 18:57:14 +07:00
0b0f5add1b Toggle touch controller visibility (#72)
* Double-tap anywhere at the bottom of the screen to show/hide touch controller

* Update CSS

* Update the size of the screenshot button

* Update screenshot button's CSS

* Update screenshot button's opacity
2023-08-06 18:51:06 +07:00
cd82c5a94c Update README.md 2023-08-06 10:33:23 +07:00
140005bda5 Fix borken layout 2023-08-06 10:24:54 +07:00
76d99a994a Update README.md 2023-08-06 09:53:16 +07:00
48e1eb1a52 Update README.md 2023-08-06 09:38:18 +07:00
2ecd6f23ff Version 1.10 (#68)
* Update README.md

* Fix sometimes the touch controller layout doesn't show at the beginning

* Restore GAME_TITLE_ID

* Update README.md

* Bump version to 1.10

* Bump version to 1.10
2023-08-06 09:29:23 +07:00
3e97263caa Change text of the "Reload" button to "Reloading..." after clicking on it 2023-08-06 07:25:57 +07:00
19856e6381 Split settings into groups (#67) 2023-08-06 07:17:46 +07:00
d6852e132d Show stats bar on startup if Quick Glance mode is enabled 2023-08-06 06:21:12 +07:00
a5d340e4e8 Show charging status in Battery badge 2023-08-06 06:20:54 +07:00
34f33f2508 Add setting to enable touch controller for all games (#66)
* Add "Enable touch controller for all games" feature

* Minor fixes

* Disable STREAM_ENABLE_TOUCH_CONTROLLER when STREAM_ENABLE_TOUCH_CONTROLLER is enabled

* Combine STREAM_ENABLE_TOUCH_CONTROLLER & STREAM_HIDE_TOUCH_CONTROLLER into STREAM_TOUCH_CONTROLLER
2023-08-06 05:48:38 +07:00
ebde464bfa Update README.md 2023-08-05 14:48:02 +07:00
244fef1475 Update README.md 2023-08-05 11:58:53 +07:00
d43659da30 Fix missing key for STREAM_HIDE_IDLE_CURSOR 2023-08-05 10:17:46 +07:00
1dc411281c Fix check for update feature 2023-08-05 10:03:56 +07:00
3d3811b8f3 Disable the "Disable touch controller" setting on non-touchable devices 2023-08-05 09:49:22 +07:00
e940524ab1 Improve high-quality codec support detection 2023-08-05 09:39:54 +07:00
fe7b8d1ade Minor optimization 2023-08-05 09:20:25 +07:00
6264eaf32d Add onStreamStarted() 2023-08-05 09:09:25 +07:00
e6980b5204 Update README.md 2023-08-05 08:51:50 +07:00
4a0830895f Change "Enable quick glance" to "Enable 'Quick Glance' mode" 2023-08-05 08:38:27 +07:00
92157cdd5d Change "Dots icon" to "System menu's icon" 2023-08-05 08:36:38 +07:00
066d999241 Update README.md 2023-08-05 08:12:06 +07:00
1307b43f0c Switch to icons from phosphoricons.com 2023-08-05 08:03:40 +07:00
ecad1dc51b Bump version to 1.9 2023-08-04 18:40:24 +07:00
e1c1d74a22 Bump version to 1.9 2023-08-04 18:40:08 +07:00
b1881678b1 Update README.md 2023-08-04 18:30:08 +07:00
9d8d9680d3 Add "Quick glance" setting for Stream stats (#59) 2023-08-04 18:16:12 +07:00
4d2b6c5ef7 Simplify stream menu (#58)
* Add "Simplify Stream's menu" setting

* Fix Smart TV layout

* Fix not able to hide Video bar if the "Disable touch controller" is on

* Combine Region + Server badges into one

* Reduce badge's font-size from 16 to 14px

* Fix battery level showing .99999

* Don't show battery badge when it's 100%

* Fix showing incorrect Audio codec in Safari

* Add "Safari on macOS" User-Agent profile

* Fix showing incorrect Video codec in Safari

* Use "-webkit-user-select" for Safari

* Update Video badge's color
2023-08-04 16:19:18 +07:00
0c80e3ab1d Disable PWA prompt in Safari on iOS/iPadOS (#52) 2023-08-04 07:17:59 +07:00
6f326e8f2a Update README.md 2023-08-03 09:37:28 +07:00
92fe3756cf Update README.md 2023-08-02 20:35:27 +07:00
8ee28d92d9 Bump version to 1.8.2 2023-08-02 12:45:23 +07:00
1f94058b99 Bump version to 1.8.2 2023-08-02 12:45:08 +07:00
95e94242aa Update README.md 2023-08-02 12:44:40 +07:00
91aa28450d Fix battery status 2023-08-02 11:58:18 +07:00
8eb8bbf598 Add In/Out badges (#48)
* Show In/Out badges

* Cache DOMs of Stream badges

* Refresh badges every 3s

* Shorten Video badge: "1920x1080" -> "1080p"

* Fix 404 error when spoofing User-Agent (#34)
2023-08-02 11:51:46 +07:00
47817d9d36 Update color of "Video" badge 2023-08-01 21:17:27 +07:00
b770a4c9d3 Bump version to 1.8.1 2023-08-01 08:32:29 +07:00
a27c0ed8f6 Bump version to 1.8.1 2023-08-01 08:31:56 +07:00
8ac37754e6 Combine "Resolution" and "Video" badges into one 2023-08-01 08:31:01 +07:00
d9288a322b Update battery stat 2023-08-01 08:23:48 +07:00
5facfd2348 Fix inaccurate percentages of PL & FL stats 2023-08-01 08:18:03 +07:00
889717be7d Show confirm dialog to refresh the stream after holding for 1s 2023-08-01 08:07:57 +07:00
4b0f0784ae Fix stats bar not showing sometimes 2023-08-01 08:05:18 +07:00
31217d01bb Update bug_report.md 2023-08-01 07:40:50 +07:00
2f6176e906 Update README.md 2023-07-31 14:49:03 +07:00
fe011fd0f2 Update README.md 2023-07-31 08:28:37 +07:00
5 changed files with 1203 additions and 398 deletions

View File

@ -7,27 +7,15 @@ assignees: ''
--- ---
**Describe the bug** **Platform**
A clear and concise description of what the bug is. - Device: [e.g. Phone, Laptop, Desktop, TV]
- OS: [e.g. Windows, Android, iOS]
**To Reproduce** - Browser: [e.g. Chrome, Kiwi]
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Platform (please complete the following information):**
- OS: [e.g. Android]
- Browser: [e.g. chrome, firefox]
- Browser Version: [e.g. 100] - Browser Version: [e.g. 100]
- Better xCloud Version: [e.g. 1.4] - Better xCloud Version: [e.g. 1.10]
**Additional context** **Describe the bug**
Add any other context about the problem here. ...
**Screenshots/Videos**
If applicable, add screenshots/videos to help explain your problem.

View File

@ -7,14 +7,10 @@ assignees: ''
--- ---
**Is your feature request related to a problem? Please describe.** **I'm using:**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - Device:
- OS:
**Describe the solution you'd like** - Browser:
A clear and concise description of what you want to happen.
**I want to suggest this feature:**
**Describe alternatives you've considered** ...
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

161
README.md
View File

@ -1,9 +1,9 @@
# Better xCloud # Better xCloud
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser. Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser.
The main target of this script is mobile users, but it should work great on desktop too. The main target of this script is mobile users, but it should work great on desktop too.
This script makes me spend more time with xCloud, and I hope the same thing happens to you. This script makes me spend more time with xCloud, and I hope the same thing happens to you.
Give this project a 🌟 if you like it. Thank you 🙏. If you like this project please give it a 🌟. Thank you 🙏.
[![Latest version](https://img.shields.io/github/v/release/redphx/better-xcloud?label=latest)](https://github.com/redphx/better-xcloud/releases) [![Latest version](https://img.shields.io/github/v/release/redphx/better-xcloud?label=latest)](https://github.com/redphx/better-xcloud/releases)
[![Total stars](https://img.shields.io/github/stars/redphx/better-xcloud?color=%23cca400)](https://github.com/redphx/better-xcloud/stargazers) [![Total stars](https://img.shields.io/github/stars/redphx/better-xcloud?color=%23cca400)](https://github.com/redphx/better-xcloud/stargazers)
@ -11,17 +11,30 @@ Give this project a 🌟 if you like it. Thank you 🙏.
[![Total downloads](https://img.shields.io/github/downloads/redphx/better-xcloud/total?color=%23e15f2c)](https://github.com/redphx/better-xcloud/releases) [![Total downloads](https://img.shields.io/github/downloads/redphx/better-xcloud/total?color=%23e15f2c)](https://github.com/redphx/better-xcloud/releases)
--> -->
## Table of Contents
- [**Features**](#features)
- [**How to install**](#how-to-install)
- [**Compatibility**](#compatibility)
- [**Stream stats**](#stream-stats)
- [**Capture screenshot**](#capture-screenshot)
- [**FAQ**](#faq)
- [**Donation**](#donation)
- [**Acknowledgements**](#acknowledgements)
- [**Disclaimers**](#disclaimers)
## Features ## Features
<img width="475" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/f4187ef8-fa10-4eab-b085-ef3c3aed3201"> <img width="400" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/65ee4193-c31d-46fb-b580-196614246ee6">
<img width="475" alt="Stream HUD UI" src="https://github.com/redphx/better-xcloud/assets/96280/68f91041-10b2-4fd9-adc1-e2a21db7e36f">
<br>
<img width="600" alt="Stream HUD" src="https://github.com/redphx/better-xcloud/assets/96280/e30f6514-13ca-41c6-bff2-979573cff956">
<br>
<img width="600" alt="Video settings" src="https://github.com/redphx/better-xcloud/assets/96280/c45877f9-379c-4ba4-977c-021d3d8835e4">
&nbsp; &nbsp;
**Demo video:** https://youtu.be/oDr5Eddp55E **Demo video:** [https://youtu.be/oDr5Eddp55E ](https://youtu.be/AYb-EUcz72U)
- **🔥 Show stream stats** - **🔥 Show stream stats**
> Check [Stream stats section](#stream-stats) for more info. > Check [Stream stats section](#stream-stats) for more info.
@ -30,33 +43,69 @@ Give this project a 🌟 if you like it. Thank you 🙏.
- **🔥 Hold the "Quit game" button for one second to refresh the stream** - **🔥 Hold the "Quit game" button for one second to refresh the stream**
> Sometimes you can fix the bad connection to the stream simply by refreshing the page. > Sometimes you can fix the bad connection to the stream simply by refreshing the page.
> Useful on mobile where the pull-to-refresh feature doesn't work while playing. > Useful on mobile where the pull-to-refresh feature doesn't work while playing.
- **Switch region of streaming server** - **🔥 Touch controller**
> Enable touch controller support for all games.
### Server
- **Set the region of streaming server**
> Connect to another server instead of the default one. Check the [**FAQ** section](#faq) for some notes. > Connect to another server instead of the default one. Check the [**FAQ** section](#faq) for some notes.
- **Preferred game's language** - **Preferred game's language**
> If the game doesn't support this language, it will use the same language as xCloud's website. > If the game doesn't support this language, it will use the same language as xCloud's website.
- **Stream's target resolution** - **Prefer IPv6 server**
> Set stream's resolution. > Might reduce latency.
### Stream
- **Set target resolution**
> By default you only get 1080p stream when playing on desktop. > By default you only get 1080p stream when playing on desktop.
> This feature can give you 1080p stream even on mobile, without having to change User-Agent. > This feature can give you 1080p stream even on mobile, without having to change User-Agent.
- **Force high quality codec (if supported)<sup>(\*)</sup>** - **Force high-quality codec (if supported)<sup>(\*)</sup>**
> Force xCloud to use the best streaming codec profile (same as desktop & TV) if possible. You don't have to change User-Agent anymore. > Force xCloud to use the best streaming codec profile (same as desktop & TV) if possible. You don't have to change User-Agent anymore.
> You should enable this feature even if you're on desktop. > You should enable this feature even if you're on desktop.
> Not available for some browsers (Firefox, Safari...). Use the [changing User-Agent method](https://github.com/redphx/better-xcloud/wiki/UserAgent) instead. > Not available for some browsers (Firefox, Safari...).
> Use more bandwidth & battery. > Use more bandwidth & battery.
> Comparison video with the setting ON & OFF: https://youtu.be/-9PuBJJSgR4 > Comparison video with the setting ON & OFF: https://youtu.be/-9PuBJJSgR4
- **Prefer IPv6 streaming server**
> Might reduce latency.
- **Disable bandwidth checking** - **Disable bandwidth checking**
> xCloud won't warn about slow connection speed. > xCloud won't warn about slow connection speed.
- **Enable microphone on game launch**
> Automatically enable the mic when starting to play a game.
- **Hide mouse cursor on idle**
> Hide the mouse cursor after 3 seconds of not moving.
### 🔥 Touch controller
- **Availability**
> Only for devices with touch support (Android/iOS/iPadOS/...).
> - **Default**: nothing change.
> - **Off**: stop the touch controller from showing when touching the screen. Useful when you play on a device with a built-in controller like Logitech G Cloud, Steam Deck, etc.
> - **All games**: enable touch controller support for all games. Games with custom layout won't be affected.
> Double-tap anywhere at the bottom of the screen to show/hide the controller. Useful when you're viewing cutscenes.
> ![touch-controller](https://github.com/redphx/better-xcloud/assets/96280/6ad6fc76-74aa-46f8-8fb0-806474f494ad)
- **Button styles**
> - Default
> - Muted
> - All white (only for standard/default controller)
> <img width="400" alt="Button styles" src="https://github.com/redphx/better-xcloud/assets/96280/2bfef2b3-6712-4924-b067-c2312f8c8062">
### UI
- **Simplify Stream's menu**
> Hide the labels of the menu buttons.
- **Skip Xbox splash video** - **Skip Xbox splash video**
> Save 3 seconds. > Save 3 seconds.
- **Hide Dots icon while playing** - **Hide System menu's icon**
> You can still click on it, but it doesn't block the screen anymore. > You can still click on it, but it doesn't block the screen anymore.
- **Disable touch controller** - **Reduce UI animations**
> Stop the touch controller from showing when touching the screen. > Disable `transition` CSS property in some elements. The smooth scrolling cannot be disabled.
> Useful when you play on a device with a built-in controller like Logitech G Cloud, Steam Deck, Retroid, etc.
- **Hide mouse cursor while playing** ### Other
> Hide the mouse cursor after 3 seconds of not moving. - **Disable social features**
> Features like friends, chat... Disable these will make the page load faster.
- **Disable xCloud analytics**
> The analytics contains statistics of your streaming session, so I'd recommend allowing analytics to help Xbox improve xCloud's experience in the future.
### Stream's video features
⚠️ These features don't work when xCloud's "Clarity Boost" feature is ON ([#64](https://github.com/redphx/better-xcloud/issues/64)).
- **Stretch video to full sctreen** - **Stretch video to full sctreen**
> Useful when you don't have a 16:9 screen > Useful when you don't have a 16:9 screen
- **Adjust video filters** - **Adjust video filters**
@ -64,34 +113,33 @@ Give this project a 🌟 if you like it. Thank you 🙏.
- **Display stream's statuses** - **Display stream's statuses**
> Region/Server/Codecs/Resolution... > Region/Server/Codecs/Resolution...
> Current playtime of the session. > Current playtime of the session.
> Current battery level. Only visible on battery-powered devices. > Current battery level. Not working on [some browsers](https://caniuse.com/battery-status).
- **Disable social features** > Estimated total data sent/received.
> Features like friends, chat... Disable these will make the page load faster.
- **Disable xCloud analytics** ### Advanced features
> The analytics contains statistics of your streaming session, so I'd recommend allowing analytics to help Xbox improve xCloud's experience in the future.
- **Change User-Agent** - **Change User-Agent**
> Useful when you're using unsupported browsers. > Useful when you're using unsupported browsers.
> If you're on Safari, changing User-Agent to "Edge on Windows" will allow you to use Mic feature.
> This setting only affects xCloud, and it doesn't change browser's global User-Agent. > This setting only affects xCloud, and it doesn't change browser's global User-Agent.
> 📝 If you get 404 error after using this feature, try refreshing the page a few times. See [#34](https://github.com/redphx/better-xcloud/issues/34). > 📝 If you get 404 error after using this feature, try refreshing the page a few times. See [#34](https://github.com/redphx/better-xcloud/issues/34).
- **Reduce UI animations**
> Disable `transition` CSS property in some elements. The smooth scrolling cannot be disabled.
- **Hide footer and other UI elements** - **Hide footer and other UI elements**
<sup>(\*)</sup> By default (for compatibility reasons) xCloud only uses high quality codec profile when you use Tizen TV or Chrome/Edge/Chromium browser on Chrome/MacOS. Enable this setting will give you the best experience no matter what platform & browser you're on. <sup>(\*)</sup> By default (for compatibility reasons) xCloud only uses high quality codec profile when you use Tizen TV or Chrome/Edge/Chromium browser on Chrome/MacOS. Enable this setting will give you the best experience no matter what platform & browser you're on.
## How to use ## How to install
1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers. 1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers. For Safari, use [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887) (not working properly, see [#81](https://github.com/redphx/better-xcloud/issues/81)).
2. Install **Better xCloud**: 2. Install **Better xCloud**:
- [Stable version](https://github.com/redphx/better-xcloud/releases/latest/download/better-xcloud.user.js) - [Stable version](https://github.com/redphx/better-xcloud/releases/latest/download/better-xcloud.user.js)
- [Dev version](https://github.com/redphx/better-xcloud/raw/main/better-xcloud.user.js) - [Dev version](https://github.com/redphx/better-xcloud/raw/main/better-xcloud.user.js)
4. Refresh [xCloud web page](https://www.xbox.com/play/). I only distribute **Better xCloud** on GitHub, *DO NOT* download it on other websites or from unknown sources.
5. Click on the new "SERVER NAME" button next to your profile picture to adjust settings. 3. Refresh [xCloud web page](https://www.xbox.com/play/).
6. Don't forget to enable auto updating for the script in Tampermonkey. 4. Click on the new "SERVER NAME" button next to your profile picture to adjust settings.
5. Don't forget to enable auto updating for the script in Tampermonkey.
To update manually, just install the script again (you won't lose your settings). To update manually, just install the script again (you won't lose your settings).
## Tutorial videos ⚠️⚠️⚠️ If you're using Kiwi Browser on Android, make sure to follow the steps correctly and install the script with Tampermonkey (not installing it as an extension), or else it won't work.
### Tutorial videos
If you still have trouble installing **Better xCloud**, you can follow one of these tutorial videos: If you still have trouble installing **Better xCloud**, you can follow one of these tutorial videos:
- 🇧🇷 [Tudo isso agora tem no xCloud!! (ChipTec)](https://youtu.be/zS8Zy0mYIbU?t=40) - 🇧🇷 [Tudo isso agora tem no xCloud!! (ChipTec)](https://youtu.be/zS8Zy0mYIbU?t=40)
- 🇫🇷 [#Tuto Xbox Cloud Gaming : Ecran ultra large et adieu les bandes noires sur smartphone (Cloud Gaming France)](https://www.youtube.com/watch?v=5U05KoTdDHs) - 🇫🇷 [#Tuto Xbox Cloud Gaming : Ecran ultra large et adieu les bandes noires sur smartphone (Cloud Gaming France)](https://www.youtube.com/watch?v=5U05KoTdDHs)
@ -114,29 +162,30 @@ If you still have trouble installing **Better xCloud**, you can follow one of th
Don't see your browser in the table? If it supports Tampermonkey/Userscript then the answer is likely **"YES"**. Don't see your browser in the table? If it supports Tampermonkey/Userscript then the answer is likely **"YES"**.
<sup>1</sup> Follow [this guide](https://support.mozilla.org/en-US/kb/find-and-install-add-ons-firefox-android) to install Tampermonkey on Firefox Android. Its Gamepad API doesn't work properly so it might not recognize your controller. <sup>1</sup> Follow [this guide](https://support.mozilla.org/en-US/kb/find-and-install-add-ons-firefox-android) to install Tampermonkey on Firefox Android. Its Gamepad API doesn't work properly so it might not recognize your controller.
<sup>2, 3</sup> Requires [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887) (free & open source). <sup>2, 3</sup> Requires [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887) (free & open-source). Check [this page](https://github.com/redphx/better-xcloud/wiki/Using-with-Safari) before using.
<sup>4</sup> NOT RECOMMENDED at the moment since its Userscript implementation is not working properly (see https://github.com/redphx/better-xcloud/issues/5 for full details). <sup>4</sup> NOT RECOMMENDED at the moment since its Userscript implementation is not working properly (see https://github.com/redphx/better-xcloud/issues/5 for full details).
--- ---
- **Kiwi Browser** is the best choice on Android. All features work, it means you can get 1080p stream + high quality codec profile (the best possible quality). - **Kiwi Browser** is the best choice on Android. All features work, it means you can get 1080p stream + high-quality codec profile (the best possible quality).
- **Better xCloud** also works on Android TV, but you'll have to sideload the browser APK and need a Bluetooth mouse if you want to interact with the Settings. - **Better xCloud** also works on Android TV, but you'll have to sideload the browser APK and need a Bluetooth mouse if you want to interact with the Settings.
## Stream stats ## Stream stats
<img width="500" alt="Stream stats" src="https://github.com/redphx/better-xcloud/assets/96280/70f4b1bb-4e3d-4f27-9b2f-afcfe1b8b261"> <img width="500" alt="Stream stats" src="https://github.com/redphx/better-xcloud/assets/96280/0d4abb6b-49ab-4c9a-a52d-df7e396d2145">
- While playing > `...` > `Stream Stats`. - While playing > `...` > `Stream Stats`.
- Double-click on the stats bar to show Settings dialog. - Double-click on the stats bar to show the Settings dialog.
- This bar is updated every second. - This bar is updated every second.
- **Quick glance** feature: only show the stats bar when the System menu is expanded. The 👀 emoji at the beginning indicates that the stats bar is in the quick glance mode.
- ⚠️ Using **Better xCloud** or showing the stats bar also affects the performance of the stream. - ⚠️ Using **Better xCloud** or showing the stats bar also affects the performance of the stream.
| Abbr. | Full name | Explain | | Abbr. | Full name | Explain |
|------:|:-------------------|:-----------------------------------------------------------------------------------------------------------------------------------| |------:|:-------------------|:-------------------------------------------------------------------------------------------------------------------------------------------|
| FPS | Frames per Seconds | The number of decoded frames in the last second of the stream (equal to or lower than the FPS of the game) | | FPS | Frames per Seconds | The number of decoded frames in the last second of the stream (may not be the same as the FPS of the game) |
| DT | Decode Time | The average time it took to decode one frame in the last second (might be bugged [#26](https://github.com/redphx/better-xcloud/issues/26)) | | DT | Decode Time | The average time it took to decode one frame in the last second (bugged in Kiwi Browser [#26](https://github.com/redphx/better-xcloud/issues/26)) |
| RTT | Round Trip Time | The number of seconds it takes for data to be sent from your device to the server and back over (similar to ping, lower is better) | | RTT | Round Trip Time | The number of seconds it takes for data to be sent from your device to the server and back over (similar to ping, lower is better) |
| BR | Bitrate | The amount of data the server sent to your device in the last second | | BR | Bitrate | The amount of data the server sent to your device in the last second |
| PL | Packets Lost | The total number of packets lost | | PL | Packets Lost | The total number of packets lost |
| FL | Frames Lost | The total number of frames dropped prior to decode or dropped because the frame missed its display deadline | | FL | Frames Lost | The total number of frames dropped prior to decode or dropped because the frame missed its display deadline |
This info is provided by WebRTC API. You can use browser's built-in tool to see more info: This info is provided by WebRTC API. You can use browser's built-in tool to see more info:
- Chrome/Edge/Chromium variants: `chrome://webrtc-internals` - Chrome/Edge/Chromium variants: `chrome://webrtc-internals`
@ -177,21 +226,33 @@ I think it's very unlikely that you'll get banned for using this. Most of the fe
2. **Why is it an Userscript and not an extension?** 2. **Why is it an Userscript and not an extension?**
It's because not many browsers on Android support installing extensions (and not all extensions can be installed). It's because not many browsers on Android support installing extensions (and not all extensions can be installed).
3. **I see "???" button instead of the server's name** 3. **Why doesn't the xCloud website implement *this* or *that* feature from Better xCloud?**
That means Tampermonkey is not working properly. Please make sure you're using the latest version or switch to a well-known browser. Think of this project as an unofficial beta version of xCloud.
- **Better xCloud** doesn't have to worry about the compatibility much: if it doesn't work on this browser, it can just suggest you switch to another one. xCloud can't do the same.
- On the xCloud's side, they have a lot more users and devices to support, so it's more difficult for them to implement a new feature.
- Also, it's not easy to explain some of the features of **Better xCloud** to normal xCloud users.
4. **Can I use this with the Xbox Android app?** 4. **Can I use this with the Xbox Android app?**
No, you can't. You'll have to modify the app. No, you can't. You'll have to modify the app.
5. **Will you be able to enable the "Clarity Boost" feature on non-Edge browsers?** 5. **Will it be able to enable the "Clarity Boost" feature on non-Edge browsers?**
No. The "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment. No. The "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment.
6. **Will it be able to request a lower FPS or increase the maximum bitrate (15Mbps) of the stream?**
Sorry, no. The server decides all these settings.
7. **What's the meaning behind the name "Better xCloud"?**
It's a reference to an Userscript called "better360" that I created many years ago. I regret not choosing the name "xCloud Enhancement Suite", or XES for short.
## Donation
I'm doing this for fun, so you don't have to donate anything. You're already supporting me by using this script. Save that money toward your Xbox Game Pass Ultimate subscription 😄.
## User-Agent ## User-Agent
Moved to [wiki](https://github.com/redphx/better-xcloud/wiki/UserAgent). Moved to [wiki](https://github.com/redphx/better-xcloud/wiki/UserAgent).
## Acknowledgements ## Acknowledgements
- [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector) for the idea of IPv6 feature - [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector) for the idea of IPv6 feature
- Icons by [Adam Design](https://www.iconfinder.com/iconsets/user-interface-outline-27) - Icons by [Phosphor Icons](https://phosphoricons.com)
## Disclaimers ## Disclaimers
- Use as it your own risk. - Use as it your own risk.

View File

@ -1,5 +1,5 @@
// ==UserScript== // ==UserScript==
// @name Better xCloud // @name Better xCloud
// @namespace https://github.com/redphx // @namespace https://github.com/redphx
// @version 1.8 // @version 1.11
// ==/UserScript== // ==/UserScript==

File diff suppressed because it is too large Load Diff