HDMI output doesn't fit in 1080p but fits in any other resolution

HDMI output doesn't fit on my Samsung TV. Now, there are tons of threads about "HDMI output doesn't fit", where the solution is generally to configure the TV correctly to "full pixel" or something.

In this case... the TV output works perfectly fine in Windows.

If I change the display resolution to anything else than 1080p, it displays fine. The problem ONLY occurs in Linux when displaying at 1080p. In 1600x900, it's actually looking quite fine, but that's not really the solution.

Anything I'm overlooking?

System:
Kernel: 5.15.13-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=58203bda-e2e2-4c32-a006-c91d933cad4e rw [email protected]
quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 loglevel=3
Desktop: KDE Plasma 5.23.5 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11
vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: Acer product: Predator PH315-53 v: V1.01
serial: <superuser required>
Mobo: CML model: QX50_CMS v: V1.01 serial: <superuser required>
UEFI: Insyde v: 1.01 date: 04/27/2020
Battery:
ID-1: BAT1 charge: 43.8 Wh (100.0%) condition: 43.8/58.8 Wh (74.5%)
volts: 16.5 min: 15.4 model: SMP AP18E7M type: Li-ion serial: <filter>
status: Full
CPU:
Info: model: Intel Core i7-10750H bits: 64 type: MT MCP arch: Comet Lake
family: 6 model-id: 0xA5 (165) stepping: 2 microcode: 0xEA
Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 4620 high: 4764 min/max: 800/5000 scaling:
driver: intel_pstate governor: performance cores: 1: 4667 2: 4742 3: 4521
4: 4603 5: 4611 6: 4147 7: 4668 8: 4617 9: 4698 10: 4703 11: 4764
12: 4705 bogomips: 62399
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2
mitigation: Enhanced IBRS, IBPB: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel CometLake-H GT2 [UHD Graphics]
vendor: Acer Incorporated ALI driver: i915 v: kernel bus-ID: 00:02.0
chip-ID: 8086:9bc4 class-ID: 0300
Device-2: NVIDIA TU106M [GeForce RTX 2060 Mobile]
vendor: Acer Incorporated ALI driver: nvidia v: 495.46
alternate: nouveau,nvidia_drm bus-ID: 01:00.0 chip-ID: 10de:1f15
class-ID: 0300
Device-3: Quanta HD User Facing type: USB driver: uvcvideo bus-ID: 1-5:5
chip-ID: 0408:a061 class-ID: 0e02
Display: x11 server: X.Org 1.21.1.3 compositor: kwin_x11 driver:
loaded: modesetting,nvidia display-ID: :0 screens: 1
Screen-1: 0 s-res: 1600x900 s-dpi: 96 s-size: 422x237mm (16.6x9.3")
s-diag: 484mm (19.1")
Monitor-1: HDMI-1-0 res: 1600x900 hz: 60 dpi: 40
size: 1020x570mm (40.2x22.4") diag: 1168mm (46")
OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 21.3.3
direct render: Yes
Audio:
Device-1: Intel Comet Lake PCH cAVS vendor: Acer Incorporated ALI
driver: snd_hda_intel v: kernel
alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
chip-ID: 8086:06c8 class-ID: 0403
Device-2: NVIDIA TU106 High Definition Audio
vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel
bus-ID: 01:00.1 chip-ID: 10de:10f9 class-ID: 0403
Device-3: Texas Instruments PCM2900B Audio CODEC type: USB
driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-3:4 chip-ID: 08bb:29b0
class-ID: 0300
Sound Server-1: ALSA v: k5.15.13-zen1-1-zen running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: no
Sound Server-4: PipeWire v: 0.3.43 running: yes
Network:
Device-1: Intel Comet Lake PCH CNVi WiFi vendor: Rivet Networks
driver: iwlwifi v: kernel bus-ID: 00:14.3 chip-ID: 8086:06f0 class-ID: 0280
IF: wlp0s20f3 state: up mac: <filter>
Device-2: Realtek vendor: Acer Incorporated ALI driver: r8169 v: kernel
port: 3000 bus-ID: 07:00.0 chip-ID: 10ec:2600 class-ID: 0200
IF: enp7s0 state: down mac: <filter>
IF-ID-1: anbox0 state: down mac: <filter>
Bluetooth:
Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
bus-ID: 1-14:6 chip-ID: 8087:0026 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 1 state: down
bt-service: enabled,running rfk-block: hardware: no software: yes
address: <filter>
Drives:
Local Storage: total: 1.63 TiB used: 63.08 GiB (3.8%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: PC SN730 SDBQNTY-512G-1014 size: 476.94 GiB block-size:
physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
serial: <filter> rev: 11101100 temp: 24.9 C scheme: GPT
ID-2: /dev/sda maj-min: 8:0 vendor: HGST (Hitachi) model: HTS721010A9E630
size: 931.51 GiB block-size: physical: 4096 B logical: 512 B
speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter> rev: A3J0
scheme: GPT
ID-3: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT275MX300SSD4
size: 256.17 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: R060 scheme: GPT
Partition:
ID-1: / raw-size: 112.61 GiB size: 112.61 GiB (100.00%)
used: 63.03 GiB (56.0%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
used: 51.2 MiB (53.4%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 112.61 GiB size: 112.61 GiB (100.00%)
used: 63.03 GiB (56.0%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
ID-4: /var/log raw-size: 112.61 GiB size: 112.61 GiB (100.00%)
used: 63.03 GiB (56.0%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
ID-5: /var/tmp raw-size: 112.61 GiB size: 112.61 GiB (100.00%)
used: 63.03 GiB (56.0%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 15.46 GiB used: 2.5 MiB (0.0%)
priority: 100 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 64.0 C pch: 66.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 311 Uptime: 5m wakeups: 1 Memory: 15.46 GiB
used: 3.08 GiB (19.9%) Init: systemd v: 250 tool: systemctl Compilers:
gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1645 lib: 469 Shell: fish
v: 3.3.1 default: Bash v: 5.1.12 running-in: konsole inxi: 3.3.11

Unfortunately, that doesn't help here.

Use it.
Look for xrandr. Use what fit to your hardware on Linux not what fit on M$, please.

xrandr shows me the list of supported resolutions; but I'm much better to use the TV's native resolution. Any reason why it's failing here?

Issue could be with the TV? NVidia driver? Linux config? other issue?

HDMI-1-0 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 1020mm x 570mm
1920x1080     60.00 +  59.94    50.00    29.97    25.00    23.98  
1680x1050     59.95  
1600x900      60.00* 
1440x900      59.89  
1366x768      59.79  
1280x1024     75.02    60.02  
1280x800      59.81  
1280x720      60.00    59.94    50.00  
1152x864      75.00  
1024x768      75.03    70.07    60.00  
800x600       75.00    72.19    60.32  
720x576       50.00  
720x480       59.94  
640x480       75.00    72.81    59.94  
1680x1050 (0x4a) 146.250MHz -HSync +VSync
h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz
1280x1024 (0x53) 135.000MHz +HSync +VSync
h: width  1280 start 1296 end 1440 total 1688 skew    0 clock  79.98KHz
v: height 1024 start 1025 end 1028 total 1066           clock  75.02Hz
1280x1024 (0x54) 108.000MHz +HSync +VSync
h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
1280x800 (0x5f) 83.500MHz -HSync +VSync
h: width  1280 start 1352 end 1480 total 1680 skew    0 clock  49.70KHz
v: height  800 start  803 end  809 total  831           clock  59.81Hz
1152x864 (0x61) 108.000MHz +HSync +VSync
h: width  1152 start 1216 end 1344 total 1600 skew    0 clock  67.50KHz
v: height  864 start  865 end  868 total  900           clock  75.00Hz
1024x768 (0x6a) 78.750MHz +HSync +VSync
h: width  1024 start 1040 end 1136 total 1312 skew    0 clock  60.02KHz
v: height  768 start  769 end  772 total  800           clock  75.03Hz
1024x768 (0x6b) 75.000MHz -HSync -VSync
h: width  1024 start 1048 end 1184 total 1328 skew    0 clock  56.48KHz
v: height  768 start  771 end  777 total  806           clock  70.07Hz
1024x768 (0x6c) 65.000MHz -HSync -VSync
h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
v: height  768 start  771 end  777 total  806           clock  60.00Hz
800x600 (0x87) 49.500MHz +HSync +VSync
h: width   800 start  816 end  896 total 1056 skew    0 clock  46.88KHz
v: height  600 start  601 end  604 total  625           clock  75.00Hz
800x600 (0x86) 50.000MHz +HSync +VSync
h: width   800 start  856 end  976 total 1040 skew    0 clock  48.08KHz
v: height  600 start  637 end  643 total  666           clock  72.19Hz
800x600 (0x88) 40.000MHz +HSync +VSync
h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
v: height  600 start  601 end  605 total  628           clock  60.32Hz
640x480 (0x9b) 31.500MHz -HSync -VSync
h: width   640 start  656 end  720 total  840 skew    0 clock  37.50KHz
v: height  480 start  481 end  484 total  500           clock  75.00Hz
640x480 (0x9c) 25.175MHz -HSync -VSync
h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
v: height  480 start  490 end  492 total  525           clock  59.94Hz

I would disagree that Windows behavior is irrelevant. It tells me whether it's a TV config issue or not. (I actually didn't find the "full pixel" or equivalent setting on the TV; there's an auto-scale option but that causes image distortion)

Use this, you are using Linux.

If the hardware manufacturers only support M$ it won't help you with Linux.

1 Like

The hardware manufacturer supports HDMI standard; who interprets HDMI on the other side is none of its business. It could very well be a game console or a DVD player.

Although PCs tend to have those overscanning issues that consoles and other devices don't have.

"Native TV resolution isn't supported in Linux" certainly isn't the best answer. There's got to be something else.

Then it's not a problem, why are you asking here?

"but fits in any other resolution"#

use it, please.


The hierarchy is as follows: operating system, user application.

If the application X does not work on the operating system, M$, "Bitten Fruit" or Linux, who do you ask for help?
Garuda Linux provides you with the operating system, not the functionality of an application.

1 Like

This is your 5th help request in the last day. You will generally find the receptiveness to give high quality assistance wanes as the frequency of requests increases. In other words, if you go to the well too often, don't be surprised when the well runs dry. :man_shrugging:

4 Likes

Finally found a work-around here; which is a hack to force the TV in recognizing the input as PC.

1 Like

Good search effort on your part. Persistence pays off, and soon your search skills will be top notch if you keep up the good work.

Nice job finding the answer for yourself. It always feels much better when you manage to find the solution after you've applied a lot of elbow grease.

:+1:

Although it works, there remains an annoying detail: whenever I open or plug the TV, it sets a resolution of 1680x1050 by default instead of 1920x1080, and I need to reset it manually each time.

The problem is obviously that 1080p isn't in the xrandr list; but why is it missing?

Where can I report this kind of issues to the teams working on it, so that they're aware of the problem?

Have you seen this Arch wiki entry? I have never done it, but it looks pretty straightforward to set up xrandr with a missing resolution.

1 Like

OK they are aware that there are bugs in the drivers (or hardware). I've added the missing resolution in the list, which should solve the problems in theory. I'll need to run that on startup and experiment with it. Thanks!

I'd really put the fault on the driver-side. It "knows" that 1080p is supported, yet doesn't generate the info for it.

Wait a second -- I need to feed the result of the first command into the 2nd command, trimming the first part. That's not very script-friendly!