How can I get 1080p to work on my TV with HDMI using xrandr?

9,482

Thanks to brm's comment and reading the xrandr man page, I figured out what the issue was. There were two problems:

First, I'd always used xrandr's -s option, which specifies size, rather than the newer --mode option. This almost always works anyway, and in this case switching to xrandr --output HDMI-0 --mode 1920x1080 didn't fix things. However, it was needed to deal with the second problem: refresh rates.

Apparently the default refresh rate for 1920x1080 wasn't actually supported by my TV (thus the signal error), so I had to specify 60Hz. xrandr -s 1920x1080 -r 60 gave the error Rate 60.00 Hz not available for this size, as did using any of the other frequences listed in the xrandr output.

The final solution was to use this command:

xrandr --output HDMI-0 --mode 1920x1080 -r 60

And everything works nicely. I'm still not sure exactly why this works, especially since the man page says -r (a 1.1 option) shouldn't work well with --mode (a 1.2 option). But I'm happy to have my pixels at least.

Share:
9,482
polm23
Author by

polm23

Updated on September 18, 2022

Comments

  • polm23
    polm23 over 1 year

    I'm using Arch Linux on a small HTPC called an Xtreamer, which has an Nvidia GT218/ION graphics card and HDMI out. My television is an Orion DL40-71BK (manual, note everything's in Japanese).

    HDMI video output works fine on some settings, for example 1440x900 and 1280x720, and xrandr shows many modes without any X11 configuration, including 1920x1080@60Hz (which it lists as the preferred mode). Full xrandr output follows:

    Screen 0: minimum 8 x 8, current 1440 x 900, maximum 8192 x 8192                     
    DVI-I-0 disconnected primary (normal left inverted right x axis y axis)              
    DVI-I-1 disconnected (normal left inverted right x axis y axis)                      
    HDMI-0 connected 1440x900+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
       1920x1080     60.05 +  60.00    59.94    60.00                                    
       1440x900      59.89*                                                              
       1360x768      60.02                                                               
       1280x1024     60.02                                                               
       1280x768      59.87                                                               
       1280x720      60.00    59.94                                                      
       1024x768      60.00                                                               
       800x600       60.32                                                               
       720x480       59.94    60.05                                                      
       640x480       59.94    59.93                                                      
    

    One thing I do not understand here: What are the columns to the right of 60.00 in the 1920x1080 line?

    Anyway, the problem is if I use xrandr to switch to the 1920x1080 mode (or let X11 do so by default on startup) my television shows a black screen and an error (非対応の入力信号, "unsupported input signal"). This also happens if I use the nvidia-settings tool to set the resolution (it also lists 1920x1080 as supported, but has the same error).

    I can find this error a few places online, but nothing to with Linux, just people having problems with game consoles and older versions of the TV.

    I know the TV works with 1920x1080; the manufacturer lists it and my PS3 uses 1080p just fine.

    What can I do to use 1920x1080 on my TV? Is there some configuration I've overlooked?

    • Admin
      Admin almost 10 years
      The other numbers on the 1920x1080 line are refresh rates (can be set in xrandr using the -r flag). No idea why 60.00 is shown twice in that line though. Have you tried specifying both the mode and one of those refresh rates at the same time?
    • Admin
      Admin almost 10 years
      Thanks, that fixed it! I guess the default refresh rate wasn't working with my TV.