Автор Тема: картинка юзера grub2  (Прочитано 10262 раз)

Оффлайн red-matter

  • Участник
  • *
  • Сообщений: 254
Re: картинка юзера grub2
« Ответ #15 : 06.06.2020 22:12:46 »
Биос UEFI кстати работает же с какими то драйверами, нормально отображается в том разрешении в каком нужно. А Граб 2 почему то за 25 лет так и не научился это делать.

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 247
Re: картинка юзера grub2
« Ответ #16 : 06.06.2020 22:24:01 »
Драйвера видеокарты (это часть операционной системы, любой) на момент функционирования загрузчика операционной системы (любой) ещё не работают по определению, т.к. операционная система ещё не работает.
Раз виндовс прописан во всех UEFI биосах, всех десктопных материнских платах на планете земля прям черным по белому, а все другие ос обозначены как другие. Возможно что то более существенное виндовс может, чем другие ос.

1) Да, может. Договориться с производителями материнок о необходимых функциях в UEFI/BIOS, напр. "Быстрая загрузка Windows". Да и сам BIOS - это изначально фактически ядро MS DOS.
Самоподдерживающаяся система популярности - все производители поддерживают в первую очередь самую популярную ОС, которая самая популярная в том числе потому, что её поддерживают все производители. Ворваться в этот круг и расширить его - крайне не легко.

2) Не во всех UEFI - в материнках для Apple в UEFI прописана поддержка только MacOS. Кстати, UEFI пошло именно от них

3) Приведенное Вами моё высказывание действует вне того, что там есть в UEFI/BIOS.
Я показал ранее, как работает начальный загрузчик в Windows - процесс загрузки ядра прячем за сплэш-заставкой (если загрузка в UEFI - пользуемся её картинкой, иначе рисуем свою простенькую картинку), потом грузим видеодрайвера, рисуем более красивую картинку и грузим всё остальное (которого ещё много).

В линуксе (и не только) изначально было по-другому - видеодрайвера грузились только вместе с графической подсистемой (графика может не грузиться и вовсе), фактически, когда вся система уже загружена

Можете написать свой загрузчик и заодно инициализацию системы (а придется), чтобы было как у Windows, но это будет только для PC-совместимых компьютеров (а тот же GRUB делался всё-таки более универсально).
А смысл? Если до сих пор это никто не написал, значит не очень-то и нужно. Достаточно и ширмочки с бутсплэш.
Но можете быть первым :)

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 247
Re: картинка юзера grub2
« Ответ #17 : 06.06.2020 22:33:48 »
Биос UEFI кстати работает же с какими то драйверами, нормально отображается в том разрешении в каком нужно.
1) "Какие-то драйвера" - это framebuffer. То, что сейчас так или иначе поддерживают все видеоплаты.
2) Уверены насчет разрешения? Зайдите в UEFI-setup и посмотрите на своем мониторе (практически у всех есть такая возможность) - какой видеорежим в данный момент используется.
Запускали Windows в виртуалке (напр. в VirtualBox) ? Замечали как "прыгают" размеры окна виртуалки при загрузке (когда размеры окна виртуалки - по фактически используемому внутри виртуалки разрешению)?
« Последнее редактирование: 06.06.2020 22:41:08 от Александр Ерещенко »

Оффлайн trs

  • Участник
  • *
  • Сообщений: 287
Re: картинка юзера grub2
« Ответ #18 : 07.06.2020 07:49:35 »
При том что виндовый загрузчик накладывает на картинку еще и заставку в виде моего лого который я установил и крутилка состояния загрузки виндовая уже.
Если хотите такое в Linux, то это делает Plymouth. А GRUB2 при этом можно настроить, что бы по умолчанию ничего не выводилось, и "ужасных картинок" не будет видно.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: картинка юзера grub2
« Ответ #19 : 07.06.2020 10:57:08 »
Не знаю как там в этих ваших модных UEFI-ях, а в наших говно-Legacy, в системах на говно-init на intel графике, в grub2 поддерживается и максимальное разрешение монитора и картинка размером значительно превышающим максимальное разрешение экрана:
# identify /boot/grub/themes/starterkit/sich2.jpg
/boot/grub/themes/starterkit/sich2.jpg JPEG 2000x1500 2000x1500+0+0 8-bit sRGB 294264B 0.000u 0:00.002

При использовании обоины на заставке меню grub2, рекомендуется пропорции фото подогнать до пропорций экрана. Т.к. фото-обоина меню grub2 масштабируется. Если соотношение разрешения экрана X и Y не  целочисленное, по Y сделать фото на пиксел больше.


На качество снимка внимание сильно не обращать, - камера говно.


В стартерките alt-p9-xfce-sysv используется профиль темы /boot/grub/themes/starterkit/theme.txt:
# grep theme.txt /etc/sysconfig/grub2
GRUB_THEME=/boot/grub/themes/starterkit/theme.txt

Подгонка меню опций загрузки grub2 под максимальное разрешение монитора и добавление своей обоины в меню опций загрузки grub2 (Legacy mode, MBR):
# grep GRUB_GFXMODE /etc/sysconfig/grub2
GRUB_GFXMODE='1366x768'
# grep desktop-image /boot/grub/themes/starterkit/theme.txt
#desktop-image: "boot.png"
desktop-image: "sich3.png"
# identify /boot/grub/themes/starterkit/sich3.png
/boot/grub/themes/starterkit/sich3.png PNG 2000x1125 2000x1125+0+0 8-bit sRGB 1692540B 0.000u 0:00.027
# echo '1366/768' | bc -l # пропорции экрана монитора
1.77864583333333333333
# echo '2000/1125' | bc -l # пропорции фото-обоины
1.77777777777777777777
# hwinfo --framebuffer | grep -v 'Unique' # framebuffer, Intel HD Graphics 5500, Broadwell GT2
02: None 00.0: 11001 VESA Framebuffer
  [Created at bios.459]
  Hardware Class: framebuffer
  Model: ""
  Vendor: ""
  Device: ""
  SubVendor: "Intel(R) HSW Mobile/Desktop Graphics Chipset Accelerated VGA BIOS"
  SubDevice:
  Revision: ""
  Memory Size: 31 MB + 960 kB
  Memory Range: 0xb0000000-0xb1feffff (rw)
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+832), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits
  Mode 0x037d: 1366x768 (+1408), 8 bits
  Mode 0x037e: 1366x768 (+2752), 16 bits
  Mode 0x037f: 1366x768 (+5504), 24 bits
  Config Status: cfg=new, avail=yes, need=no, active=unknown

При изменении в /etc/sysconfig/grub2, перегенерировать конфиг grub2
# grub-mkconfig -o /boot/grub/grub.cfg

При изменении файла темы /boot/grub/themes/starterkit/theme.txt, перегенерация не требуется.
« Последнее редактирование: 07.06.2020 13:13:24 от Speccyfighter »

Оффлайн red-matter

  • Участник
  • *
  • Сообщений: 254
Re: картинка юзера grub2
« Ответ #20 : 07.06.2020 11:46:20 »
Ну вот же без UEFI режима умеет граб 2 делать нормальное разрешение заставки. Почему уефи так не умеет ?

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 247
Re: картинка юзера grub2
« Ответ #21 : 07.06.2020 15:39:44 »
Ну вот же без UEFI режима умеет граб 2 делать нормальное разрешение заставки. Почему уефи так не умеет ?
А это уже к производителям материнок - почему UEFI в своём загрузочном меню так не умеет?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: картинка юзера grub2
« Ответ #22 : 08.06.2020 16:22:40 »
Ну вот же без UEFI режима умеет граб 2 делать нормальное разрешение заставки. Почему уефи так не умеет ?

:-) Потому что продвиженцы и сторонники UEFI-я, не знают его и не умеют им пользоваться.

2.картинка уже картинка юзера или виндовая из темы, где фотка стоит и небольшое круглое лого юзера, внизу небольшой кругляк статуса загрузки.
плавный переход и грузится стол. Причём стол грузится плавно весь сразу, в линуксе отрывка пранель грузится почти отдельно от стола. Это я беру xfce.
Все в UEFI режиме я сравниваю.

Загрука Unix-подобной системы в плане бэкграунда состоит из трёх этапов:
- Заставка grub2
- Сплэшскрин
- Заставка дисплей менеджера

Если на всех трёх этапах разрешение и бэкграунд одни и те же, то создастся эффект, как будто заставка не меняется.
Заставка дисплей менеджера зависит от его возможностей и конфига.

Например в стартерките alt-p9-xfce-sysv невозможно одним махом сменить заставку в дисплей менеджере.
Но:
В gdm2.20, который исользуется в этом стартерките, применяются темы. И в теме circles, которая используется по-умолчанию
# grep circles /etc/X11/gdm/custom.conf
GraphicalTheme=circles
GraphicalThemes=circles

используется заставка-обоина background.svg
# sed -n '4,5p' /usr/share/gdm/themes/circles/circles.xml
  <item type="svg" background="true">
    <normal file="background.svg"/>

которая непропорционально масштабируется, если размер/пропорции заставки и разрешения экрана не совпадают
# identify /usr/share/gdm/themes/circles/background.svg
/usr/share/gdm/themes/circles/background.svg SVG 677x512 677x512+0+0 16-bit sRGB 2482B 0.010u 0:00.005

Теоретически, в теме можно просто заменить файл background.svg на свой. Но лучше создать свою тему. Например скопировав тему circles с другим именем и убрав из /usr/share/gdm/themes/circles/circles.xml секцию <item type="pixmap">, которая выводит на отображение flower.png в правый нижний угол.

Это я беру xfce.

Дефолт Xfce неоптимален:
Сначала Панель, затем заставка-обоина, затем обнаружение доступных для отображения блочных устройств, отображаемых на Рабочем столе.
Причем последнее выполняется динамически, занимает много времени и практически дублирует функционал Thunar. Что на мой субъективный взгляд, изрядное излишество. Отключается отображение блочных устройств на Рабочем столе Xfce, в Настройках Рабочего стола Xfce. И если отключить это излишество, это заметно сократит время полной загрузки. Особенно это будет заметно, если система с Xfce установлена на медленный накопитель.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Re: картинка юзера grub2
« Ответ #23 : 01.08.2020 13:07:12 »
Ну вот же без UEFI режима умеет граб 2 делать нормальное разрешение заставки. Почему уефи так не умеет ?

Почему не умеет? grub-efi умеет. Вообще можно сделать:
GRUB_GFXMODE=auto

тогда разрешение будет ставиться максимальное, которое поддерживает монитор.