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) тоже была эта проблема, и она была решена с помощью графических процессоров Intel Ubuntu 18–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:

Интел первый:

$ 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 с 8-го поколения i7 GPU (также имеет HD 630).

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

Если вы посмотрите на источник ядра, в частности на драйвер i915, вы заметите, что разработчики Intel прекратили проверять версии GPU после 3-го поколения (то есть ГОДА назад) и любой графический процессор, который не является 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

Другие вопросы по тегам