Copy configuration of the terminal style from YaST installer of openSUSE Tumbleweed

Hi guys,

I found the font and text size of the terminal in YaST installer of openSUSE Tumbleweed are satisfying on my 2560x1440 screen. Is it possible to copy the configuration of the terminal in YaST installer and use it for the boot screen and following text mode of openSUSE Tumbleweed? Does anyone know how to do it?

Thanks in advance.

openSUSE maintainers do some pretty nice work enhancing practically any terminal you use when you install that Desktop from any openSUSE repository (except for xterm, that is left unmodified so that option is always available to anyone who wants that), but my guess is that it’s probably more work than it’s worth to dig into the config files for any specific terminal app…

Instead,
If you’d like to modify the GRUB Menu, I can point you to some scripts I wrote awhile back that allows you to modify its appearance… layout, font size, font type, background image, etc. Just not the text content itself which is configured elsewhere.

I haven’t looked at these scripts in awhile, but I’d expect that the 15.0 script <probably> should be pretty close.
Each script is fully documented in its contents, so you can use them to inspect the locations and assets which are used.
If anything has changed or looks like it doesn’t make sense, go ahead and post here.

https://en.opensuse.org/User:Tsu2/12.3/Modified_GRUB_Menu

TSU

Thank you, TSU,

I could not find the right term to describe the thing I want to modify. That is the terminal, the command line interface, which displays detailed information of booting the system right after openSUSE Tumbleweed is selected in the Grub menu. The Grub menu itself looks good to me. But the booting information displayed in commandline style instead of graphic mode has a very small font size in 2560x1440 screen of a laptop. That is what I want to modify.

The commandline style interface of the installer of openSUSE Tumbleweed operating system seems very charming with a moderate font size. It requires no customisation when booting from ISO of openSUSE Tumbleweed. So I am wondering why this technique is not used for booting process. And I want to customise my system to mimic the appearance of the commandline style terminal of the installer of openSUSE Tumbleweed operating system in booting process.

CnZhx

That is configured by grub.cfg,
And is set by gfxmode.

Recommend the following
https://wiki.archlinux.org/index.php/GRUB/Tips_and_tricks#Visual_configuration

You probably won’t need a more comprehensive view of grub.cfg, but if you need it

https://wiki.archlinux.org/index.php/GRUB

You’ll be able to address your screen resolution issue, but YMMV on everything else…
During boot, the system is working with a very simple VESA driver and won’t support a vast array of features until the advanced graphical driver (ie for Intel, nVidia or Radeon) until roughly about the time you would logon.

TSU

TSU

To be clear, does the font you like seem to be describing match that used on the framebuffer vttys (e.g. Ctrl-Alt-F3) once boot is complete, or does it match that you do not like? If you strike ESC during boot, do you then see the font you like?

It may be what you wish can be configured by disabling the Plymouth boot GUI. I keep Plymouth uninstalled, so I’m not sure which of what follows needs to be appended to Grub’s linu line(s) to do the equivalent override, either noplymouth, plymouth=0 or plymouth.enable=0.

If with Plymouth disabled the resulting font is your preferred style but too small, you could do as I do to enlarge it: use a lower screen resolution for the framebuffers. e.g. I keep video=1440x900@60 on my linu lines in my Grub stanzas. On any given boot that I wish larger or smaller, I strike the E key at the grub menu and change it larger or smaller. You might wish to test video=1920x1080@60 this way. Note that if you do this and have an Intel GPU and uses the Intel DDX for your desktop, it will inherit the same mode. The other DDXes (amdgpu, modesetting, nouveau, radeon) will not inherit such mode.

Dear TSU and mrmazda,

To TSU: I did set the grub file in gfxterm mode and assigned the resolution, but it seemed not work anymore.

To mrmazda, I think I have disabled Plymouth according to the following grub configuration. Did I set the resolution in the right way? It seems have no effect on the 3rd stage of my description under the following configuration section.

I think I have Plymouth disabled although I have not removed the packages. Here is my configuration of grub file (with comments removed),

# cat /etc/default/grub                 
GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_CMDLINE_LINUX_DEFAULT="showopts"
GRUB_CMDLINE_LINUX=""

GRUB_TERMINAL="gfxterm"
GRUB_GFXMODE=1280x720x24,1024x768x24,auto

GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_USE_LINUXEFI="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"

I modified the original configuration file to this according some articles online to address the issue. It did the work for a while. I think it does not work because of some changes in Tumbleweed but I do not know what are those. Now, with this configuration file, I have following situation.

And yes, I am talking about the console-style booting information screen after selecting boot entry from Grub menu. The process is quick so I describe the display in text. After selecting a boot entry (openSUSE Tumbleweed), a terminal (or console) window shows up above the Grub menu. The font size and resolution of this window are good although the display is not so clear or sharp. After this, the system enters a full-screen terminal (or console). The display seems align with the settings shown in above configuration file of grub. Again, the font size and resolution of this full-screen terminal is acceptable although the text is not sharp because of low resolution. However, this display lasts very short, about 1 or 2 seconds. Then, the resolution changes to final state, I think it is 2560x1440 of my monitor, lasting unitl the login screen shows up. In this state, the characters of the text are too small to read. Now I do not know how to adapt my configuration file to improve the display.

I noticed the full screen terminal (or console) of the YaST installer of openSUSE Tumbleweed is eye-catching. I thought its configuration could be borrowed to the booting process. To be honest, I do not know whether these two scenarios are the same.

cnzhx,
I am not sure, but I think that you might want to configure the “virtual console”. This is set in “/etc/vconsole.conf”.
Some screens are OK automagically, others are not. It is a while since I have done this.

Here is a reading list that may help:
http://man7.org/linux/man-pages/man5/vconsole.conf.5.html
https://wiki.archlinux.org/index.php/HiDPI#Linux_console
https://wiki.archlinux.org/index.php/Linux_console#Fonts

You may want to install the larger fixed fonts in the “terminus-bitmap-fonts" package from the main openSUSE repository.
and then skim through the included
/usr/share/doc/packages/terminus-bitmap-fonts/README

Hi eng-int,

You’re right. This is the settings for the virtual console. I finally recalled that I had done this before. But somehow the configuration file /etc/vconsole.conf had been reset to default. The new font from “terminus-bitmap-fonts" package looks great.

However, this solution is still not perfect. Now the display of the booting text screen (virtual console) has 4 stage. The former mentioned 3rd stage now very brief, which still has a very small font size as before. After this brief stage, the font switches to ter-132n from “terminus-bitmap-fonts" package. So the question returns to the initial one: could the display of booting process in virtual console be the same as that of the YaST installer because the one in YaST installer looks great and consistent from beginning to the end.

CnZhx

I always have no Plymouth, and only ever see one mode switch at most until the GUI starts. I don’t ever touch vconsole.conf. I don’t see anything in your /etc/default/grub that would disable Plymouth. I suppose the extra switch you see might come from your change in vconsole.conf while Plymouth is enabled, which might go away after an initrd regeneration.

I removed Plymouth related packages with,

# zypper rm -u plymouth

and regenerated the initrd with,

mkinitrd

I also changed /etc/default/grub to following configuration,

# cat /etc/default/grub                 
GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_CMDLINE_LINUX_DEFAULT="showopts"
GRUB_CMDLINE_LINUX=""

GRUB_TERMINAL="gfxterm"
GRUB_GFXMODE="auto"

GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_USE_LINUXEFI="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"

To be specific, I removed “1280x720x24,1024x768x24,” from the line starting with “GRUB_GFXMODE=”. After this, I ran,

# grub2-mkconfig -o /boot/grub2/grub.cfg

to rebuild the Grub.

Now, the display modes can be summarised as,

  1. Window-style console overlaying Grub menu, which is low-resolution with moderate text size, lasting about 2 seconds;
  2. Full-screen console with high-resolution and small text, lasting about 1 seconds;
  3. Full-screen console with low-resolution and big text (I think the font is ter-132n), lasting about 3 seconds;
  4. Full-screen console with high-resolution and moderate text size (this is the desired character size for my eyes), lasting about 3 seconds. This is almost the same display mode as that I want.

It is still 4 stages.

Of course, as long as there is no problem with the system or booting process, the fast scrolling messages have no meaning to me. It is just that the display is not elegant.

I want to mark this as solved for now. Hopefully this issue could be gone in the future. Thank you all for your help :slight_smile:

Not sure if it applies to your problem, but you can check the supported video modes in grub2 with the command videoinfo (press C at the boot screen to enter grub2 console).
I’ve had cases where the monitor native resolution was not supported and the boot messages where too small, or alternatively too big.
Also note that using an unsupported mode in kernel settings makes no difference and does not give an error message AFAICS.

Thanks! I tried this but there is no command videoinfo in my system. /:sad:/

Alternatively,
I’d expect a little research on your GPU should turn up that info.

TSU

Where did you look? It’s on mine, a grub2-x86_64-efi shell command (not in any bash path).

I’ve done that before but I cannot recall the process. The result is that I could not determine the mode my GPU support from the Grub. The CPU is an integrated one with Intel i7-7600U.

Yes, I think it’s a grub2-x86_64-efi shell. I reboot and press C when the grub menu showing up. After the grub> prompt, I entered videoinfo and pressed enter. Error says there is no such command.

When in the Grub2 shell at the prompt, pressing <Tab> shows the available commands.

I have two rebootable machines at hand, both Grub2-EFI:

  1. Lenovo laptop, “Intel HD Graphics 5300”, screen resolution: 3200x1800~60Hz, Leap-15.1
    “videoinfo” runs but produces no output.
  2. iMac retina, AMD Radeon R M385X, screen resolution 5120 x 2880, Tumbleweed-20200124
    “videoinfo” produces some output, but shows the only display resolution as “3840 x 2160 x 32".

Perhaps you need to force reinstall the grub2 packages.

Thank you. I tried, but it made no difference. There is no “videoinfo” command in the list of available commands. That’s weird.

I agree, weird.


>  rpm -qa grub*

>  zypper lr -Eu

Doing some search for another Forum thread,
I came across information likely related to this issue…

The Following SDB “Installing nVidia the hard way” applies to nVidia but in the Configuration section references numerous generic configurations in GRUB both with and without Plymouth that affects how the boot displays no matter what graphics card you have.

https://en.opensuse.org/SDB:NVIDIA_the_hard_way

TSU

Interesting, thanks.
Note that it refers to the grub shell command “vbeinfo”. I have just read that that only applies to non-EFI Grub. For EFI Grub it is “videoinfo”
Perhaps cnzhx can tell us if his Grub has “vbeinfo”?