Kubuntu 18, графика Intel 7-го поколения, неправильное максимальное разрешение

Kubuntu 18, графика Intel 7-го поколения, неправильное максимальное разрешение

Поэтому я недавно перешел на использование KDE с Gnome в Ubuntu 18. Конфигурация «Параметры системы» > «Дисплеи» будет отображать три дисплея, но не позволит мне активировать их все одновременно, если я не переключусь на использование драйверов Nvidia (которые управляют вентиляторами в ноутбуке, что меня раздражает). Это работает с Ubuntu 18.04 с использованием Gnome 3, поскольку Intel HD 630 поддерживает до 3 дисплеев 4k на DisplayPort (https://www.intel.com/content/www/us/en/support/articles/000025675/graphics-drivers.html).

В Ubuntu 17 (Gnome) тоже была эта проблема, и она была решена в Ubuntu 18 - графические процессоры Intel 7-го поколения могли иметь максимальное разрешение 16384 x 16384 вместо 8192 x 8192. Я использую ядро ​​4.17, но xrandr по-прежнему сообщает о максимальном размере 8192 x 8192. (Если я использую драйверы nvidia-390, разрешение увеличивается до 32767 x 32767).

Мне KDE 5.6 нравится больше, чем Gnome - все, кажется, работает лучше, включая масштабирование дисплея на 4k-дисплеях. Но из-за этого явного ограничения в программном обеспечении, которого там быть не должно, мне придется либо послушать этих фанатов, либо отказаться от дисплея. Кто-нибудь знает о возможном исправлении?

Спасибо!

Для полноты картины добавил вывод xrandr для драйверов i915 и nvidia:

Сначала Intel:

$ 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

У меня возникла эта проблема на Ubuntu 18.04 с графическим процессором i7 8-го поколения (также имеется HD 630).

Причина, по которой это работает в Ubuntu 18.04, заключается в том, что вы используете GNOME на Wayland, который по какой-то причине игнорирует вывод максимального разрешения, сообщаемый драйвером. С другой стороны, X этого не делает, и поэтому превышение границы 8192 приводит к ошибке сервера X.

Если вы посмотрите на исходный код ядра, в частности драйвера i915, вы заметите, что разработчики Intel прекратили проверять версии GPU после 3-го поколения (что было ГОДЫ назад), и любой GPU, который не является 3-м поколением или ниже, по умолчанию выдает максимальный вывод 8192x8192. Хотя 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

Связанный контент