📄 readme.mambolfb
字号:
16bpp_565 - 16 bpp 5:6:5 (alpha0) 16bpp_1555 - 16 bpp 1:5:5:5 (alpha0 or alpha1) 16bpp_4444 - 16 bpp 4:4:4:4 -x Bind the OSD buffer to the given frame buffer device -X Unbind the OSD buffer from the given frame buffer deviceAs you can see above, there are seven main operations, detailed below. 3.1 Create a new buffer ----------------------- Any previously registered buffer is unregistered and freed. The -c option can take an optional argument, the resolution of the buffer to create. ** Warning ** There is no space between -c and the resolution. You can also specify the internal format of the buffer with the -F option. You should specify a valid format and subformat, separated by ":". Formats available are : - Color lookup table (palette) : 1, 2, 4 or 8 bpp (2, 4, 16 or 256 colors). - True color : with or without key colors. The key color ares the transparent ones. Subformats available are : - 24bpp : 24 bits per pixel, each pixel should be 0xRRGGBB. - 24bpp_565 : 24 bits per pixel, each pixel should be 0xRRGGBB with only 5 MSB for red, 6 MSB for green and 5 MSB for blue. - 32bpp_4444: 32 bits per pixel, each pixel should be 0xAARRGGBB but only 4 MSB bits are significants. - 32bpp : 0xAARRGGBB - 16bpp_565 : 16 bits per pixel, each pixel is defined by 16 bits with 5 for red, 6 for green and 5 for blue, no alpha. - 16bpp_1555: 16 bits per pixel, 2 alpha levels. - 16bpp_4444: 16 bits per pixel, 16 alpha levels. Beware, all those subformats are not currently supported : - XFree : currently only 16bpp_565 is possible (fbdev restriction), use color key for alpha. - Linux FB : only 24bpp, 32bpp, and 16bpp_565 Please note that the OSD scaler is 24-bit based. For formats that do not use 8 bits per color, the bits defined will be considered MSBs when the color is translated into 24 bits. For example, green in 16bpp_565 is defined as 00000 111111 00000 and corresponds to (0,252,0) or 00000000 11111100 00000000 in the 24-bit RGB mode of the OSD scaler; this is how you should define the key color to target this color. Finally, you can specify any valid option concerning the video output (like -f 1080i59 for 1080i ...) For example, here is the log to create a 1024x768 buffer in true color with key, 16bpp (565): babar$ ./osdbuf_control -c1024x768 -Ftck:16bpp_565 vsync uncached addr: 0x10348660, size 0x00006600, end: 0x1034EC60 videomemory=0x101c8654 videomemorysize=1572864 palette=0x79000 mode=1024:768:16 3.2 Print parameters suitable for mambolfb ------------------------------------------ Example : babar$ ./osdbuf_control -p videomemory=0x101c8654 videomemorysize=1572864 palette=0x79000 mode=1024:768:16 This line is the command line parameter that you will have to provide when insmoding the mambo linux kernel frame buffer driver module. 3.3 Delete current OSD buffer ----------------------------- Example : babar$ ./osdbuf_control -d Deleting OSD buffer ... done 3.4 Get more information on current OSD buffer ---------------------------------------------- The -i option will give you all the settings of the current OSD buffer. Example : babar$ ./osdbuf_control -i ===================== Buffer Infos ====================== Persistent OSD at 0x101C8654 with 1572864 bytes Format : tc:16bpp_565 Color Space Conversion : RGB -> 601 Input Resolution : 1024x768 Output Resolution : 640x240 Scale Factor : 6553x13107 Horiz DownScale Factor : 512 Phase (x,y) : (0,4) Taps : 4 Anti Flicker Color : 3 Anti Flicker Alpha : 0 Direction estimation : disabled Alpha0 : 255 Alpha1 : 255 Fading : disabled OSD output channel status : enabled Key color (R/Cr,G/Y,B/Cb) : [0,1[, [0,1[, [0,1[ ========================================================= 3.5 OSD buffer tuning --------------------- You can use any option listed in the last category to modify the current OSD buffer configuration. To set the anti flicker to the maximum : babar$ ./osdbuf_control -l3:3 Color Anti Flicker : 3 Alpha Anti Flicker : 3 To change the key colors : babar$ ./osdbuf_control -k0,0,0:3 Key color (R/Cr,G/Y,B/Cb) : [0,8[, [0,8[, [0,8[ This means that every color in the range above will be transparent if the current format is True Color with Key. See below for more informations on available options : * Format : you can set this when creating the buffer, see the output of osdbuf_control for full list of formats/subformats supported. This can currently not be changed once a buffer has been created. * Color space conversion : same thing, see the output of osdbuf_control for full list of conversions allowed. You can change this at any time. * Phase : this can be used to produce an anti flicker like filter. The phase is the shift between the main pixel plan and the OSD pixel plan. * Taps : this defines, how many vertical "taps" are used in the adaptive scaler. With 4 taps, the maximum line resolution in 24 and 32 bpp is 1024, else it is 2048. * Anti Flicker on color and alpha : from 0 (no filtering) to 4 (strong filtering), this sets the behavior of the filter. IMPORTANT : 4 taps mode should be used when using the anti-flicker. * Direction estimation : enable direction estimation in the scaler adaptive filter, so lines are better scaled. * Alpha0 and Alpha1 : those two alpha registers are used to apply a uniform alpha on the buffer : - in 24bpp_565, 24bpp and 16bpp_565, alpha0 is applied on the buffer. - in 16bpp_1555, you can choose between alpha0 and alpha1 (two level alpha). * Fading : when this is set, each pixel alpha is computed as a barycenter of alpha0 and alpha1. * OSD output channel : control the OSD channel. * Key color : in True Color with key mode, this sets the band of color that will be transparent for the OSD. For each color, the range is [ keycolor , keycolor + 2 ^ range [ 3.6 Bind or unbind to a frame buffer ------------------------------------ You can associate an OSD buffer with the mambo/tango frame buffer device with the -x option, and unbind it with -X. Those option apply to the current OSD buffer, or the created one (you can combine -c and -x, or -d and -X). To associate the current OSD buffer to /dev/fb/0: $ ./osdbuf_control -x /dev/fb/0 To unbind it: $ ./osdbuf_control -X /dev/fb/04 FBcon=======You can use the mambo/tango frame buffer as a linux console as well. If you areusing VGA text console, when insmoding mambolfb, the frame buffer will takeover all consoles, and you won't be able to release them, so you won't be ableto rmmod mambolfb ... to avoid this, you should use VESA frame buffer console.You can then simply choose which console is sent to the mambo linux framebuffer. For this, use the sendconsoletoframebuffer utility. For example, tosend console 2 to frame buffer /dev/fb1: babar$ sudo ./sendconsoletoframebuffer 2 /dev/fb1 con#2 to fb#1: ok4 XFree=======If you want to use XFree86 on top of the mambo linux frame buffer, a genericXF86Config-4 file is provided, configured by default for 1024x768x16bpp : 1. Login as root (you can also to that as a normal user if you copy the Xfree86 config in a folder in your Xfree86 config search path). 2. Send a console to the mambo linux frame buffer 3. Switch to this console (2 here) 4. Choose on which display to run your X server (it should be :0 if you don't have a server running currently, :1 if you have one running, ...), and then start X with the right config file. Example : babar$ startx -- :1 -xf86config <path_to_your_config> babar$ startx -- :0 -xf86config <path_to_your_config>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -