Console font changes to a very small size after graphics hardware initialization
One thing that has been bugging me lately is that about half-way through booting (after the graphics hardware is initialized), my console font changes to an extremely small size, and I decided to try and tackle this today.
First I tried to explore some of the various custom fonts, but they're all pretty much the same size (too small.) I managed to figure out I can pass a video= parameter to the append option in LILO, which lets me force any resolution I want, and that kinda-sorta worked. The problem though is that none of the resolutions are quite what I'd like to have. Ideally, I would like my regular console to look exactly like it does when I boot from the Slackware disc, but I've tried every combination of resolutions I can think of and none of them are a match. After some more reading, it sounds like my issue might be related to the nouveau driver, specifically the frame buffer. I've looked around a bit and I can't find anywhere to configure any options for it. I saw some posts suggesting the nomodeset option in LILO, but that has the side effect of X not working, and I'd like to find a fix that doesn't break anything else in the process. So...any ideas? |
Quote:
I would suggest using a bigger font and not lowering your resolution. |
Well, I certainly won't claim to have tried them all, but I tried several of the ISO fonts, and a few others I can't recall. I had pulled up a site that showed a little graphic preview of them all and just tried some of the larger looking ones.
I wasn't able to find any called Terminus under /usr/share/fonts, I looked for both Terminus and terminus and had no results from the find command. Is there a particular reason that you recommend against changing the resolution? |
Sorry, I tought Terminus was already in 14.0, but it is not the case.
It's currently in current, so it will be available by default with Slackware 14.1 . If you want to install it, you could pick it from slackbuilds.org :) Why I don't recommend changing the resolution? I'm convinced that high resolution tty is a feature, not a bug. If you lower the resolution, your font will be bigger, but more pixelated. If you just use a bigger font with your native resolution, the end result will be more good looking because of the higher resolution. ( I have no actual proof for this statement, it is based on a pure subjective test that I made myself ) |
No worries, I did look it up and it looked intriguing, I'll probably check it out when I get to that point. But, ultimately I'd like to be able to solve the problem using only a default installation.
I definitely agree that having a hi-res console is a great feature to have. I don't really mind a little pixelation though, I grew up in the 80's so pixels are pretty natural to me. =) So, that brings me back to the original issue...how can I make my Slackware console look identical to the way it looks when I boot from the Slackware disc? |
Quote:
|
OK, so after I got my system working again last night, I checked out this terminus font. This was my first time using SlackBuilds, so I had to figure that out first, which actually wasn't too bad.
I have to admit, it's a very nice font! I'm using the 232b, and it looks great on a hi-res terminal. Thanks for the recommendation! But...I'm still curious why this happens in the first place? Why does the console switch to such a tiny font after initializing the video hardware? I don't really understand this particular step in the boot process, so I'd like to figure it out. |
Quote:
With newer Linux kernels, KMS (kernel mode setting) is implemented, so during boot the kernel switches to using a kernel supplied framebuffer and an associated font which may be of a different size. The change to KMS began with kernel 2.6.28. http://en.wikipedia.org/wiki/Mode_setting |
Thank you allend, that was exactly what I was looking for!
I added a line to my rc.local to set the font, but it feels like a clunky solution having the font change 3 times during boot. Is it possible to configure the kernel to pick a specific font at the moment it switches over to the framebuffer? |
Quote:
/etc/rc.d/rc.local is the last script executed in the boot sequence, so you could put that setting instead in /etc/trc.d/rc.S, but not too early (you could observe at which points of rc.S handover occurs). Not sure that's worthwhile though ;) |
Quote:
On occasion I've toyed with the idea of trying to patch the terminus font into the kernel in the same way as these builtin fonts are done, but being a nvidia card owner I don't use modesetting or the framebuffer console (I still use vga=normal) so I've not really had much motivation to expend the effort and there are always other things to spend my time on. |
You have not provided much detail about your setup, but I infer a wide screen monitor and a nVidia GPU.
In my setup (1280x1024 screen and nVidia GeForce 7300 LE), I find that setting vga=795 in /etc/lilo.conf gives a consistent font throughout the boot sequence. If I use 'setconsolefont' to set a different console font, then I can see a change to a different font when /etc/rc.d/rc.font is run in the boot sequence, but this occurs quite late. Have you experimented with the vga= setting? There is a useful table under the Linux video mode numbers heading at http://en.wikipedia.org/wiki/VESA_BIOS_Extensions that shows some possible values that may suit your display. Quote:
Code:
bash-4.2# grep FONT .config |
Quote:
From what I've read it sounds like the nVidia drivers don't work the same as the nouveau drivers in regards to all this, so I'll probably have to make some adjustments once I get all of that worked out. Quote:
Quote:
Quote:
During the process of experimenting to figure out where to put this command, I also discovered a redundancy in my LVM initialization and cleaned that up a little bit also, so this worked out great! So until I decide to tackle the custom kernel, I think this will work just fine, I'm very pleased. =) Thanks for all the help! |
Quote:
|
Quote:
|
Quote:
Code:
1. fbcon=font:<name> |
All times are GMT -5. The time now is 03:03 AM. |