web-dev-qa-db-ja.com

xrandrで変更しようとすると画面がフリーズする

外付けのLCDディスプレイ(BenQ V2200 Eco Specs)をラップトップで使用しようとしています(HPのHP Compaq 6910 pからLubuntu 17.10と最新のアップデートを使用)。

モニター設定の使用中にディスプレイを接続すると、画面は黒のままで、信号はありません。起動する前にプラグを差し込むと、実行されますが、解像度が間違っています。

xrandrはラップトップ画面と外部LCDディスプレイの両方にデスクトップを拡張するために設定されていると思いますが、LCDの実際の解像度は1920x1080ではなく3200x1080です、したがって、デスクトップは右側でトリミングされます。問題は、xrandrまたはarandrの設定を変更しようとすると、画面がフリーズし、ハードリブートが必要になることです。これは、外部ディスプレイを接続せずに変更を加えた場合にも発生します。

$ lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516/M64-S [Mobility Radeon X2300]

$ lspci -nnk | grep -i vga -A3 | grep 'in use'
    Kernel driver in use: radeon

これはxrandrの出力です(実行中のコンピューターにディスプレイを接続すると、起動前にディスプレイを接続すると、現在は3200x1080に変更されます)。

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
VGA-0 connected primary (normal left inverted right x axis y axis)
   1920x1080     60.00 +
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      75.03    60.00  
   1024x576      59.97  
   832x624       74.55  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
   720x400       70.08  
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 304mm x 190mm
   1280x800      60.00*+
   1280x720      59.97  
   1152x768      59.95  
   1024x768      59.95  
   800x600       59.96  
   848x480       59.94  
   720x480       59.94  
   640x480       59.94  
S-video disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)
5
sjlh

起動前にモニターを接続すると解像度が悪くなると言ったように、.profileに特定の解像度を追加するとこの問題が解決すると思います。

ターミナルを開き、次のコマンドを実行します。

xrandr

xrandr output

出力の表示デバイス名に注意してください。私の場合は、eDP-1です。

次に、次のコマンドを実行します

cvt 1920 1080

command output in terminal

出力からModeline全体をコピーします。

私の場合は次のとおりです

"1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync.

そして、次のコマンドを実行します。

Sudo xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

注:--newmodeの後のコマンドセクションは、前のステップで取得した出力からコピーされます。

次に、新しく作成したモードをディスプレイデバイスに追加します。

Sudo xrandr --addmode eDP-1 "1920x1080_60.00"

最後に、ディスプレイ設定で新しい解像度を適用します。優先解像度として「1920x1080」解像度を選択します。

重要:次回の起動時にUbuntuに新しく作成された画面解像度を記憶させるには、.profileを編集する必要があります。次のようなテキストエディタを使用します。

vim ~/.profile

最後の2つのコマンドを最後に追加します

profile in vim

保存して再起動します。システムが両方のディスプレイで1920x1080解像度を検出することを願っています。

2
Rooney

お返事ありがとうございます。私はあなたのアドバイスといくつかのさらなる研究に基づいて問題を解決することができました:

あなたが説明したように、.profileに2つの追加コメントを追加しました。さらに、外部ディスプレイのスケールを変更する3番目のもの(--dpi--panningも実際には効果がないと思います)。

xrandr --dpi 102.3 --fb 3200x1080    --output VGA-0 --mode 1920x1080 --pos 0x0 --panning 1920x1080 --scale 1.2x1

このブログ投稿 を理解するのに役立ちました。

Waylandを使用していません。

0
sjlh