Compare commits

...

127 Commits

Author SHA1 Message Date
bbce49791f Bump version to 2.1.1 2023-12-14 17:52:40 +07:00
d719f0c2b5 Update translations 2023-12-14 17:52:19 +07:00
622057980d Update README.md 2023-12-14 17:50:47 +07:00
24d608bc3e Redesign Quick Settings sidebar (#186)
* Redesign Quick Settings bar

* Move stream stats settings to quick settings bar

* Add "for" attributes to labels

* Minor optimization

* Stop rendering Toast

* Don't render UI elements when not playing
2023-12-14 17:44:12 +07:00
f55344b4cb Update README.md 2023-12-14 09:41:00 +07:00
6139fb386b Update README.md 2023-12-14 09:14:37 +07:00
f7c46c5ef3 Update README.md 2023-12-14 08:03:27 +07:00
f5b495efa8 Update README.md 2023-12-13 08:33:21 +07:00
eb4803492e Update README.md 2023-12-13 08:07:39 +07:00
47ef7da37b Bump version to 2.1 2023-12-12 17:55:41 +07:00
63896469e2 Update README.md 2023-12-12 17:52:19 +07:00
4ab265e370 Controller & device vibration (#184)
* Test vibration

* Modify vibration patterns

* Try another vibration patterns

* Update vibration patterns

* Add setting to toggle device vibration

* Disable device vibration based on setting

* Bug fixes

* Test PWM

* Rename GamepadVibration to VibrationManager

* Add setting to toggle controller vibration

* Add vibration intensity setting

* Move Controller settings to the top

* Fix device vibration intensity

* No longer parse "delayMs" and "repeat"

* Fix device vibration intensity

* Disable vibration features on unsupported browsers

* Add "step" property to Vibration intensity slider

* Disable PWA prompt & Stream Gate dialog

* Update translations
2023-12-12 17:37:04 +07:00
584509a53d Improve IPv6 server detection 2023-12-09 11:09:08 +07:00
f3b9ebdb22 Bump version to 2.0.5 2023-12-08 07:43:30 +07:00
abd1aae57a Add "enableConsoleLogging" patch 2023-12-08 07:35:45 +07:00
ccdb944b99 Fix the Settings button not showing for some users 2023-12-08 07:23:44 +07:00
b4149e718b Bump version to 2.0.4 2023-12-06 20:06:41 +07:00
7c22685e95 Update README.md 2023-12-05 14:50:32 +07:00
ad98eb60e1 Only call eval() once per patch group 2023-12-05 06:38:35 +07:00
049e65429a Fix not applying patches correctly 2023-12-03 16:36:02 +07:00
a5b77ae8c0 Improve Patcher class 2023-12-03 10:38:10 +07:00
49550eed0a Add "enableXcloudLogger" patch 2023-12-02 17:31:51 +07:00
01861e0ca5 Bump version to 2.0.3 2023-12-02 11:27:37 +07:00
12d6fbd9c8 Check patches one by one to improve performance 2023-12-02 11:10:36 +07:00
1b0b15de76 Update README.md 2023-12-02 10:31:46 +07:00
5eba0f0ed7 Optimize Patcher class 2023-12-02 10:22:50 +07:00
0a851e5417 Rearrange patches to improve performance 2023-12-02 09:54:37 +07:00
d38e5e8812 Fix Ukrainian translation 2023-12-02 09:14:12 +07:00
69261a7f1d Add Ukranian translations 2023-12-01 17:12:45 +07:00
96b20dcb19 Fix Remote Play's stream didn't close properly 2023-12-01 06:24:58 +07:00
c5a4af9f49 Fix cloud gaming opened instead of Remote Play 2023-12-01 06:20:51 +07:00
3c62d1356f Update device info for Remote Play 2023-12-01 05:57:26 +07:00
78bfc09749 Fix Remote Play's resolution setting not applying correctly 2023-11-30 21:58:34 +07:00
f3bf7a0230 Update translations 2023-11-30 20:57:15 +07:00
c9a2d92c47 Disable idle warning while remote playing 2023-11-30 20:52:23 +07:00
5f18026f85 Update README.md 2023-11-28 20:42:03 +07:00
f4c299e730 Bump version to 2.0.2 2023-11-28 20:34:41 +07:00
baf7893769 Update translations 2023-11-28 20:31:08 +07:00
26ef306bab Fix Remote Play not working for free users (#171) 2023-11-28 20:22:39 +07:00
dc55b85772 Fix Remote Play connecting to the wrong console (#170) 2023-11-28 07:44:56 +07:00
bec3f771f2 Update README.md 2023-11-26 20:27:52 +07:00
7dc35a09c4 Bump version to 2.0.1 2023-11-26 20:13:45 +07:00
b72b881f2d Update README.md 2023-11-26 20:12:23 +07:00
4748d72d59 Update translations 2023-11-26 20:11:26 +07:00
95d4216824 Update translations 2023-11-26 16:00:54 +07:00
a0a453084a Add patches to block ApplicationInsights.track() and WebRTC stats collector 2023-11-26 15:57:16 +07:00
9b84690328 Fix a weird bug with Search box (#168) 2023-11-26 11:47:47 +07:00
1ffe5c218a Remove the "Controller Polling Rate" setting as it didn't work (#167) 2023-11-26 11:25:56 +07:00
1ea5f5031e Disable Remote Play feature by default & add a setting to enable it 2023-11-26 11:19:09 +07:00
526ceec0db Version 2.0 (#163)
* Update README.md

* Bump version to 2.0

* Bump version to 2.0
2023-11-25 17:17:14 +07:00
d54c3d50c4 Remote Play & Patcher (#162)
* Test remote play

* Add a link to dev-tools page

* Add Remote Play dialog

* Bug fixes

* Fix URL

* Fix header

* Path xHome domain

* Remote Remote Play config from window.location while playing

* Update style of the Remote Play button

* Add dialog overlay

* Hide Settings when opening the Remote Play dialog

* Update styles

* Path /direct-connect link

* Fix bind() monkey-patching

* Stop patching when it's done

* Fix exception with GAME_TITLE_ID

* Add resolution setting

* Add Patcher class

* Stop storing Remote Play config in location.hash

* Apply resolution

* Display state's label

* Fix IPv6

* Update translations

* Move Patcher class to the top

* Add "disableTelemetry" and "disableTrackEvent" patches

* Add Layout setting

* Add setting to adjust controller polling rate

* Add Mouse & Keyboard support

* Add Italian translations
2023-11-25 16:47:11 +07:00
f306cb5eee Bump version to 1.19 2023-11-19 16:22:27 +07:00
c1acb689fe Bump version to 1.19 2023-11-19 16:22:03 +07:00
5837e30afc Update README.md 2023-11-19 16:21:31 +07:00
9b955aabb9 Controller shortcuts (#157)
* Basic code for GamepadHandler

* Take screenshot using Home + RB

* Enable shortcuts using setting

* Only poll gamepad when playing

* Toogle stats using Home + Select

* Add basic Toast class

* Update translations
2023-11-19 16:09:41 +07:00
d73f91ed5f Bump version to 1.18.2 2023-10-27 17:44:29 +07:00
b918fadaab Bump version to 1.18.2 2023-10-27 17:44:03 +07:00
b79775839b Update README.md 2023-10-27 17:37:19 +07:00
d3e0ba9d9f Change "Target Resolution > Auto" to "Default" 2023-10-27 17:26:33 +07:00
e6e8297632 Clear touch controller's style after switching game 2023-10-27 17:20:06 +07:00
e94fb28266 Fix TitlesInfo 2023-10-27 17:00:25 +07:00
11e953c382 Bump version to 1.18.1 2023-10-26 20:06:46 +07:00
4845ea6994 Bump version to 1.18.1 2023-10-26 20:06:27 +07:00
0f0072bcb0 Update README.md 2023-10-26 20:05:57 +07:00
85d156f6b2 Clear Application Insights buffers periodically 2023-10-26 15:43:33 +07:00
8d24494b02 Add French & Japanese translations 2023-10-26 15:28:13 +07:00
9d1bca99aa Clear Analytics Insight buffers no page load 2023-10-26 15:14:35 +07:00
a8cf0896c5 Loading screen: use Image_Tile when Image_Hero is not available 2023-10-26 15:02:32 +07:00
4767df442e Update translations 2023-10-15 17:28:11 +07:00
8314074957 Update README.md 2023-10-15 17:12:57 +07:00
6ffa75a4ec Bump version to 1.18 2023-10-15 17:09:47 +07:00
7813e6f432 Bump version to 1.18 2023-10-15 17:09:32 +07:00
75d9639c01 Hide the "Play with friends" section when social features are disabled 2023-10-15 16:23:51 +07:00
fb80c3662a Add option to disable post-stream feedback dialog 2023-10-15 16:07:59 +07:00
9e1d8866ce Fix minor bugs in StreamMenu 2023-10-15 14:23:08 +07:00
28438c7c9e Add German translation 2023-10-10 09:40:05 +07:00
0cb0901ae2 Add Polish and Spanish translations 2023-10-05 09:27:40 +07:00
9d7c537eaa Update README.md 2023-10-03 16:53:43 +07:00
eccd306d03 Bump version to 1.17.2 2023-10-03 16:51:45 +07:00
e15afd2396 Bump version to 1.17.2 2023-10-03 16:51:25 +07:00
f0dbc72987 Add Korean translation 2023-10-03 16:03:49 +07:00
25bf6c209d Merge branch 'main' of https://github.com/redphx/better-xcloud 2023-10-03 09:55:14 +07:00
f229dbdbe4 Update README.md 2023-10-02 21:46:35 +07:00
e845c902b2 Fix Stats settings dialog being too big on small screens 2023-10-02 17:27:37 +07:00
c424c6f94b Add Chinese (Simplified) translation 2023-09-29 08:21:29 +07:00
1619fb2b26 Bump version to 1.17.1 2023-09-25 20:06:44 +07:00
d72641ba77 Bump version to 1.17.1 2023-09-25 20:06:22 +07:00
7c3f00f277 Update README.md 2023-09-25 20:05:50 +07:00
9bd0ee9097 Fix volume booster feature (#141)
* Trying to fix the audio problem with volume booster

* Add an option to disable volume control feature

* Update translations
2023-09-25 19:55:36 +07:00
a9bb977311 Update TR translation 2023-09-21 07:45:44 +07:00
3e0653fadf Add RU & TR to language list 2023-09-20 07:09:42 +07:00
36f6b04ad9 Add TR translation 2023-09-20 07:08:13 +07:00
60b70e259b Add RU translation 2023-09-20 07:06:12 +07:00
c50e0d6aff Update BR translation 2023-09-20 07:03:40 +07:00
a3fd3c9ebe Update README.md 2023-09-18 09:26:06 +07:00
c47caea65e Bump version to 1.17 2023-09-18 08:12:57 +07:00
6f540cca7a Bump version to 1.17 2023-09-18 08:12:35 +07:00
7a202ba8a7 Disable "Visual quality" setting on unsupported browsers 2023-09-18 08:10:52 +07:00
1f787b7888 Update README.md 2023-09-18 07:56:44 +07:00
0cc96135c9 Support more languages (#134)
* Define CSS variables

* Shorten CSS prefix "better-xcloud-" to "bx-"

* Move Safari's workaround code to the end of the script

* Add setting to change Better xCloud's language

* Support Vietnamese language

* Use the same language as browser

* Minor fixes

* Add Portuguese (Brazilian)

* Update BR translation

* Adjust CSS of Settings' reload button

* Reload the page after changing language

* Fix setting locale on first run

* Replace "Force high-quality codec" option with "Visual quality"

* Add Italian translation

* Update texts

* Deprecate "Prefer high-quality codec" setting

* Show stat's abbr. in slection box

* Reduce border size in stats bar from 2px to 1px

* Remove unused texts

* Remove Italian translation (because it's unfinised) + update Brazillian + Vietnamese translations
2023-09-18 07:43:03 +07:00
ed2fb13e17 Create MouseHoldEvent 2023-09-13 17:40:54 +07:00
b91474c20b Hide Stream Settings dialog when opening Stream Menu 2023-09-13 17:18:50 +07:00
18eec8b8da Update CSS selectors for REDUCE_ANIMATIONS 2023-09-13 17:00:00 +07:00
949a180047 Update README.md 2023-09-13 16:54:29 +07:00
c9a67cf6b7 Create FUNDING.yml 2023-09-13 16:48:12 +07:00
b469ba4867 Update README.md 2023-09-11 14:40:49 +07:00
a0d0d6e1e6 Update README.md 2023-09-10 17:51:42 +07:00
cc466ff2ac Bump version to 1.16 2023-09-10 17:16:11 +07:00
b1bfe96935 Bump version to 1.16 2023-09-10 17:15:47 +07:00
241be49d09 Update README.md 2023-09-10 17:15:23 +07:00
7c48b7e6fb Volume booster (#125)
* Move Video settings box from bottom to the right side

* Rename "Video Settings" to "Stream Settings"

* Volume booster

* Fix volume booster not working

* Typo

* Fix not working in Kiwi

* Show input range

* Update monkey patching method for AudioContext

* Refactor Preferences

* Add tick markers

* Add Audio & Video headers

* Reduce stats bar size

* Show warning when Clarity Boost mode is ON

* Increase max volume to 600

* Try to fix audio problem on iOS/iPadOS

* Pause <audio>

* Fix crashing when enabling touch controller

* Fix touch controller not working

* Fix volume booster not working on iOS/iPadOS
2023-09-10 17:04:23 +07:00
cc9a644a5e Bump version to 1.15.1 2023-09-08 17:24:05 +07:00
a77db68afb Bump version to 1.15.1 2023-09-08 17:23:46 +07:00
cd7a7c92c7 Validate settings when getting its values 2023-09-08 17:16:38 +07:00
651402a6b4 Restore stretch to full screen feature 2023-09-08 17:15:45 +07:00
6cd2648325 Update README.md 2023-09-04 10:40:14 +07:00
fa0d761d24 Bump version to 1.15 2023-09-04 10:37:31 +07:00
f01d7a3b0b Bump version to 1.15 2023-09-04 10:37:12 +07:00
b520e8173e Update README.md 2023-09-04 10:36:43 +07:00
f15f43faf7 Remove "Bitrate" & "Decode Time" stats from default items 2023-09-04 10:31:52 +07:00
e470cb20a3 Replace "Stretch Video" setting with "Video Ratio" (#121)
* Make Game Pass' app version easier to read

* Replace numberPicker with NumberStepper

* Replace "Stretch Video" setting with "Video Ratio"

* Make number stepper's buttons a little bit bigger
2023-09-04 09:11:08 +07:00
d1882046e2 Update README.md 2023-08-29 08:42:04 +07:00
fb7bd2da0d Update README.md 2023-08-28 14:31:13 +07:00
d9a14f9d83 Bump version to 1.14.1 2023-08-27 15:04:41 +07:00
18dd006aad Bump version to 1.14.1 2023-08-27 15:04:25 +07:00
f74de11e10 Fix Clarity Boost mode detection 2023-08-27 15:03:24 +07:00
2a71e17d2d Fix the stats selection box not working on mobile 2023-08-27 14:39:35 +07:00
4 changed files with 4643 additions and 812 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
ko_fi: redphx

200
README.md
View File

@ -1,49 +1,94 @@
# Better xCloud # Better xCloud
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser. Improve Xbox Cloud Gaming (xCloud) experience on [xbox.com/play](https://www.xbox.com/play). It also allows you to use Remote Play on the xCloud website.
The main target of this script is mobile users, but it should work great on desktop too.
**Supported platforms:**
- Windows
- macOS
- Linux, SteamOS (Steam Deck)
- Android, Android TV
- iOS, iPadOS
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.
If you like this project please give it a 🌟. 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 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)
--> [![Total stars](https://img.shields.io/github/stars/redphx/better-xcloud?color=%23cca400)](https://github.com/redphx/better-xcloud/stargazers)
## Table of Contents ## Table of Contents
- [**Features**](#features)
- [**How to install**](#how-to-install) - [**How to install**](#how-to-install)
- [**Compatibility**](#compatibility) - [**Compatibility**](#compatibility)
- [**Features**](#features)
- [**Stream stats**](#stream-stats) - [**Stream stats**](#stream-stats)
- [**Capture screenshot**](#capture-screenshot) - [**Capture screenshot**](#capture-screenshot)
- [**FAQ**](#faq) - [**FAQ**](#faq)
- [**Translators**](#translators)
- [**Donation**](#donation) - [**Donation**](#donation)
- [**Acknowledgements**](#acknowledgements) - [**Acknowledgements**](#acknowledgements)
- [**Disclaimers**](#disclaimers) - [**Disclaimers**](#disclaimers)
## How to install
1. Install an userscript extension:
- **Safari**: Install [Userscripts extension](https://apps.apple.com/us/app/userscripts/id1463298887). Check [this page](https://github.com/redphx/better-xcloud/wiki/Using-with-Safari) before using.
- **All other browsers**: Install [Tampermonkey extension](https://www.tampermonkey.net/).
3. Install **Better xCloud**:
- [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)-->
I only distribute **Better xCloud** on GitHub, *DO NOT* download it on other websites or from unknown sources.
4. Refresh the [xCloud web page](https://www.xbox.com/play/).
5. Click on the new *\<SERVER NAME\>* button next to your profile picture to adjust settings.
To update manually, just install the script again (you won't lose your settings).
⚠️⚠️⚠️ 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.
## Compatibility
- 👍 = best choice, all features work as intended
- ✅ = confirmed to be working, might miss some features
- ❌ = not supported (mostly because of lacking Userscript/extension support)
- = unavailable
- 🗒️ = see custom notes
| | Windows/Linux/SteamOS | macOS | Android/Android TV | iOS |
|-----------------------------------------|:----------------------|:-----------------|:-------------------|:-----------------|
| Chrome/Edge/Chromium... | 👍 | 👍 | ❌ | ❌ |
| Firefox | ✅ | ✅ | 🗒️<sup>(1)</sup> | ❌ |
| Safari | | ✅<sup>(2)</sup> | | ✅<sup>(3)</sup> |
| [Kiwi Browser](https://kiwibrowser.com) | | | 👍 | |
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>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.
---
- **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.
## Features ## Features
<img width="400" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/0eedde97-74c7-44df-bc89-2ebf8edb6e2c"> <img width="400" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/ca38b3fa-1e89-4b37-937c-a6796c07cdf1">
<br> <br>
<img width="600" alt="Stream HUD" src="https://github.com/redphx/better-xcloud/assets/96280/e30f6514-13ca-41c6-bff2-979573cff956"> <img width="400" alt="Remote Play dialog" src="https://github.com/redphx/better-xcloud/assets/96280/daf7f698-a228-4f9c-8f23-9669e061a64c">
<br> <br>
<img width="600" alt="Video settings" src="https://github.com/redphx/better-xcloud/assets/96280/a8614693-7f56-4a49-82ad-c1fd7e2e00a5"> <img width="600" alt="Stream HUD" src="https://github.com/redphx/better-xcloud/assets/96280/51bdb96c-79ab-402f-902a-a9e6229973b2">
<br>
<img width="600" alt="Stream settings" src="https://github.com/redphx/better-xcloud/assets/96280/ed513cb3-6e6c-4e8e-9e06-c62e71e41c90">
&nbsp; &nbsp;
**Demo video:** [https://youtu.be/oDr5Eddp55E ](https://youtu.be/AYb-EUcz72U) **Demo video:** [https://youtu.be/oDr5Eddp55E ](https://youtu.be/AYb-EUcz72U)
- **🔥 Support [Remote Play](https://support.xbox.com/help/games-apps/game-setup-and-play/how-to-set-up-remote-play)**
- **🔥 Improve visual quality of the stream** > 1080p resolution and can stream Xbox 360 games.
- **🔥 Improve visual quality of the stream**
> Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs). > Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs).
- **🔥 Show stream stats** - **🔥 Show stream stats**
> Check [Stream stats section](#stream-stats) for more info. > Check [Stream stats section](#stream-stats) for more info.
- **🔥 Capture screenshot** - **🔥 Capture screenshot**
> Exclusive to **Better xCloud**. Check the [**Capture screenshot** section](#capture-screenshot) for more info. > Exclusive to **Better xCloud**. Check the [**Capture screenshot** section](#capture-screenshot) for more info.
- **🔥 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 or low FPS 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.
- **🔥 Touch controller** - **🔥 Touch controller**
> Enable touch controller support for all games. > Enable touch controller support for all games.
@ -62,19 +107,29 @@ If you like this project please give it a 🌟. Thank you 🙏.
- **Set target resolution** - **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>** - **Change visual quality**
> Force xCloud to use the best streaming codec profile (same as desktop & TV) if possible. You don't have to change User-Agent anymore. > Increase/decrease the quality of the stream to your liking. Only works in Chrome/Edge/Kiwi...
> You should enable this feature even if you're on desktop.
> Not available for some browsers (Firefox, Safari...).
> 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
- **Disable bandwidth checking** - **Disable bandwidth checking**
> xCloud won't warn about slow connection speed. > xCloud won't warn about slow connection speed.
- **Enable volume control feature**
> Allow increasing stream's volume up to 600%
> ⚠️ Disable this setting if you experience slowdown, choppy/muted stream
- **Enable microphone on game launch** - **Enable microphone on game launch**
> Automatically enable the mic when starting to play a game. > Automatically enable the mic when starting to play a game.
- **Hide mouse cursor on idle** - **Hide mouse cursor on idle**
> Hide the mouse cursor after 3 seconds of not moving. > Hide the mouse cursor after 3 seconds of not moving.
### Controller
- Enable controller shortcuts
> `Home` is the button which activates the Xbox sidebar menu (similar to the Xbox/Nexus button on the official controller).
> Not all controllers have this button. It's the `B16` button on the [Gamepad Tester site](https://hardwaretester.com/gamepad).
> More shortcuts will be added later.
| Shortcut | Action |
|---------------|------------------|
| Home + RB | Take screenshot |
| Home + Select | Toggle stats bar |
### 🔥 Touch controller ### 🔥 Touch controller
- **Availability** - **Availability**
@ -93,14 +148,13 @@ If you like this project please give it a 🌟. Thank you 🙏.
> <img width="400" alt="Button styles" src="https://github.com/redphx/better-xcloud/assets/96280/2bfef2b3-6712-4924-b067-c2312f8c8062"> > <img width="400" alt="Button styles" src="https://github.com/redphx/better-xcloud/assets/96280/2bfef2b3-6712-4924-b067-c2312f8c8062">
### Loading screen ### Loading screen
- Show game art - **Show game art**
> Replace the black background with game art if it's available. > Replace the black background with game art if it's available.
- Show the estimated wait time - **Show the estimated wait time**
> The time is estimated by the server. > The time is estimated by the server.
> It's not 100% correct: you might get in the game sooner or later. > It's not 100% correct: you might get in the game sooner or later.
> Don't be mad when the estimated time is inaccurate.
> Check [#51](https://github.com/redphx/better-xcloud/issues/51) for more info. > Check [#51](https://github.com/redphx/better-xcloud/issues/51) for more info.
- Show/hide the rocket animation - **Show/hide the rocket animation**
> Always show/Hide when queuing/Always hide. > Always show/Hide when queuing/Always hide.
> Hide this animation might save some battery life while queuing. > Hide this animation might save some battery life while queuing.
@ -108,7 +162,9 @@ If you like this project please give it a 🌟. Thank you 🙏.
### UI ### UI
- **Simplify Stream's menu** - **Switch website's layout**
> Switch between default layout and Smart TV layout (without having to change User-Agent).
- **Simplify Stream's menu**
> Hide the labels of the menu buttons. > Hide the labels of the menu buttons.
- **Skip Xbox splash video** - **Skip Xbox splash video**
> Save 3 seconds. > Save 3 seconds.
@ -123,8 +179,13 @@ If you like this project please give it a 🌟. Thank you 🙏.
- **Disable xCloud analytics** - **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. > 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 ### In-game settings
- **🔥 Controller & device vibrations**
> Control vibration settings
> Adjust vibration intensity
- **Volume control**
> Increase stream's volume up to 600%
> Can be disabled in the Main Settings
- **🔥 Improve stream's clarity** - **🔥 Improve stream's clarity**
> Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs). > Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs).
> Also known as poor man's "Clarity Boost". > Also known as poor man's "Clarity Boost".
@ -135,7 +196,7 @@ If you like this project please give it a 🌟. Thank you 🙏.
> ![clarity](https://github.com/redphx/better-xcloud/assets/96280/ed63bbb0-fcbf-43e2-8e51-ac2733e697b8) > ![clarity](https://github.com/redphx/better-xcloud/assets/96280/ed63bbb0-fcbf-43e2-8e51-ac2733e697b8)
> *(click to enlarge)* > *(click to enlarge)*
- **Stretch video to full sctreen** - **Change video's ratio**
> 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**
> Brightness/Contrast/Saturation. > Brightness/Contrast/Saturation.
@ -155,58 +216,13 @@ If you like this project please give it a 🌟. Thank you 🙏.
<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 install
1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers. For Safari, use the [Userscripts extension](https://apps.apple.com/us/app/userscripts/id1463298887) (check [this page](https://github.com/redphx/better-xcloud/wiki/Using-with-Safari) before using).
2. Install **Better xCloud**:
- [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)
I only distribute **Better xCloud** on GitHub, *DO NOT* download it on other websites or from unknown sources.
3. Refresh [xCloud web page](https://www.xbox.com/play/).
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).
⚠️⚠️⚠️ 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:
- 🇧🇷 [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)
## Compatibility
✅ = confirmed to be working
❓ = not yet tested
❌ = not supported (mostly because of lacking Userscript/extension support)
= unavailable
⚠️ = see custom notes
| | Desktop | Android/Android TV | iOS |
|-----------------------------------------|:-----------------|:-------------------|:----------------|
| Chrome/Edge/Chromium variants | ✅ | ❌ | ❌ |
| Firefox | ✅ | ⚠️<sup>(1)</sup> | ❌ |
| Safari | ✅<sup>(2)</sup> | | ✅<sup>(3)</sup> |
| [Hermit](https://hermit.chimbori.com) | | ⚠️<sup>(4)</sup> | |
| [Kiwi Browser](https://kiwibrowser.com) | | ✅ | |
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>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).
---
- **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.
## Stream stats ## Stream stats
<img alt="Stream stats" src="https://github.com/redphx/better-xcloud/assets/96280/9fb51941-85a9-47c4-8d48-331456b9ce73">
<img width="418" alt="Stream stats settings" src="https://github.com/redphx/better-xcloud/assets/96280/6313a0c6-03bf-4325-b60d-18a23c681933">
![stats](https://github.com/redphx/better-xcloud/assets/96280/736548db-316d-4bb3-a0f8-467766ae810b) - While playing > `...` > `Stream Stats`.
- Change settings by opening `Stream settings` while playing.
<img width="500" alt="Stream stats" src="https://github.com/redphx/better-xcloud/assets/96280/142625ea-20ab-4392-a111-0c5bc08bae09">
- While playing > `...` > `Stream Stats`.
- 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. - **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.
@ -215,7 +231,7 @@ Don't see your browser in the table? If it supports Tampermonkey/Userscript then
|------:|:-------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------| |------:|:-------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------|
| PING | Ping | The number of seconds it takes for data to be sent from your device to the server and back over (the correct term is "Round Trip Time") | | PING | Ping | The number of seconds it takes for data to be sent from your device to the server and back over (the correct term is "Round Trip Time") |
| 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) | | 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 (bugged in Kiwi Browser [#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 on Android [#26](https://github.com/redphx/better-xcloud/issues/26)) |
| 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 |
@ -278,16 +294,32 @@ Sorry, no. The server decides all these settings.
8. **What's the meaning behind the name "Better xCloud"?** 8. **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. 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 ## Translators
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 😄. - **Chinese (Simplified)**: [@nyavana](https://github.com/nyavana)
- **French**: rodolphe.chouteau, Stay34yth
- **German**: [@KingNothing81](https://github.com/KingNothing81), mynameismanu
- **Korean**: [@rightones](https://github.com/rightones)
- **Italian**: Greenylie, Rakan129, Carza-104, graziequalcuno, DioCannabinoide
- **Japanese**: Tak_attack, udonshi
- **Portuguese (Brazilian)**: [@ricardo404](https://github.com/ricardo404), [@Haisom](https://github.com/Haisom), italorafael22062009, PotatoPTT, guilhermecursi, renatomaster01
- **Polish**: [@aleksishere](https://github.com/aleksishere)
- **Russian**: anpom6, soophik
- **Spanish**: [@PabloSebas](https://github.com/PabloSebas), csvnchzn
- **Turkish**: [@transbebek](https://github.com/transbebek)
- **Ukrainian**: glebanych
- **Vietnamese**: [@redphx](https://github.com/redphx)
## User-Agent Visit [here](https://crowdin.com/project/better-xcloud) if you want to translate **Better xCloud** to more languages.
Moved to [wiki](https://github.com/redphx/better-xcloud/wiki/UserAgent). Use [this post](https://github.com/redphx/better-xcloud/discussions/131) for discussion.
## 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 😄.
But if you still really want to donate, I have a [Ko-fi page](https://ko-fi.com/redphx). Thank you.
## 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 [Phosphor Icons](https://phosphoricons.com) - Icons by [Phosphor Icons](https://phosphoricons.com)
## Disclaimers ## Disclaimers
- Use as it your own risk. - Use it at your own risk.
- This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners. - This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners.

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.14 // @version 2.1.1
// ==/UserScript== // ==/UserScript==

File diff suppressed because it is too large Load Diff