AMD RADEON 4k 3840x2160 60Hz で表示。ubuntu/Mint

AMD RADEONでも4K 60Hz表示ができます。

できないというのが通説だった時期に書いた記事です。

現在ではこんなめんどくさいことをしなくても、普通に4K/60Hzで使えるようになるはずです。4年前はめんどくさい環境も少なくなかったということですね。(2020年8月3日追記) また、この記事はひっそりとおいているだけなのですが、一定のアクセスが続いているのはなぜでしょうね。

必須条件

  • 4k60Hz対応モニター(DP入力端子。またはDPからHDMIに変換する場合はそれが60Hzに対応していることが必要ですし、それ用のコンバートケーブルが必要です)
  • 適切なグラフィック(例AMD RADEON R7 360)
  • DisplayPort出力
  • 4K対応ケーブル
ケーブルはいまどき490円程度のでもふつうに使えますね。間違えると4Kにならないのでご注意ください。数年前のDPケーブルだとまず対応していないと思います。

うっかり間違える可能性。MAC用でOKだろうと思っていたら、低スペックMACでは30Hzしか対応していなかった、みたいなことです。よく注意して買い物を。
さて、話は本筋に戻ります。なおこれは標準できちんとモニターが認識されない場合に読む記事です。標準でうまくいかないTVなどが対象ですから、有名どころのモニターは何も考えなくてもOKのはずです。後段には、あえて解像度をおとして使う設定例も書いておりますので参考にしてみてください。

作業の流れ

  • 0) cvtコマンドで状況確認(以下のオレンジをメモ:cvtコマンドで状況確認/必須作業のModeline移行の文字列が重要)
  • 1) xrandr --newmode
  • 2) xrandr --addmode
  • 3) xrandr --output
これだけです。

1-3は、.xprofile、.profileに書くなりするといいですが、ノースクリーンになると困るのでいったん普通に起動して、コマンドで切り替えたほうがいいかもしれませんね。チラツキなどがなく安定するようなら完全自動にすればいいと思います。

当方の場合(1-3)は次の3行で完結します。よくみると簡単なパターンです。ここ大事です。

  1. xrandr --newmode "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync
  2. xrandr --addmode DisplayPort-0 "3840x2160R"
  3. xrandr --output DisplayPort-0 --mode "3840x2160R" 

xrandrで今どうなっているか見てみる。当方の現在例


新規にターミナル(端末)を開きます。CTRL+ALT+T


$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
DisplayPort-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) xxx yyy
   3840x2160     30.00 +  25.00    24.00    29.97    23.98
   1920x1080     60.00    50.00    59.94    24.00    23.98
   1920x1080i    60.00    50.00    59.94
   1680x1050     59.88
   1280x1024     60.02
   1280x960      60.00
   1360x768      60.02
   1280x800      59.91
   1280x720      60.00    50.00    59.94
   1024x768      60.00
   800x600       60.32    56.25
   720x576       50.00
   720x576i      50.00
   720x480       60.00    59.94
   720x480i      60.00    59.94
   640x480       60.00    59.94
   720x400       70.08

   3840x2160R    59.97
   3840x2160_60.00  59.98
   3840x2160_59.00  58.98*
   3200x1800_60.00  59.96
   3600x2025_59.00  58.96
   2560x1440_60.00  59.96 
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)

黄色は自分で登録した解像度、周波数です。

アスタリスクが末尾に付いている解像度で表示されています。 

余談

当方がここで確認しているのは、「標準では4K/60Hzモードがないこと」です。あればそれを利用すればいいわけですから。おそらく何も考えずにうまくいっているはずです。
---------------------------

余談の余談

以下の解像度も使えます。 4Kで重い処理になりすぎる場合に一時的に低解像度変更してみたりしています。オープンソースドライバがもう少し速ければいいんですけどね。利用したい場合はそれぞれ2行分の追加が必要です。

xrandr --output DisplayPort-0 --mode "2560x1440_60.00" 
xrandr --output DisplayPort-0 --mode "3200x1800_60.00"

CVTコマンドで状況確認/必須作業


cvt 3840 2160
# 3840x2160 59.98 Hz (CVT 8.29M9) hsync: 134.18 kHz; pclk: 712.75 MHz
Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync

cvt -r 3840 2160
# 3840x2160 59.97 Hz (CVT 8.29M9-R) hsync: 133.25 kHz; pclk: 533.00 MHz
Modeline "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync

オレンジが重要

#~/bin/4k 4Kを選択するスクリプト例 無駄な説明付き


結局は、青のxrandr行の3行を発行するだけです。

4k 引数

使い方

2 FHDにする
3 30Hzにする
6 60Hzにする。59.98Hz
R 60Hzにする。59.97Hz -0.01Hzで安定した。カーネルによるかもしれない。
なし Rと同じ。

-------------------------------------------------------------------------
#!/bin/bash
# -x
# 4k 60Hz
#
#
#
#Procedure


    RES=`xrandr | grep -oP '^(.*?\.\d\d)\*' | sed 's/\*//'` ; echo "$RES"


                 #   3840x2160_60.00  59.98 チラつく
if xrandr -q | grep -E '3840x2160_60.00' ; then
#if xrandr -q | grep -E '3840x2160_60.00  59.98' ; then
#if xrandr -q | grep -E '3840x2160R    59.97' ; then
        echo ready 60Hz mode.モード登録済み。省略。
    else
        echo entry 60Hz mode.モード登録する。作業。
    #Res.Ent: newmode
        xrandr --newmode "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
        xrandr --newmode "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync
        #NG!! xrandr --newmode "3840x2160_61.00"  725.00  3840 4160 4576 5312  2160 2163 2168 2239 -hsync +vsync
    #Res.Add: addmode
        xrandr --addmode DisplayPort-0 "3840x2160_60.00"
        # NG!! xrandr --addmode DisplayPort-0 "3840x2160_61.00"
        xrandr --addmode DisplayPort-0 "3840x2160R"
fi

    echo previous : `xrandr | grep '*' `

    case "$1" in
        "2"  | "2k" | "fhd" | "1080" )
            xrandr --output DisplayPort-0 --mode "1920x1080"    ;;
        "3"  | "30" | "4k" | "2160")
            xrandr --output DisplayPort-0 --mode "3840x2160"    ;;
        "6"  | "60" )
            xrandr --output DisplayPort-0 --mode "3840x2160_60.00"    ;;
        #"61"  | "i" )
        #    xrandr --output DisplayPort-0 --mode "3840x2160_61.00"    ;;
        "R" | "r" )
            xrandr --output DisplayPort-0 --mode "3840x2160R"    ;;
        * )
            #xrandr --output DisplayPort-0 --mode "3840x2160_60.00"    ;;
            xrandr --output DisplayPort-0 --mode "3840x2160R"    ;;

    esac

    echo and now! : `xrandr | grep '*' `
echo done
exit

<
#       1920x1080     60.00    50.00    59.94    24.00    23.98
#       3840x2160     30.00*+  25.00    24.00    29.97    23.98
memo
#

追記:ちょっと変更して試験中(これで決まりか?!)

cvt 3840 2160 59
# 3840x2160 58.98 Hz (CVT) hsync: 131.87 kHz; pclk: 700.50 MHz
Modeline "3840x2160_59.00"  700.50  3840 4160 4576 5312  2160 2163 2168 2236 -hsync +vsync
xrandr --newmode "3840x2160_59.00"  700.50  3840 4160 4576 5312  2160 2163 2168 2236 -hsync +vsync
xrandr --addmode DisplayPort-0 "3840x2160_59.00" 
xrandr --output DisplayPort-0 --mode "3840x2160_59.00" 

余談::現在ではオープンソースドライバが優秀なので以下の悩みはちっともありません。

AMD での4Kは、プロプラなドライバでないとだめかなと思っていた上、askubuntuなどでもRADEONはだめだよっていう記事があったりしたので、ふーん、と思っていました。実際、やってみると普通にできたので方法を記載します。R7360は、AMDで最低ラインの4K対応グラフィックボードと思っていただければよいです。まだ売っているみたいですが現行品ではありません(ほんの一瞬の商品だった)し、16.04にはプロプラドライバも提供されていません。

(ひとりごとのひとりごと。やっぱ fglrx カモーンだな。まさかの「瞬間打ち切り」になるとは思ってなかった。というか、買ってから一度もプロプラドライバの恩恵にあずかったことはないのだけど。マイナー悲哀)

モニター変更しました。43インチ4Kにダウンしました。

Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
DisplayPort-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 953mm x 543mm
   3840x2160     60.00 +  30.00    25.00    24.00    29.97    23.98  
   1920x2160     59.99  
   2560x1440     59.95  
   1920x1080     60.00    60.00    50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x960      60.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  
   3840x2160R    59.97* 
   3840x2160_60.00  59.98  
   3840x2160_59.00  58.98  
   3200x1800_60.00  59.96  
   3840x2160_60.50  60.48  
   3840x2160_30.00  29.98  
   3840x2160_60.10  60.09  
   3840x2160_59.99  59.98  
   3840x2160_59.98  59.96  
   3840x2160_59.97  59.96  
   3840x2160_59.96  59.94  
   3840x2160_59.95  59.94  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)


オレンジの解像度がもっとも良い結果を示してくれます。追記、2018年6月19日::何もせずに標準で使うようになりました。細かいことはいいんだよ。
  • ubuntu18.04LTS/Manjaro
  • PHILIPS フィリップス BDM4350UC/11 42.51インチ

Namida Zone :: 神々は細部に宿る――涙とともに、夜な夜なパンをかじった。

Grub2をめぐるあれこれ。テーマ、背景、フォント。それが Cute Grub 計画

No Copyright Girl / ノーコピーライトガール Grubと戯れるという意味のない日常:: Cute Grub 計画 コンピューターの電源オン後、 OS オペレーティングシステムを起動するためのブートローダーが先ず動きだす――ほぼすべてのLinux...