Улучшение разрешения в консольном режиме (драйверы nVidia)

Улучшение разрешения в консольном режиме (драйверы nVidia)

Некоторое время назад при попытке обновить мою настольную систему с Ubuntu 18.10 до 19.04 что-то пошло не так, и в результате графическая среда перестала работать.

Это заставило меня использовать консоль (Ctrl+Alt+F3), которая работала хорошо. На самом деле, она работала очень хорошо. Экран был полностью использован, шрифты были четкими, и хотя они были маленькими, просто благодаря идеальному соответствию разрешению монитора они были очень читабельными. В итоге у меня было очень большое рабочее пространство. В сочетании с tmuxэто была идеальная среда разработки.

Я чувствовал себя настолько хорошо в этой новой настройке, что несколько недель пренебрегал восстановлением графической среды. Однако, одна вещь, которой очень не хватает в текстовом режиме, — это Firefox, и я не могу сделать многого, не обращаясь к нему. Поэтому я исправил проблему, которая, по-видимому, была связана с графическими драйверами nVidia. Простое удаление и повторная установка исправили ее. И теперь графическая среда работает отлично.

Итак, мне больше не "нужен" консольный режим, но так как он мне понравился, я захотел снова его использовать, и к моему разочарованию, разрешение было установлено на значение по умолчанию 1024x768. Шрифты Crips исчезли, текст теперь слишком большой и размытый, что ухудшает рабочую среду и делает чтение неприятным.

Итак, я пошел искать какое-то решение. И так уж получилось, что этот вопрос задают довольно часто. Я нашел много вариантов одного и того же ответа, и все они указывают на grub.

Теперь, это странно, потому что в приведенном выше сценарии разрешение консоли было изменено, хотя grubне было изменено ни на йоту. Так что это пахнет подозрительно. Я, тем не менее, неохотно попробовал это. Хорошим вариантом решения grubможет бытьчитать здесь. Поэтому я применил его, используя разрешение моего монитора, но это не сработало. Разрешение все еще низкое и размытое.

Копнув глубже, я нашел несколько советов о том, как выбрать видеорежим, начиная с их перечисления с помощью vbeinfoon grub. Это не работает. Позже я вижу примечание, которое можно использовать videoinfoвместо этого. Это работает, но перечисляет только режимы «низкого разрешения», от 640 до 1280, в формате 4x3.

Окончательно,другой ответпредлагает использовать hwinfo, который доступен в пользовательском режиме. Этот перечисляет больше режимов, но все еще не тот, что у моего монитора.

sudo hwinfo --framebuffer 
02: None 00.0: 11001 VESA Framebuffer                           
  [Created at bios.459]
  Unique ID: xxxx
  Hardware Class: framebuffer
  Model: "NVIDIA GPU Board"
  Vendor: "NVIDIA Corporation"
  Device: "GPU Board"
  SubVendor: "NVIDIA"
  SubDevice: 
  Revision: "Chip Rev"
  Memory Size: 16 MB
  Memory Range: 0x01000000-0x01ffffff (rw)
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+1024), 8 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+2048), 16 bits
  Mode 0x0315: 800x600 (+4096), 24 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0345: 1600x1200 (+1664), 8 bits
  Mode 0x0346: 1600x1200 (+3328), 16 bits
  Mode 0x034a: 1600x1200 (+6656), 24 bits
  Mode 0x0371: 1360x768 (+6144), 24 bits
  Mode 0x0377: 1920x1080 (+7680), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Мой монитор предлагает собственное разрешение 1680x1050, формат 16:10. В этом списке его нет. Похоже, это говорит о том, что видеокарта не может справиться.

Но в графическом режиме он работает отлично. И что еще более странно, так это то, что консольный режим в разрешении 1680x1050 работал отлично, пока графический драйвер был в плохом состоянии. Каким-то образом исправление графического драйвера ухудшило ситуацию в консольном режиме.

Можно ли что-то предпринять помимо ранее описанных действий?

редактировать: Я попытал счастья с rEFInd, который предлагает более разумный опыт настройки через refind.conf. Я полагаю, это также означает, что grub2трюк больше не действует. В любом случае, настройка resolution 1680 1050не работает, и загрузка немедленно жалуется на это, ограничивая выбор до 640x480, 800x600, 1024x768, 1280x1024. Так что я полагаю, rEFIndчто вынужден выбрать один из них, вероятно, из-за ограничений в том, что поддерживает nVidia VGA Bios.

Однако мне кажется странным, что консоль будет ограничена тем же разрешением, что и загрузчик. И это все еще не объясняет, почему консоль в разрешении 1680x1050 работала нормально до исправления графического драйвера.

правка 2: изменение разрешения grubна 1280x1024, которое является одним из разрешений, разрешенных videoinfo, успешно изменяет разрешение Ubuntu tty на то же самое 1280x1024. Наконец-то, какое-то влияние. Это увеличивает рабочее пространство по сравнению с значением по умолчанию 1024x768, но шрифты становятся еще менее читаемыми ... До сих пор нет объяснения, почему использование tty 1680x1050работало нормально, в то время как драйверы nvidia были в беспорядке.

правка 3: Теперь я подозреваю, что, пока моя графическая среда не работала, графический драйвер, вероятно, был предоставлен nouveau. К сожалению, он был несовместим с моей графической картой, поскольку она была слишком новой (это RTX2080). Но каким-то образом, nouveauимеет рабочую реализацию кадрового буфера, которая позволяет иметь консоль с высоким разрешением, чего странным образом не хватает в официальных драйверах nVidia ...

правка 4: Как и просил @Naoyuki Tai, но запустить через удаленный сеанс SSH:

sudo fbset -i

mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 32
    timings 12714 128 32 16 4 128 4
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : EFI VGA
    Address     : 0x53000000
    Size        : 3145728
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 4096
    Accelerator : No

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