Kubuntu 18、第 7 世代 Intel グラフィックス、最大解像度が正しくありません

Kubuntu 18、第 7 世代 Intel グラフィックス、最大解像度が正しくありません

そこで最近、Ubuntu 18 で Gnome から KDE を使用するように切り替えました。システム設定 > ディスプレイ設定では 3 つのディスプレイが表示されますが、Nvidia ドライバー (ノート PC のファンを動かすので、面倒です) を使用するように切り替えない限り、すべてを同時にアクティブにすることはできません。これは、Gnome 3 を使用する Ubuntu 18.04 では機能します。Intel HD 630 は DisplayPort で最大 3 つの 4k ディスプレイをサポートしているためです (https://www.intel.com/content/www/us/en/support/articles/000025675/graphics-drivers.html)。

Ubuntu 17 (Gnome) でもこの問題がありましたが、Ubuntu 18 で解決されました - 第 7 世代 Intel GPU の最大解像度の境界は 8192 x 8192 ではなく 16384 x 16384 になる可能性があります。私は 4.17 カーネルを実行していますが、xrandr は依然として最大サイズを 8192 x 8192 と報告しています (nvidia-390 ドライバーを使用している場合は 32767 x 32767 になります)。

私は、Gnome よりも KDE 5.6 の方が気に入っています。4K ディスプレイでのディスプレイ スケーリングを含め、すべてがより適切に機能しているようです。しかし、ソフトウェアに本来あってはならない制限があるため、ファンの言うことを聞いてディスプレイを諦めるしかありません。修正方法をご存知の方はいらっしゃいますか?

ありがとう!

完全性を期すために、i915 と nvidia ドライバーの両方の xrandr の出力を追加しました。

インテル初:

$ xrandr
Screen 0: minimum 320 x 200, current 7680 x 2160, maximum 8192 x 8192
eDP-1 connected primary 3840x2160+3840+0 (normal left inverted right x axis y axis) 346mm x 194mm
   3840x2160     60.00*+  59.98    59.97  
   3200x1800     59.96    59.94  
   2880x1620     59.96    59.97  
   2560x1600     59.99    59.97  
   2560x1440     59.99    59.99    59.96    59.95  
   2048x1536     60.00  
   1920x1440     60.00  
   1856x1392     60.01  
   1792x1344     60.01  
   2048x1152     59.99    59.98    59.90    59.91  
   1920x1200     59.88    59.95  
   1920x1080     60.01    59.97    59.96    59.93  
   1600x1200     60.00  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74                                                                                                              
   1024x768      60.04    60.00                                                                                                                                
   960x720       60.00                                                                                                                                         
   928x696       60.05                                                                                                                                         
   896x672       60.01                                                                                                                                         
   1024x576      59.95    59.96    59.90    59.82                                                                                                              
   960x600       59.93    60.00                                                                                                                                
   960x540       59.96    59.99    59.63    59.82                                                                                                              
   800x600       60.00    60.32    56.25                                                                                                                       
   840x525       60.01    59.88                                                                                                                                
   864x486       59.92    59.57                                                                                                                                
   800x512       60.17                                                                                                                                         
   700x525       59.98                                                                                                                                         
   800x450       59.95    59.82                                                                                                                                
   640x512       60.02                                                                                                                                         
   720x450       59.89                                                                                                                                         
   700x450       59.96    59.88                                                                                                                                
   640x480       60.00    59.94                                                                                                                                
   720x405       59.51    58.99                                                                                                                                
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 connected (normal left inverted right x axis y axis)
   2560x1440     59.95 +
   1280x720      59.86  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
   3840x2160     24.00* 
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00    59.94  
HDMI-2 disconnected (normal left inverted right x axis y axis)

Nvidia ドライバー:

$ xrandr    
Screen 0: minimum 8 x 8, current 10240 x 2160, maximum 32767 x 32767
    eDP-1-1 connected primary 3840x2160+3840+0 (normal left inverted right x axis y axis) 346mm x 194mm
       3840x2160     60.00*+  59.98    59.97  
       3200x1800     59.96    59.94  
       2880x1620     59.96    59.97  
       2560x1600     59.99    59.97  
       2560x1440     59.99    59.99    59.96    59.95  
       2048x1536     60.00  
       1920x1440     60.00  
       1856x1392     60.01  
       1792x1344     60.01  
       2048x1152     59.99    59.98    59.90    59.91  
       1920x1200     59.88    59.95  
       1920x1080     60.01    59.97    59.96    59.93  
       1600x1200     60.00  
       1680x1050     59.95    59.88  
       1600x1024     60.17  
       1400x1050     59.98  
       1600x900      59.99    59.94    59.95    59.82  
       1280x1024     60.02  
       1440x900      59.89  
       1400x900      59.96    59.88  
       1280x960      60.00  
       1440x810      60.00    59.97  
       1368x768      59.88    59.85  
       1360x768      59.80    59.96  
       1280x800      59.99    59.97    59.81    59.91  
       1152x864      60.00  
       1280x720      60.00    59.99    59.86    59.74  
       1024x768      60.04    60.00  
       960x720       60.00  
       928x696       60.05  
       896x672       60.01  
       1024x576      59.95    59.96    59.90    59.82  
       960x600       59.93    60.00  
       960x540       59.96    59.99    59.63    59.82  
       800x600       60.00    60.32    56.25  
       840x525       60.01    59.88                                                                                                                                 
       864x486       59.92    59.57                                                                                                                                 
       800x512       60.17                                                                                                                                          
       700x525       59.98  
       800x450       59.95    59.82  
       640x512       60.02  
       720x450       59.89  
       700x450       59.96    59.88  
       640x480       60.00    59.94  
       720x405       59.51    58.99  
       684x384       59.88    59.85  
       680x384       59.80    59.96  
       640x400       59.88    59.98  
       576x432       60.06  
       640x360       59.86    59.83    59.84    59.32  
       512x384       60.00  
       512x288       60.00    59.92  
       480x270       59.63    59.82  
       400x300       60.32    56.34  
       432x243       59.92    59.57  
       320x240       60.05  
       360x202       59.51    59.13  
       320x180       59.84    59.32  
    DP-1-1 connected 2560x1440+7680+360 (normal left inverted right x axis y axis) 597mm x 336mm
       2560x1440     59.95*+
       1280x720      59.86  
    HDMI-1-1 disconnected (normal left inverted right x axis y axis)
    DP-1-2 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
       3840x2160     24.00* 
       1024x768      60.00  
       800x600       60.32  
       640x480       60.00    59.94  
    HDMI-1-2 disconnected (normal left inverted right x axis y axis)

答え1

第 8 世代 i7 GPU (HD 630 も搭載) を搭載した Ubuntu 18.04 でこの問題が発生しました。

Ubuntu 18.04 で動作する理由は、何らかの理由でドライバーによって報告された最大解像度出力を無視する Wayland で GNOME を実行しているためです。一方、X は無視しないため、8192 境界を超えると X サーバーがバグを起こします。

カーネル ソース、特に i915 ドライバーを見ると、Intel 開発者が Gen 3 以降 (何年も前) の GPU バージョンの確認をやめたこと、および Gen 3 以下ではない GPU の最大出力がデフォルトで 8192x8192 になっていることがわかります。Gen 6 以上 (またはその前後) はすべて 16384x16384 をサポートしています。

この修正は笑えるほど単純なので、修正されていないのは不思議です。文字通りifブランチを

/* maximum framebuffer dimensions */
if (IS_GEN2(dev_priv)) {
    dev->mode_config.max_width = 2048;
    dev->mode_config.max_height = 2048;
} else if (IS_GEN3(dev_priv)) {
    dev->mode_config.max_width = 4096;
    dev->mode_config.max_height = 4096;
} else if (IS_GEN4(dev_priv) || IS_GEN5(dev_priv)) {
    dev->mode_config.max_width = 8192;
    dev->mode_config.max_height = 8192;
} else {
    dev->mode_config.max_width = 16384;
    dev->mode_config.max_height = 16384;
}

参考のために:https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/i915/intel_display.c

関連情報