View previous topic :: View next topic |
Author |
Message |
Jackie Lin Tux's lil' helper
Joined: 31 May 2017 Posts: 115
|
Posted: Wed Feb 07, 2018 1:01 pm Post subject: what is framebuffer for? |
|
|
Hi,there.
I don't understand what the kernel framebuffer is for. If the video card driver is installed, is the framebuffer needed?
My pc has a radeon card, but I am not going to install x server, do I need to install radeon driver? or just use framebuffer?
Sometimes I installed gentoo, gentoo is booted with wrong resolution in console. is it because framebuffer is not installed correctly or because radeon driver is not installed correctly or because framebuffer conflicts with radeon driver?
and what's the relation between framebuffer, video card driver and kms?
Many thanks! _________________ peace, focus. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54244 Location: 56N 3W
|
Posted: Wed Feb 07, 2018 1:35 pm Post subject: |
|
|
Jackie Lin,
Some PC history.
A long time ago, when the PC was new, a video card was an optional extra. It was text only too.
It was basically, a small piece of RAM to hold the ASCII character value to be displayed at a given screen location, a ROM to convert the ASCII character into screen pixels and some logic to tie it all together. The CPU did all the work by writing the ASCII character values. This video card could not display graphics.
The kernel can do all of this too. Its the VGA 80x25 console driver.
Next, a graphic mode was added. In default operation, the graphics card operated as above but it had more RAM and could be switched to the RAM content controlling each pixel on the screen.
There was a special vendor specific driver for cards like these. The CPU still had to do all the work, plotting each pixel. The frame buffer was born.
The next improvement was a dedicated processor on the graphics card to offload some of the drawing. It could understand graphics primitive commands like 'draw rectangle and fill with colour' which took a lot of the work away from the CPU. At this time, we are still on the 8 bit ISA bus. There was a special vendor specific driver for cards like these too.
A few years later VESA got in on the act and defined standards for communicating with graphics cards. The vendor specific bits went into the BIOS ROM on the card and the operating ststem provided a VESA driver. That's still in the kernel today.
What happened since is really only a refinement of the above. The Direct Rending Manager kernel drivers provide a frame buffer driver for your chipset, if there is a DRM driver.
The old hardware framebuffer drivers are only for cards that do not have a DRM driver. That means old cards.
If you really really only want text on your console, you can choose the VGA console driver. (I suspect the kernel fakes it with a framebuffer).
If you have a kernel DRM driver, choose that, you can have both text and graphics on the console. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Jackie Lin Tux's lil' helper
Joined: 31 May 2017 Posts: 115
|
Posted: Thu Feb 08, 2018 9:36 am Post subject: |
|
|
Thanks!
I want only the perfect resolution. It is painful to watch big and vague letters on screen.
If I install radeon driver, the resolution is 1920x1280.
without the radeon driver, can only vga driver do this? or It can only make sure it displays, but can not make sure it displays with the perfect resolution?
every time I configure the kernel, I have no idea what to do with the framebuffer section. what if I deselect them all, will the display work before I install the radeon driver? _________________ peace, focus. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54244 Location: 56N 3W
|
Posted: Thu Feb 08, 2018 11:11 am Post subject: |
|
|
Jackie Lin,
You can tell the radeon DRM framebuffer the resolution, colour depth and maybe the refresh rate you would like on the console.
The VGA driver has some flexibility too but its limited to the preprogrammed resolutions in the BIOS.
How is in the Gentoo Handbook but you need to know a little of the lilo boot loader.
It gives the example of append="video=uvesafb:mtrr,ywrap,1024x768-32@85" which is lilos way of writing it.
The important bit is adding the video= statement to the kernel line in your bootloader.
Code: | video=uvesafb:mtrr,ywrap,1024x768-32@85 | is not correct for you - use it as a template.
The kernel must have mtrr support.
Having said all that, if you allow the kernel to read the EDID data from the display, you should get a native resolution framebuffer console anyway.
It sounds like you way have two issues.
a) Your console is not being driven at its native resolution, that makes everything ugly anyway because it can't display fractions of a pixel.
b) You font size is less than ideal.
Get the console resolution right first.
Fix the font size second. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
Jackie Lin Tux's lil' helper
Joined: 31 May 2017 Posts: 115
|
Posted: Thu Feb 22, 2018 10:30 am Post subject: |
|
|
Thanks a lot! _________________ peace, focus. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|