AMD RADEONでも4K 60Hz表示ができます。
できないというのが通説だった時期に書いた記事です。
現在ではこんなめんどくさいことをしなくても、普通に4K/60Hzで使えるようになるはずです。4年前はめんどくさい環境も少なくなかったということですね。(2020年8月3日追記) また、この記事はひっそりとおいているだけなのですが、一定のアクセスが続いているのはなぜでしょうね。
必須条件
- 4k60Hz対応モニター(DP入力端子。またはDPからHDMIに変換する場合はそれが60Hzに対応していることが必要ですし、それ用のコンバートケーブルが必要です)
- 適切なグラフィック(例AMD RADEON R7 360)
- DisplayPort出力
- 4K対応ケーブル
うっかり間違える可能性。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行で完結します。よくみると簡単なパターンです。ここ大事です。
- xrandr --newmode "3840x2160R" 533.00 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync
- xrandr --addmode DisplayPort-0 "3840x2160R"
- 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
# 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)
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インチ