xrandr -- how to find the correct RGB full spectrum output command for my system
I have just hooked up my laptop to an external monitor after a "spillage incident" foobared the built-in display. However, when I connect the monitor via an HDMI cable the colours look extremely washed out. I searched around a bit and found this is probably due to the laptop graphics card not outputting the full RGB spectrum via HDMI by default. I found a solution here:
https://www.kubuntuforums.net/showthread.php?63895-Black-level-too-high-after-upgrade-to-13-10
recommending this command:
xrandr --output HDMI1 --set "Broadcast RGB" "Full"
which doesn't work on my system, since the parameters are not applicable:
output HDMI1 not found; ignoring X Error of failed request:
BadRROutput (invalid Output parameter) Major opcode of failed
request: 140 (RANDR) Minor opcode of failed request: 15
(RRGetOutputProperty) Serial number of failed request: 28 Current
serial number in output stream: 28
I ran:
xrandr -q
and the output:
[...]
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
1920x1080 60.00*+ 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1920x1080i 60.00 50.00 59.94
1600x1200 60.00
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
VGA-0 disconnected (normal left inverted right x axis y axis)
provided me with the correct --output
parameter, HDMI-0
. However, I am unsure how to find a list of parameters and values applicable on my system when using the --set
flag, so I can work out what to use in place of "Broadcast RGB" "Full". At the moment the command:
xrandr --output HDMI-0 --set "Broadcast RGB" "Full"
outputs:
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 29
Current serial number in output stream: 29
I also ran sudo lshw -c video
:
*-display
description: VGA compatible controller
product: Mullins [Radeon R4/R5 Graphics]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 1
bus info: pci@0000:00:01.0
version: 45
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=radeon latency=0
resources: irq:35 memory:e0000000-efffffff memory:f0000000-f07fffff ioport:3000(size=256) memory:f0d00000-f0d3ffff memory:f0d80000-f0d9ffff
But could not find anything which seemed immediately useful in the resulting information.
I also ran xrandr --verbose
which outputs:
HDMI-0 connected primary 1920x1080+0+0 (0x60) normal (normal left inverted right x axis y axis) 160mm x 90mm
Identifier: 0x52
Timestamp: 36995480
Subpixel: horizontal rgb
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 0
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
EDID:
00ffffffffffff004c2d860400000000
06130103801009780aee91a3544c9926
0f5054bfef80714f81408180a9408100
b30095000101023a801871382d40582c
4500a05a0000001e011d00bc52d01e20
b8285540a05a0000001e000000fd0018
4b1a5117000a202020202020000000fc
0053796e634d61737465720a202001a5
020323f14b930405140312101f202122
2309070783010000e2000f67030c0010
00b82d011d80d0721c1620102c2580a0
5a0000009e011d8018711c1620582c25
00a05a0000009e011d007251d01e206e
285500a05a0000001e8c0ad090204031
200c405500a05a000000180000000000
0000000000000000000000000000007a
output_csc: bypass
supported: bypass, tvrgb, ycbcr601, ycbcr709
audio: auto
supported: off, on, auto
scaling mode: None
supported: None, Full, Center, Full aspect
dither: off
supported: off, on
underscan vborder: 0
range: (0, 128)
underscan hborder: 0
range: (0, 128)
underscan: off
supported: off, on, auto
coherent: 1
range: (0, 1)
1920x1080 (0x60) 148.500MHz +HSync +VSync *current +preferred
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.50KHz
v: height 1080 start 1084 end 1089 total 1125 clock 60.00Hz
1920x1080 (0x61) 148.500MHz +HSync +VSync
h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.25KHz
v: height 1080 start 1084 end 1089 total 1125 clock 50.00Hz
1920x1080 (0x62) 148.352MHz +HSync +VSync
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.43KHz
v: height 1080 start 1084 end 1089 total 1125 clock 59.94Hz
1920x1080i (0x63) 74.250MHz +HSync +VSync Interlace
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 33.75KHz
v: height 1080 start 1084 end 1094 total 1125 clock 60.00Hz
1920x1080i (0x64) 74.250MHz +HSync +VSync Interlace
h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 28.12KHz
v: height 1080 start 1084 end 1094 total 1125 clock 50.00Hz
1920x1080 (0x65) 74.250MHz +HSync +VSync
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 33.75KHz
v: height 1080 start 1084 end 1089 total 1125 clock 30.00Hz
1920x1080 (0x66) 74.250MHz +HSync +VSync
h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 28.12KHz
v: height 1080 start 1084 end 1089 total 1125 clock 25.00Hz
1920x1080 (0x67) 74.250MHz +HSync +VSync
h: width 1920 start 2558 end 2602 total 2750 skew 0 clock 27.00KHz
v: height 1080 start 1084 end 1089 total 1125 clock 24.00Hz
1920x1080i (0x68) 74.176MHz +HSync +VSync Interlace
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 33.72KHz
v: height 1080 start 1084 end 1094 total 1125 clock 59.94Hz
1920x1080 (0x69) 74.176MHz +HSync +VSync
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 33.72KHz
v: height 1080 start 1084 end 1089 total 1125 clock 29.97Hz
1920x1080 (0x6a) 74.176MHz +HSync +VSync
h: width 1920 start 2558 end 2602 total 2750 skew 0 clock 26.97KHz
v: height 1080 start 1084 end 1089 total 1125 clock 23.98Hz
1600x1200 (0x6b) 162.000MHz +HSync +VSync
h: width 1600 start 1664 end 1856 total 2160 skew 0 clock 75.00KHz
v: height 1200 start 1201 end 1204 total 1250 clock 60.00Hz
1680x1050 (0x6c) 119.000MHz +HSync -VSync
h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.67KHz
v: height 1050 start 1053 end 1059 total 1080 clock 59.88Hz
1280x1024 (0x6d) 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 (0x6e) 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
1440x900 (0x6f) 88.750MHz +HSync -VSync
h: width 1440 start 1488 end 1520 total 1600 skew 0 clock 55.47KHz
v: height 900 start 903 end 909 total 926 clock 59.90Hz
1280x960 (0x70) 108.000MHz +HSync +VSync
h: width 1280 start 1376 end 1488 total 1800 skew 0 clock 60.00KHz
v: height 960 start 961 end 964 total 1000 clock 60.00Hz
1280x800 (0x71) 71.000MHz +HSync -VSync
h: width 1280 start 1328 end 1360 total 1440 skew 0 clock 49.31KHz
v: height 800 start 803 end 809 total 823 clock 59.91Hz
1152x864 (0x72) 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
1280x720 (0x73) 74.250MHz +HSync +VSync
h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 45.00KHz
v: height 720 start 725 end 730 total 750 clock 60.00Hz
1280x720 (0x74) 74.250MHz +HSync +VSync
h: width 1280 start 1720 end 1760 total 1980 skew 0 clock 37.50KHz
v: height 720 start 725 end 730 total 750 clock 50.00Hz
1280x720 (0x75) 74.176MHz +HSync +VSync
h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 44.96KHz
v: height 720 start 725 end 730 total 750 clock 59.94Hz
1024x768 (0x76) 78.800MHz +HSync +VSync
h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.06KHz
v: height 768 start 769 end 772 total 800 clock 75.08Hz
1024x768 (0x77) 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 (0x78) 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
832x624 (0x79) 57.284MHz -HSync -VSync
h: width 832 start 864 end 928 total 1152 skew 0 clock 49.73KHz
v: height 624 start 625 end 628 total 667 clock 74.55Hz
800x600 (0x7a) 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 (0x7b) 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 (0x7c) 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
800x600 (0x7d) 36.000MHz +HSync +VSync
h: width 800 start 824 end 896 total 1024 skew 0 clock 35.16KHz
v: height 600 start 601 end 603 total 625 clock 56.25Hz
720x576 (0x7e) 27.000MHz -HSync -VSync
h: width 720 start 732 end 796 total 864 skew 0 clock 31.25KHz
v: height 576 start 581 end 586 total 625 clock 50.00Hz
720x480 (0x7f) 27.027MHz -HSync -VSync
h: width 720 start 736 end 798 total 858 skew 0 clock 31.50KHz
v: height 480 start 489 end 495 total 525 clock 60.00Hz
720x480 (0x80) 27.000MHz -HSync -VSync
h: width 720 start 736 end 798 total 858 skew 0 clock 31.47KHz
v: height 480 start 489 end 495 total 525 clock 59.94Hz
640x480 (0x81) 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 (0x82) 31.500MHz -HSync -VSync
h: width 640 start 664 end 704 total 832 skew 0 clock 37.86KHz
v: height 480 start 489 end 491 total 520 clock 72.81Hz
640x480 (0x83) 30.240MHz -HSync -VSync
h: width 640 start 704 end 768 total 864 skew 0 clock 35.00KHz
v: height 480 start 483 end 486 total 525 clock 66.67Hz
640x480 (0x84) 25.200MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.50KHz
v: height 480 start 490 end 492 total 525 clock 60.00Hz
640x480 (0x85) 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
720x400 (0x86) 28.320MHz -HSync +VSync
h: width 720 start 738 end 846 total 900 skew 0 clock 31.47KHz
v: height 400 start 412 end 414 total 449 clock 70.08Hz
VGA-0 disconnected (normal left inverted right x axis y axis)
Identifier: 0x53
Timestamp: 36995480
Subpixel: no subpixels
Clones:
CRTCs: 0 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
output_csc: bypass
supported: bypass, tvrgb, ycbcr601, ycbcr709
scaling mode: None
supported: None, Full, Center, Full aspect
load detection: 1
range: (0, 1)
For the relevant monitor/connection.
If this were not possible with xrandr
I would also be willing to accept any answer telling me how to retrieve data from and manipulate output of RandR/X11 via a different method.
The Broadcast RGB
property is for Intel graphics cards. output_csc
appears to be the AMD variant of the same thing.
output_csc
is set to bypass
in what you posted, which should be equivalent to the Full
range (0-255).
You can try setting output_csc
to other valid options, notably tvrgb
(16-235).
xrandr --output HDMI-0 --set "output_csc" "bypass"
xrandr --output HDMI-0 --set "output_csc" "tvrgb"
xrandr --output HDMI-0 --set "output_csc" "ycbcr601"
xrandr --output HDMI-0 --set "output_csc" "ycbcr709"
It's also possible that some of your monitor's settings need fiddling with.
You just missed a dash "-" between HDMI
and 1
. The corrected command is:
xrandr --output HDMI-1 --set "Broadcast RGB" "Full"