亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? framebuffer.txt

?? 該程序是在linux arm下實現的基于framebuffer的LCD驅動
?? TXT
字號:
			The Frame Buffer Device			-----------------------Maintained by Geert Uytterhoeven <geert@linux-m68k.org>Last revised: May 10, 20010. Introduction---------------The frame buffer device provides an abstraction for the graphics hardware. Itrepresents the frame buffer of some video hardware and allows applicationsoftware to access the graphics hardware through a well-defined interface, sothe software doesn't need to know anything about the low-level (hardwareregister) stuff.The device is accessed through special device nodes, usually located in the/dev directory, i.e. /dev/fb*.1. User's View of /dev/fb*--------------------------From the user's point of view, the frame buffer device looks just like anyother device in /dev. It's a character device using major 29; the minorspecifies the frame buffer number.By convention, the following device nodes are used (numbers indicate the deviceminor numbers):      0 = /dev/fb0	First frame buffer      1 = /dev/fb1	Second frame buffer	  ...     31 = /dev/fb31	32nd frame bufferFor backwards compatibility, you may want to create the following symboliclinks:    /dev/fb0current -> fb0    /dev/fb1current -> fb1and so on...The frame buffer devices are also `normal' memory devices, this means, you canread and write their contents. You can, for example, make a screen snapshot by  cp /dev/fb0 myfileThere also can be more than one frame buffer at a time, e.g. if you have agraphics card in addition to the built-in hardware. The corresponding framebuffer devices (/dev/fb0 and /dev/fb1 etc.) work independently.Application software that uses the frame buffer device (e.g. the X server) willuse /dev/fb0 by default (older software uses /dev/fb0current). You can specifyan alternative frame buffer device by setting the environment variable$FRAMEBUFFER to the path name of a frame buffer device, e.g. (for sh/bashusers):    export FRAMEBUFFER=/dev/fb1or (for csh users):    setenv FRAMEBUFFER /dev/fb1After this the X server will use the second frame buffer.2. Programmer's View of /dev/fb*--------------------------------As you already know, a frame buffer device is a memory device like /dev/mem andit has the same features. You can read it, write it, seek to some location init and mmap() it (the main usage). The difference is just that the memory thatappears in the special file is not the whole memory, but the frame buffer ofsome video hardware./dev/fb* also allows several ioctls on it, by which lots of information aboutthe hardware can be queried and set. The color map handling works via ioctls,too. Look into <linux/fb.h> for more information on what ioctls exist and onwhich data structures they work. Here's just a brief overview:  - You can request unchangeable information about the hardware, like name,    organization of the screen memory (planes, packed pixels, ...) and address    and length of the screen memory.  - You can request and change variable information about the hardware, like    visible and virtual geometry, depth, color map format, timing, and so on.    If you try to change that information, the driver maybe will round up some    values to meet the hardware's capabilities (or return EINVAL if that isn't    possible).  - You can get and set parts of the color map. Communication is done with 16    bits per color part (red, green, blue, transparency) to support all     existing hardware. The driver does all the computations needed to apply     it to the hardware (round it down to less bits, maybe throw away     transparency).All this hardware abstraction makes the implementation of application programseasier and more portable. E.g. the X server works completely on /dev/fb* andthus doesn't need to know, for example, how the color registers of the concretehardware are organized. XF68_FBDev is a general X server for bitmapped,unaccelerated video hardware. The only thing that has to be built intoapplication programs is the screen organization (bitplanes or chunky pixelsetc.), because it works on the frame buffer image data directly.For the future it is planned that frame buffer drivers for graphics cards andthe like can be implemented as kernel modules that are loaded at runtime. Sucha driver just has to call register_framebuffer() and supply some functions.Writing and distributing such drivers independently from the kernel will savemuch trouble...3. Frame Buffer Resolution Maintenance--------------------------------------Frame buffer resolutions are maintained using the utility `fbset'. It canchange the video mode properties of a frame buffer device. Its main usage isto change the current video mode, e.g. during boot up in one of your /etc/rc.*or /etc/init.d/* files.Fbset uses a video mode database stored in a configuration file, so you caneasily add your own modes and refer to them with a simple identifier.4. The X Server---------------The X server (XF68_FBDev) is the most notable application program for the framebuffer device. Starting with XFree86 release 3.2, the X server is part ofXFree86 and has 2 modes:  - If the `Display' subsection for the `fbdev' driver in the /etc/XF86Config    file contains a	Modes "default"    line, the X server will use the scheme discussed above, i.e. it will start    up in the resolution determined by /dev/fb0 (or $FRAMEBUFFER, if set). You    still have to specify the color depth (using the Depth keyword) and virtual    resolution (using the Virtual keyword) though. This is the default for the    configuration file supplied with XFree86. It's the most simple    configuration, but it has some limitations.  - Therefore it's also possible to specify resolutions in the /etc/XF86Config    file. This allows for on-the-fly resolution switching while retaining the    same virtual desktop size. The frame buffer device that's used is still    /dev/fb0current (or $FRAMEBUFFER), but the available resolutions are    defined by /etc/XF86Config now. The disadvantage is that you have to    specify the timings in a different format (but `fbset -x' may help).To tune a video mode, you can use fbset or xvidtune. Note that xvidtune doesn'twork 100% with XF68_FBDev: the reported clock values are always incorrect.5. Video Mode Timings---------------------A monitor draws an image on the screen by using an electron beam (3 electronbeams for color models, 1 electron beam for monochrome monitors). The front ofthe screen is covered by a pattern of colored phosphors (pixels). If a phosphoris hit by an electron, it emits a photon and thus becomes visible.The electron beam draws horizontal lines (scanlines) from left to right, andfrom the top to the bottom of the screen. By modifying the intensity of theelectron beam, pixels with various colors and intensities can be shown.After each scanline the electron beam has to move back to the left side of thescreen and to the next line: this is called the horizontal retrace. After thewhole screen (frame) was painted, the beam moves back to the upper left corner:this is called the vertical retrace. During both the horizontal and verticalretrace, the electron beam is turned off (blanked).The speed at which the electron beam paints the pixels is determined by thedotclock in the graphics board. For a dotclock of e.g. 28.37516 MHz (millionsof cycles per second), each pixel is 35242 ps (picoseconds) long:    1/(28.37516E6 Hz) = 35.242E-9 sIf the screen resolution is 640x480, it will take    640*35.242E-9 s = 22.555E-6 sto paint the 640 (xres) pixels on one scanline. But the horizontal retracealso takes time (e.g. 272 `pixels'), so a full scanline takes    (640+272)*35.242E-9 s = 32.141E-6 sWe'll say that the horizontal scanrate is about 31 kHz:    1/(32.141E-6 s) = 31.113E3 HzA full screen counts 480 (yres) lines, but we have to consider the verticalretrace too (e.g. 49 `pixels'). So a full screen will take    (480+49)*32.141E-6 s = 17.002E-3 sThe vertical scanrate is about 59 Hz:    1/(17.002E-3 s) = 58.815 HzThis means the screen data is refreshed about 59 times per second. To have astable picture without visible flicker, VESA recommends a vertical scanrate ofat least 72 Hz. But the perceived flicker is very human dependent: some peoplecan use 50 Hz without any trouble, while I'll notice if it's less than 80 Hz.Since the monitor doesn't know when a new scanline starts, the graphics boardwill supply a synchronization pulse (horizontal sync or hsync) for eachscanline.  Similarly it supplies a synchronization pulse (vertical sync orvsync) for each new frame. The position of the image on the screen isinfluenced by the moments at which the synchronization pulses occur.The following picture summarizes all timings. The horizontal retrace time isthe sum of the left margin, the right margin and the hsync length, while thevertical retrace time is the sum of the upper margin, the lower margin and thevsync length.  +----------+---------------------------------------------+----------+-------+  |          |                ^                            |          |       |  |          |                |upper_margin                |          |       |  |          |                

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧美日韩在线一区| 久久激情五月婷婷| 色偷偷成人一区二区三区91| 亚洲人成伊人成综合网小说| 91日韩在线专区| 亚洲蜜臀av乱码久久精品| 欧美在线小视频| 日韩高清电影一区| 日韩视频中午一区| 国产精品影视在线观看| 激情综合色综合久久综合| 日韩欧美国产综合| 国产乱码精品一区二区三区五月婷| 精品人伦一区二区色婷婷| 国产激情偷乱视频一区二区三区| 国产精品嫩草久久久久| 欧美亚洲一区二区在线观看| 日韩在线一二三区| 久久精品亚洲精品国产欧美kt∨| 成人av网址在线| 一区二区三区电影在线播| 91精品福利在线一区二区三区| 国产综合一区二区| 中文字幕一区二区三区在线不卡 | 国产在线视频一区二区三区| 中国av一区二区三区| 欧美视频中文字幕| 韩国女主播一区| 亚洲精品视频观看| 精品国产3级a| 91久久精品一区二区二区| 麻豆成人久久精品二区三区小说| 中文字幕av一区二区三区高| 欧美日韩国产一区二区三区地区| 国模冰冰炮一区二区| 亚洲精品日日夜夜| 久久―日本道色综合久久| 欧美在线小视频| 国产成人欧美日韩在线电影| 亚洲成人在线免费| 国产精品三级在线观看| 欧美一区二区三区白人| 色香蕉成人二区免费| 国产一区二区在线观看视频| 亚洲一卡二卡三卡四卡无卡久久| 精品久久久久久最新网址| 成人一区二区三区| 26uuu国产日韩综合| 亚洲柠檬福利资源导航| 亚洲女同ⅹxx女同tv| 日韩视频一区二区在线观看| 91欧美一区二区| 国产麻豆精品在线观看| 日日夜夜免费精品| 一区二区三区在线影院| 国产精品久久三区| 久久蜜臀精品av| 日韩欧美一区二区三区在线| 欧美午夜理伦三级在线观看| 99国产精品一区| 国产九色sp调教91| 久久99热这里只有精品| 视频在线在亚洲| 亚洲高清免费观看高清完整版在线观看| 亚洲国产成人在线| 国产女主播视频一区二区| 欧美xxxxxxxxx| 一区二区三区免费看视频| 久久久91精品国产一区二区精品| 久久嫩草精品久久久精品 | 欧美韩国日本不卡| 欧美成人a∨高清免费观看| 欧美猛男超大videosgay| 精品视频在线免费观看| 91在线小视频| 91啪九色porn原创视频在线观看| 粉嫩一区二区三区性色av| 国产在线视频精品一区| 国内精品国产成人| 精品中文字幕一区二区| 毛片基地黄久久久久久天堂| 免费观看成人av| 麻豆精品精品国产自在97香蕉| 婷婷亚洲久悠悠色悠在线播放| 亚洲成a人在线观看| 亚洲国产精品天堂| 日本系列欧美系列| 久久精品99国产精品| 国产综合色产在线精品| 国产河南妇女毛片精品久久久| 国产jizzjizz一区二区| 成人免费视频一区| 色视频欧美一区二区三区| 在线影院国内精品| 欧美老肥妇做.爰bbww视频| 粉嫩av一区二区三区在线播放| 成人av网站在线观看免费| 欧美日韩精品久久久| 日韩午夜三级在线| 国产日本欧洲亚洲| 亚洲欧美国产毛片在线| 五月天激情综合网| 黄页视频在线91| 99久久伊人网影院| 欧美丝袜丝nylons| 久久免费视频色| 亚洲另类春色校园小说| 天堂蜜桃一区二区三区| 国产精品18久久久久久vr| 99久久综合精品| 69av一区二区三区| 久久青草国产手机看片福利盒子 | 国产精品国产自产拍在线| 亚洲在线一区二区三区| 麻豆免费精品视频| 99在线精品一区二区三区| 欧美高清视频www夜色资源网| 精品国产a毛片| 亚洲天堂福利av| 久久精品国产精品亚洲综合| 高清成人免费视频| 欧美精选在线播放| 中文字幕在线视频一区| 日本成人在线视频网站| 成人高清视频在线观看| 一区二区三区在线不卡| 国产一区二区精品久久99| 在线免费视频一区二区| 国产婷婷精品av在线| 五月天欧美精品| 99久久精品免费观看| 欧美一区二区三区在线观看| 国内精品写真在线观看| 成人av在线看| 精品噜噜噜噜久久久久久久久试看| 久久综合色一综合色88| 亚洲成av人片观看| 91丨porny丨最新| 久久综合色8888| 亚洲国产精品人人做人人爽| 91精品国产综合久久精品app| 国产亚洲一二三区| 蜜桃久久久久久| 亚洲成人av一区二区| av电影在线不卡| 中文字幕欧美激情一区| 精品一区二区三区视频在线观看 | 日本午夜精品一区二区三区电影| 亚洲成人av电影| 在线观看视频欧美| 亚洲婷婷在线视频| 高清在线不卡av| 国产精品国产a| 不卡视频在线看| 亚洲欧洲av另类| 在线视频国内一区二区| 亚洲综合在线视频| 91免费看`日韩一区二区| 国产精品久久久99| 69久久夜色精品国产69蝌蚪网| 亚洲三级久久久| 日本韩国一区二区三区| 亚洲成人在线免费| 欧美日韩精品福利| 国产亚洲一区二区在线观看| 日韩国产欧美三级| 欧美一级理论片| 成人综合在线网站| 国产原创一区二区| 91麻豆免费看| 亚洲免费色视频| 成人黄页毛片网站| 欧美午夜在线观看| 一区二区三区四区蜜桃 | 中文字幕不卡在线| 成人午夜又粗又硬又大| 中文一区二区完整视频在线观看| 韩国毛片一区二区三区| 久久久综合精品| 从欧美一区二区三区| 欧美国产日韩a欧美在线观看| 成人网在线免费视频| 亚洲欧美自拍偷拍色图| 色av一区二区| 亚洲成人av电影在线| 91精品国产高清一区二区三区| 麻豆国产欧美日韩综合精品二区 | 在线视频你懂得一区| 亚洲va欧美va国产va天堂影院| 欧美高清精品3d| 精品一区二区综合| 久久精品欧美一区二区三区不卡| 成人小视频在线观看| 一区二区三区毛片| 3atv在线一区二区三区| 国产综合成人久久大片91| 国产精品国产自产拍高清av王其| 91美女在线看| 天堂午夜影视日韩欧美一区二区| 欧美tickle裸体挠脚心vk|