Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable support for ultra-wide screens #315

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dmitrylyzo
Copy link
Collaborator

According to https://developer.samsung.com/smarttv/develop/guides/base_screen_resolution.html

Changes
Enable support for ultra-wide screens.

Issues
Fixes #231

@dmsvlks
Copy link

dmsvlks commented Dec 15, 2024

I had a similar problem with my tizen app. Displaying in a 16:9 box on ultrawides. 32:9 in my case. What helped fix the problem was adding:
<tizen:metadata key="http://tizen.org/metadata/app_ui_type/base_screen_resolution" value="fullscreen"/>
in config.xml. Note "fullscreen" instead of "extensive". Extensive didn't work.
And adding
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width" />
in index.html <head> tag.

This should fix the app on ultrawides.

@dmitrylyzo
Copy link
Collaborator Author

Extensive didn't work.

According to this, extensive enables 21:9 (not 32:9).
Maybe it makes the app wider, but not enough for your case?
And the undocumented (?) fullscreen makes the app truly "maximized".

And adding
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width" />
in index.html <head> tag.

I don't think we need to add it to the main index.html (it just redirects) - it's already there in jellyfin-web.
Or should we do it as an "app initialization"?

@dmsvlks
Copy link

dmsvlks commented Dec 15, 2024

According to this, extensive enables 21:9 (not 32:9).

The samsung documentation says it should "work" but it just doesn't. I've tried it. "extensive" had no effect on how the app was displayed. It still was in a 16:9 box with black bars all around it when playing ultrawide videos. Only when changing to "fullscreen" (which I saw some other tizen apps were using) the app took the whole width of the screen and properly displayed 32:9 videos. I think "fullscreen" should work for both 21:9 and 32:9 displays as it seemingly instructs to take up the whole available width. The display model I was testing on was SH37C. And for my case it worked perfectly.

I don't think we need to add it to the main index.html (it just redirects) - it's already there in jellyfin-web.
Or should we do it as an "app initialization"?

In that case yes it should be fine. I was just saying what changes I had to make.

Of course it would be best to test on a proper 21:9 display but I think "fullscreen" should fix it.

@CreaGab
Copy link

CreaGab commented Dec 20, 2024

I tried only changing the config.xml file and installed it on my monitory, but it didn't seem to work.
I will try again.

@CreaGab
Copy link

CreaGab commented Dec 20, 2024

I tried rewriting all steps to work in wsl storage only (without /mnt/c/...) and I got some error after changing config.xml and typing in the command for npm jellyfin-tizen (last step of npm)

mkdir ~/Jellyfin/
cd ~/Jellyfin/
git clone -b release-10.10.z https://github.com/jellyfin/jellyfin-web.git
git clone https://github.com/jellyfin/jellyfin-tizen.git
cd jellyfin-web
npm ci --no-audit
USE_SYSTEM_FONTS=1 npm run build:production

#Change config.xml or/and index.html

cd ~/Jellyfin/jellyfin-tizen
npm install --save-dev @babel/preset-env
JELLYFIN_WEB_DIR=../jellyfin-web/dist npm ci --no-audit

#Change from ubuntu-terminal to windows Powershell with tizen studio installed

tizen build-web -e ".*" -e gulpfile.js -e README.md -e "node_modules/*" -e "package*.json" -e "yarn.lock"
tizen package -t wgt -o . -- .buildResult

#Open Tizen Device Manager and connect to device

tizen install -n Jellyfin.wgt

Somehow I am getting this error after:

user@DESKTOP-I74KDL4:~$ mkdir ~/Jellyfin/
cd ~/Jellyfin/
git clone -b release-10.10.z https://github.com/jellyfin/jellyfin-web.git
git clone https://github.com/jellyfin/jellyfin-tizen.git
cd jellyfin-web
npm ci --no-audit
USE_SYSTEM_FONTS=1 npm run build:production
Cloning into 'jellyfin-web'...
remote: Enumerating objects: 245295, done.
remote: Counting objects: 100% (128/128), done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 245295 (delta 99), reused 63 (delta 56), pack-reused 245167 (from 4)
Receiving objects: 100% (245295/245295), 170.43 MiB | 18.39 MiB/s, done.
Resolving deltas: 100% (171942/171942), done.
Cloning into 'jellyfin-tizen'...
remote: Enumerating objects: 404, done.
remote: Counting objects: 100% (160/160), done.
remote: Compressing objects: 100% (94/94), done.
remote: Total 404 (delta 100), reused 66 (delta 66), pack-reused 244 (from 2)
Receiving objects: 100% (404/404), 285.95 KiB | 2.98 MiB/s, done.
Resolving deltas: 100% (203/203), done.
npm warn deprecated @types/[email protected]: This is a stub types definition for localforage (https://github.com/localForage/localForage). localforage provides its own type definitions, so you don't need @types/localforage installed!
npm warn deprecated @types/[email protected]: This is a stub types definition. vfile-message provides its own type definitions, so you do not need this installed.
npm warn deprecated [email protected]: See https://github.com/lydell/source-map-url#deprecated
npm warn deprecated [email protected]: flatten is deprecated in favor of utility frameworks such as lodash.
npm warn deprecated @stylelint/[email protected]: Use the original unforked package instead: postcss-markdown
npm warn deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/config-array instead
npm warn deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm warn deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/object-schema instead
npm warn deprecated [email protected]: See https://github.com/lydell/source-map-resolve#deprecated
npm warn deprecated @stylelint/[email protected]: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

added 1873 packages in 2m

> [email protected] build:production
> cross-env NODE_ENV="production" webpack --config webpack.prod.js

[BABEL] Note: The code generator has deoptimised the styling of /home/user/Jellyfin/jellyfin-web/node_modules/pdfjs-dist/build/pdf.js as it exceeds the max of 500KB.
assets by path *.js 17.3 MiB 953 assets
assets by path *.css 669 KiB 129 assets
assets by path assets/ 834 KiB 48 assets
assets by path *.png 731 KiB 34 assets
assets by path libraries/ 8.98 MiB 9 assets
assets by path themes/ 123 KiB 8 assets
assets by path *.json 2.56 KiB 3 assets
assets by path *.ico 13.3 KiB 2 assets
assets by path *.gif 3.99 KiB 2 assets
assets by path *.svg 2.2 KiB
  asset cb6e840e08726299bf8f.svg 1.39 KiB [emitted] [immutable] [from: assets/img/fresh.svg]
  asset 0d2b37694d352e7e4c59.svg 833 bytes [emitted] [immutable] [from: assets/img/rotten.svg]
+ 6 assets
Entrypoint main.jellyfin [big] 2.85 MiB = 30 assets
Entrypoint serviceworker 227 KiB = runtime.bundle.js 47.9 KiB node_modules.core-js.bundle.js 178 KiB serviceworker.js 768 bytes
orphan modules 13.4 MiB (javascript) 773 KiB (asset) 87.1 KiB (runtime) [orphan] 13323 modules
runtime modules 58.2 KiB 15 modules
built modules 26.6 MiB (javascript) 299 KiB (css/mini-extract) 46.9 KiB (asset) [built]
  modules by path ../node_modules/ 16.1 MiB (javascript) 159 KiB (css/mini-extract)
    javascript modules 16 MiB 2159 modules
    json modules 30 KiB 4 modules
    css modules 159 KiB 3 modules
  modules by path ./ 10.5 MiB (javascript) 140 KiB (css/mini-extract) 46.9 KiB (asset)
    javascript modules 4.17 MiB 444 modules
    json modules 6.34 MiB 94 modules
    css modules 140 KiB 86 modules
    asset modules 126 bytes (javascript) 46.9 KiB (asset) 3 modules
  + 6 modules

WARNING in chunk movies-movies [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/alphaPicker/style.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/images/style.scss
   - couldn't fulfill desired order of chunk group(s) movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js, shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/guide/programs.scss
   - couldn't fulfill desired order of chunk group(s) shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js, movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/mediainfo/mediainfo.scss
   - couldn't fulfill desired order of chunk group(s) shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js, movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/indicators/indicators.scss
   - couldn't fulfill desired order of chunk group(s) shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js, movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js

WARNING in chunk movies-movies [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/indicators/indicators.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/images/style.scss
   - couldn't fulfill desired order of chunk group(s) movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js, shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js

WARNING in chunk movies-movies [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/mediainfo/mediainfo.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/images/style.scss
   - couldn't fulfill desired order of chunk group(s) movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js, shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js

WARNING in chunk movies-movies [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/guide/programs.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/images/style.scss
   - couldn't fulfill desired order of chunk group(s) movies-movietrailers, movies-movietrailers-js, music-musicalbums, music-musicalbums-js, music-musicartists, music-musicartists-js, shows-tvshows, shows-tvshows-js
   - while fulfilling desired order of chunk group(s) movies-movies, movies-movies-js

WARNING in chunk user-display [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/actionSheet/actionSheet.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./elements/emby-textarea/emby-textarea.scss
   - couldn't fulfill desired order of chunk group(s) dashboard-general, dashboard-general-js
   - while fulfilling desired order of chunk group(s) user-display, user-display-index, user-display-index-js

WARNING in chunk user-display [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./elements/emby-select/emby-select.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./elements/emby-textarea/emby-textarea.scss
   - couldn't fulfill desired order of chunk group(s) dashboard-general, dashboard-general-js
   - while fulfilling desired order of chunk group(s) user-display, user-display-index, user-display-index-js

WARNING in chunk 68778 [mini-css-extract-plugin]
Conflicting order. Following module has been added:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/alphaPicker/style.scss
despite it was not able to fulfill desired ordering with these modules:
 * css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].use[2]!../node_modules/sass-loader/dist/cjs.js!./components/mediainfo/mediainfo.scss
   - couldn't fulfill desired order of chunk group(s) ,
   - while fulfilling desired order of chunk group(s) , , , , , , ,

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
  698bd8550d863c20a3e1.ttf (339 KiB)
  main.jellyfin.bundle.js (487 KiB)
  [email protected] (723 KiB)
  [email protected] (372 KiB)
  libraries/libarchive.wasm (979 KiB)
  libraries/subtitles-octopus-worker.js (352 KiB)
  libraries/pdf.worker.js (1 MiB)
  libraries/subtitles-octopus-worker.wasm (2.18 MiB)
  libraries/subtitles-octopus-worker-legacy.js (4.25 MiB)
  ta-json.ecb420d7b47cdc10df87.chunk.js (257 KiB)
  [email protected] (268 KiB)
  node_modules.hls.js.77523d1926bb7c38f494.chunk.js (404 KiB)
  node_modules.pdfjs-dist.f4ecca61230de209fab6.chunk.js (421 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  main.jellyfin (2.85 MiB)
      runtime.bundle.js
      [email protected]
      node_modules.lodash-es.bundle.js
      [email protected]
      [email protected]
      [email protected]
      [email protected]
      [email protected]
      [email protected]
      node_modules.date-fns.esm.bundle.js
      node_modules.core-js.bundle.js
      node_modules.react-transition-group.bundle.js
      [email protected]
      node_modules.axios.bundle.js
      node_modules.react-dom.bundle.js
      node_modules.jquery.bundle.js
      node_modules.webcomponents.js.bundle.js
      node_modules.resize-observer-polyfill.bundle.js
      node_modules.regenerator-runtime.bundle.js
      node_modules.jellyfin-apiclient.bundle.js
      node_modules.intersection-observer.bundle.js
      node_modules.history.bundle.js
      node_modules.dompurify.bundle.js
      node_modules.react-router.bundle.js
      node_modules.react-router-dom.bundle.js
      [email protected]
      37869.bundle.js
      37869.088680d7e7a2eede3618.css
      main.jellyfin.bundle.js
      main.jellyfin.1ed46a7a22b550acaef3.css


webpack 5.95.0 compiled with 9 warnings in 269983 ms
user@DESKTOP-I74KDL4:~/Jellyfin/jellyfin-web$ cd ~/Jellyfin/jellyfin-tizen
npm install --save-dev @babel/preset-env
JELLYFIN_WEB_DIR=./jellyfin-web/dist npm ci --no-audit
npm warn deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm warn deprecated [email protected]: this library is no longer supported
npm warn deprecated [email protected]: Use your platform's native DOMException instead
npm warn deprecated [email protected]: Use your platform's native atob() and btoa() methods instead
npm warn deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm warn deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm warn deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5

added 489 packages, and audited 490 packages in 15s

30 packages are looking for funding
  run `npm fund` for details

14 vulnerabilities (8 moderate, 6 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
npm warn deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm warn deprecated [email protected]: this library is no longer supported
npm warn deprecated [email protected]: Use your platform's native DOMException instead
npm warn deprecated [email protected]: Use your platform's native atob() and btoa() methods instead
npm warn deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm warn deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm warn deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142

> [email protected] postinstall
> gulp

[01:45:01] Loaded external module: @babel/register
Using jellyfin-web from /home/user/Jellyfin/jellyfin-tizen/jellyfin-web/dist
(node:1541) ExperimentalWarning: CommonJS module /home/user/Jellyfin/jellyfin-tizen/gulpfile.babel.js is loading ES Module /home/user/Jellyfin/jellyfin-tizen/node_modules/del/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:1541) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
[01:45:03] Using gulpfile ~/Jellyfin/jellyfin-tizen/gulpfile.babel.js
[01:45:03] Starting 'default'...
[01:45:03] Starting 'clean'...
[01:45:03] Finished 'clean' after 18 ms
[01:45:03] Starting 'searchFonts'...
[01:45:03] Finished 'searchFonts' after 1.64 ms
[01:45:03] Starting 'copy'...
[01:45:03] Starting 'modifyIndex'...
[01:45:03] 'copy' errored after 14 ms
[01:45:03] Error: ENOENT: no such file or directory, scandir '/home/user/Jellyfin/jellyfin-tizen/jellyfin-web/dist'
[01:45:03] 'default' errored after 42 ms
npm error code 1
npm error path /home/user/Jellyfin/jellyfin-tizen
npm error command failed
npm error command sh -c gulp
npm error A complete log of this run can be found in: /home/user/.npm/_logs/2024-12-20T00_44_51_328Z-debug-0.log
user@DESKTOP-I74KDL4:~/Jellyfin/jellyfin-tizen$

@dmitrylyzo
Copy link
Collaborator Author

@CreaGab from your logs:

JELLYFIN_WEB_DIR=./jellyfin-web/dist

The second . is missing.

@CreaGab
Copy link

CreaGab commented Dec 20, 2024

@CreaGab from your logs:

JELLYFIN_WEB_DIR=./jellyfin-web/dist

The second . is missing.

Thanks for noticing!

Unfortunatly adding one point didn't solve the issue.

I had to add the environments like this: export USE_SYSTEM_FONTS="1" and export JELLYFIN_WEB_DIR="../jellyfin-web/dist".

Then the command worked.

Unfortunatly it still won't display fullscreen even with the file changed like you said.

New command history:

mkdir ~/Jellyfin/
cd ~/Jellyfin/
git clone -b release-10.10.z https://github.com/jellyfin/jellyfin-web.git
git clone https://github.com/jellyfin/jellyfin-tizen.git
cd jellyfin-web
npm ci --no-audit
export USE_SYSTEM_FONTS="1" npm run build:production

#Change config.xml or/and index.html

cd ~/Jellyfin/jellyfin-tizen
npm install --save-dev @babel/preset-env
export JELLYFIN_WEB_DIR="../jellyfin-web/dist"
npm ci --no-audit

#Change from ubuntu-terminal to windows Powershell with tizen studio installed

cd J:\home\user\Jellyfin\jellyfin-tizen
tizen build-web -e ".*" -e gulpfile.js -e README.md -e "node_modules/*" -e "package*.json" -e "yarn.lock"
tizen package -t wgt -o . -- .buildResult

#Open Tizen Device Manager and connect to device

tizen install -n Jellyfin.wgt

config.xml Outdated Show resolved Hide resolved
@CreaGab
Copy link

CreaGab commented Dec 22, 2024

Just for your info, I won't be able to provide updates until 7th of January.
I am currently not at home and celebrating christmas and new year at my grandparents place!

I wish you all merry Christmas and a good start in 2025!

@CreaGab
Copy link

CreaGab commented Jan 9, 2025

Update:
#231

@dmitrylyzo
Copy link
Collaborator Author

dmitrylyzo commented Jan 9, 2025

This at least works in the Tizen 8 emulator. But we probably need to limit the width of the "site", because now it is getting too wide and the item cards are getting too big.

UPD:
This is not just a problem on TV - jellyfin/jellyfin-web#3148

'extensive' enables 21:9
'fullscreen' enables 32:9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't play ultrawide content on Samsung OLED G8
4 participants