c++ - What is the absolute lowest level of "drawing" abstraction in GNU/Linux? -


motivation - write program in c (and assembly, if required) color rectangular area in screen red.

strict requirements - gnu/linux running bare minimum utilities , interfaces in text/console mode. no x (or equivalent wayland/mir), no non-default (outside posix, lsb, etc. provided kernel) library or interface , no assumptions except presence of device driver monitor.

effectively, looking information on how write program send signal through vga port , cable monitor color particular portion of screen red.

apologies if sounds rude, no "why want this?" or "why don't use abc library?" answer. trying understand how write implementation of x server or kernel framebuffer (/dev/fb0) library example. ok provide link source of c library.

no assumptions except presence of device driver monitor.

that means can use x or wayland, because graphics driver infrastructure on linux.

linux (the kernel) doesn't contain graphics primitives. provides interfaces talk gpu, allocate memory on , configure on-screen framebuffer. except raw framebuffer memory access linux kernel have no way perform drawing operations. need infrastructure in userspace.

wayland builds on top of dri2, in turn talks drm kernel-api. require gpu dependent state tracker. mesa has state trackers number of gpus , provides opengl , openvg frontends.

the nvidia , ati propiatary, closed source graphics drivers designed work x only. make use of gpu must use x. that's way is.

outside of can manipulate on-screen framebuffer memory through /dev/fbdev, that's mere pixel pushing, without gpu acceleration.


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -