This shows you the differences between two versions of the page.
framebuffer [2015/06/08 01:48] |
framebuffer [2022/04/16 12:23] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== http://www.directfb.org , irc://irc.freenode.net/#DirectFB ===== | ||
+ | |||
+ | file:///usr/src/linux/Documentation/fb/vesafb.txt | ||
+ | file:///usr/share/doc/fbset/FAQ | ||
+ | |||
+ | |||
+ | * http://tldp.org/HOWTO/Framebuffer-HOWTO.html | ||
+ | * http://home.tvd.be/cr26864/Linux/fbdev/ | ||
+ | |||
+ | |||
+ | ===== [[VGA]] ===== | ||
+ | |||
+ | sudo modprobe -v vga16fb # must be compiled | ||
+ | |||
+ | cat /proc/fb | ||
+ | 0 VGA16 VGA | ||
+ | |||
+ | |||
+ | sudo cat /etc/X11/xorg.conf | modeline2fb > /etc/fb.modes | ||
+ | |||
+ | |||
+ | === [[RzR]]'s tests=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Tests done on my [[AmiloA]] [[Laptop]] on [[Debian]] : | ||
+ | |||
+ | Sat Sep 3 03:34:11 CEST 2005 | ||
+ | Linux nrv 2.6.13-k7-amiloa #5 Tue Aug 30 20:47:34 CEST 2005 i686 GNU/Linux | ||
+ | |||
+ | modprobe radeonfb | ||
+ | |||
+ | lsmod | grep fb | ||
+ | radeonfb 88640 0 | ||
+ | i2c_algo_bit 8840 1 radeonfb | ||
+ | i2c_core 17296 4 radeonfb,i2c_algo_bit,i2c_ali15x3,i2c_ali1535 | ||
+ | |||
+ | find /lib/modules/`uname -r` -name "*fb*" | ||
+ | /lib/modules/2.6.13-k7-amiloa/kernel/drivers/video/aty/radeonfb.ko | ||
+ | /lib/modules/2.6.13-k7-amiloa/kernel/drivers/video/vfb.ko | ||
+ | |||
+ | |||
+ | |||
+ | ==== Radeon ==== | ||
+ | grep FB /usr/src/linux/.config | ||
+ | CONFIG_FB_RADEON_OLD=m | ||
+ | CONFIG_FB_RADEON=m | ||
+ | CONFIG_FB_RADEON_I2C=y | ||
+ | |||
+ | #rzr@nrv:linux/$ cat /proc/fb | ||
+ | 0 ATI Radeon C6 | ||
+ | 1 VESA VGA | ||
+ | |||
+ | $ fbset -i # sudo apt-get install fbset | ||
+ | |||
+ | mode "1024x768-60" | ||
+ | # D: 65.003 MHz, H: 48.365 kHz, V: 60.006 Hz | ||
+ | geometry 1024 768 1024 768 8 | ||
+ | timings 15384 168 16 30 2 136 6 | ||
+ | hsync high | ||
+ | vsync high | ||
+ | rgba 8/0,8/0,8/0,0/0 | ||
+ | endmode | ||
+ | |||
+ | Frame buffer device information: | ||
+ | Name : ATI Radeon C6 | ||
+ | Address : 0xf8000000 | ||
+ | Size : 33554432 | ||
+ | Type : PACKED PIXELS | ||
+ | Visual : PSEUDOCOLOR | ||
+ | XPanStep : 8 | ||
+ | YPanStep : 1 | ||
+ | YWrapStep : 0 | ||
+ | LineLength : 1024 | ||
+ | MMIO Address: 0xf0500000 | ||
+ | MMIO Size : 16384 | ||
+ | Accelerator : ATI Radeon family | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ToDo : | ||
+ | |||
+ | grep FB /usr/src/linux/.config | ||
+ | CONFIG_FB=y | ||
+ | CONFIG_FB_VGA16=m | ||
+ | # CONFIG_FB_VESA is not set | ||
+ | CONFIG_FB_RADEON_OLD=m | ||
+ | CONFIG_FB_RADEON=m | ||
+ | CONFIG_FB_RADEON_I2C=y | ||
+ | CONFIG_FB_VIRTUAL=m | ||
+ | |||
+ | grep FRAME /usr/src/linux/.config | ||
+ | CONFIG_FRAMEBUFFER_CONSOLE=m # fbcon ? | ||
+ | # CONFIG_FRAME_POINTER is not set | ||
+ | |||
+ | |||
+ | === VESA=== | ||
+ | |||
+ | links2 works fine not mplayer, I am logging errors , warnings if it helps : http://rzr.online.fr/q/FrameBuffer | ||
+ | |||
+ | grep FB /usr/src/linux/.config | ||
+ | CONFIG_FB_VGA16=y | ||
+ | CONFIG_FB_VESA=y | ||
+ | |||
+ | # (*) DirectFB/Graphics: MMX Software Rasterizer 0.6 (convergence integrated media GmbH) | ||
+ | |||
+ | cat /proc/fb | ||
+ | 0 VESA VGA | ||
+ | 1 VGA16 VGA | ||
+ | |||
+ | [[WebBrowser]] | ||
+ | |||
+ | sudo apt-get install links2 # [[Debian]] | ||
+ | |||
+ | links2 -g http://rzr.online.fr/q/FrameBuffer | ||
+ | ---------------------- DirectFB v0.9.20 --------------------- | ||
+ | (c) 2000-2002 convergence integrated media GmbH | ||
+ | (c) 2002-2003 convergence GmbH | ||
+ | ----------------------------------------------------------- | ||
+ | |||
+ | (*) Single Application Core. (with MMX support) (2005-01-31 07:23) | ||
+ | (*) DirectFB/misc/memcpy: using MMXEXT optimized memcpy() | ||
+ | (*) DirectFB/InputDevice: Keyboard 0.9 (convergence integrated media GmbH) | ||
+ | (*) DirectFB/InputDevice: IMPS/2 Mouse (1) 0.9 (convergence integrated media GmbH) | ||
+ | (*) DirectFB/InputDevice: IMPS/2 Mouse (2) 0.9 (convergence integrated media GmbH) | ||
+ | (*) MMX detected and enabled | ||
+ | (*) DirectFB/GraphicsDevice: MMX Software Rasterizer 0.6 (convergence integrated media GmbH) | ||
+ | (===) DirectFB/core/fbdev: Panning display failed!=== | ||
+ | *-> Invalid argument | ||
+ | (*) DirectFB/Layer: Enabled 'FBDev Primary Layer'. | ||
+ | (===) DirectFB/core/fbdev: Panning display failed!=== | ||
+ | *-> Invalid argument | ||
+ | |||
+ | |||
+ | [[VideoPlayer]] | ||
+ | |||
+ | mplayer -vo directfb http://rzr.online.fr/docs/java/diet3d-nokia6630.mov 2>&1 > ~/mplayer-log.txt | ||
+ | |||
+ | VDec: vo config request - 352 x 288 (preferred csp: Planar YV12) | ||
+ | DirectFB: Format query: Planar YV12 | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: Planar I420 | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | Could not find matching colorspace - retrying with -vf scale... | ||
+ | Opening video filter: [[scale]] | ||
+ | DirectFB: Format query: Planar YV12 | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: Planar I420 | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: Packed YUY2 | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: Packed UYVY | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | VDec: using Planar YV12 as output csp (no 0) | ||
+ | Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | SwScaler: using unscaled Planar YV12 -> BGRA special converter | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | VO: [[directfb]] 352x288 => 384x288 BGRA | ||
+ | DirectFB: Format query: BGRA | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | DirectFB: Config entered [[352x288]] | ||
+ | DirectFB: With requested format: BGRA | ||
+ | (=====) *** CAUTION [[letting unprivileged IDirectFBDisplayLayer::GetSurface() call pass until cooperative level handling is finished]] *** ../../../src/display/idirectfbdisplaylayer.c (147)===== | ||
+ | DirectFB: Config - looking for suitable layer | ||
+ | DirectFB: Test format - layer 0 scale/pos 0 | ||
+ | DirectFB: Test format - added layer 0 scale/pos 0 | ||
+ | DirectFB: Config - layer 0 | ||
+ | DirectFB: Config - switching layer to exclusive mode | ||
+ | DirectFB: Layer reports format:201002 | ||
+ | DirectFB: Desired pixelformat: 401804 | ||
+ | DirectFB: Config - changing layer configuration (format) | ||
+ | (===) DirectFB/core/fbdev: Panning display failed!=== | ||
+ | *-> Invalid argument | ||
+ | (=====) *** CAUTION [[setting new configuration failed]] *** ../../../src/core/layers.c (865)===== | ||
+ | (===) DirectFB/core/fbdev: Panning display failed!=== | ||
+ | *-> Invalid argument | ||
+ | DirectFB: Double buffering is active | ||
+ | DirectFB: Requested field parity: Don't care | ||
+ | DirectFB: Config - flipping = 1 | ||
+ | DirectFB: Config - surface size = 640x480 | ||
+ | DirectFB: Frame is active. | ||
+ | DirectFB: Config finished [[384x288]] - [[352x288]] | ||
+ | New_Face failed. Maybe the font path is wrong. 2 ??% ??% ??,?% 0 0 86% | ||
+ | Please supply the text font file (~/.mplayer/subfont.ttf). | ||
+ | subtitle font: load_sub_face failed. | ||
+ | DirectFB: Uninit entered0.004 ct: 0.064 32/ 32 9% 45% 5.3% 0 0 67% | ||
+ | DirectFB: Releasing frame | ||
+ | DirectFB: Releasing layer | ||
+ | (===) DirectFB/core/fbdev: Panning display failed!=== | ||
+ | *-> Invalid argument | ||
+ | DirectFB: Releasing primary | ||
+ | DirectFB: Uninit done. | ||
+ | |||
+ | |||
+ | ==== [[OpenSource]] ===== | ||
+ | |||
+ | My test of direct fb : | ||
+ | |||
+ | * http://directfb.org/index.php?path=Main%2FSupport%2FGraphics | ||
+ | |||
+ | ed2k://|file|DirectFB-0.9.22.tar.gz|1977888|e77a9fcbbc86800fcfac9cebe7050046| | ||
+ | |||
+ | ./configure --prefix=/usr/local/opt/directfb-0.9.22 && make && make install | ||
+ | |||
+ | |||
+ | # Making install in include | ||
+ | # make[[1]]: Entering directory `/tmp/DirectFB-0.9.22/include' | ||
+ | # make[[1]]: *** No rule to make target `install'. Stop. | ||
+ | make -k install | ||
+ | |||
+ | # now testing | ||
+ | /usr/local/opt/directfb-0.9.22/bin/dfbinfo | ||
+ | # | ||
+ | # ---------------------- DirectFB v0.9.22 --------------------- | ||
+ | # (c) 2000-2002 convergence integrated media GmbH | ||
+ | # (c) 2002-2004 convergence GmbH | ||
+ | # ----------------------------------------------------------- | ||
+ | # | ||
+ | # (*) DirectFB/Core: Single Application Core. (2005-09-03 01:04) | ||
+ | # (*) Direct/Memcpy: Using SSE optimized memcpy() | ||
+ | # (*) Direct/Thread: Running 'VT Switcher' (CRITICAL, 21799)... | ||
+ | # (*) Direct/Thread: Running 'PS/2 Input' (INPUT, 21804)... | ||
+ | # (=====) *** UNIMPLEMENTED [[fusion_reactor_set_lock]] *** [[reactor.c:802]]===== | ||
+ | # (*) DirectFB/Input: IMPS/2 Mouse 1.0 (Convergence GmbH) | ||
+ | # (*) Direct/Thread: Running 'Linux Input' (INPUT, 21805)... | ||
+ | # (*) DirectFB/Input: AT Translated Set 2 keyboard (1) 0.1 (convergence integrated media GmbH) | ||
+ | # (*) Direct/Thread: Running 'Linux Input' (INPUT, 21806)... | ||
+ | # (*) DirectFB/Input: PS/2 Mouse (2) 0.1 (convergence integrated media GmbH) | ||
+ | # (*) Direct/Thread: Running 'Linux Input' (INPUT, 21807)... | ||
+ | # (*) DirectFB/Input: AlpsPS/2 ALPS GlidePoint (3) 0.1 (convergence integrated media GmbH) | ||
+ | # (*) Direct/Thread: Running 'Keyboard Input' (INPUT, 21808)... | ||
+ | # (*) DirectFB/Input: Keyboard 0.9 (convergence integrated media GmbH) | ||
+ | # (*) DirectFB/Genefx: MMX detected and enabled | ||
+ | # (*) DirectFB/Graphics: MMX Software Rasterizer 0.6 (convergence integrated media GmbH) | ||
+ | # (*) DirectFB/Core/WM: Default 0.2 (Convergence GmbH) | ||
+ | |||
+ | |||
+ | # Screen (00) FBDev Primary Screen (primary screen) | ||
+ | # Caps: VSYNC POWER_MANAGEMENT | ||
+ | # | ||
+ | # Layer (00) FBDev Primary Layer (primary layer) | ||
+ | # Type: GRAPHICS | ||
+ | # Caps: SURFACE BRIGHTNESS CONTRAST SATURATION | ||
+ | |||
+ | |||
+ | # Input (01) IMPS/2 Mouse (primary mouse) | ||
+ | # Type: MOUSE | ||
+ | # Caps: AXES BUTTONS | ||
+ | |||
+ | # Input (00) AT Translated Set 2 keyboard (primary keyboard) | ||
+ | # Type: KEYBOARD | ||
+ | # Caps: KEYS | ||
+ | |||
+ | # Input (10) PS/2 Mouse | ||
+ | # Type: MOUSE | ||
+ | # Caps: AXES BUTTONS | ||
+ | |||
+ | # Input (11) AlpsPS/2 ALPS GlidePoint | ||
+ | # Type: MOUSE | ||
+ | # Caps: AXES BUTTONS | ||
+ | |||
+ | # Input (12) Keyboard | ||
+ | # Type: KEYBOARD | ||
+ | # Caps: KEYS | ||
+ | |||
+ | |||
+ | === radeonfb=== | ||
+ | |||
+ | # dmesg | grep "fb:" | ||
+ | # radeonfb: Retreived PLL infos from BIOS | ||
+ | # radeonfb: Reference=191.86 MHz (RefDiv=426) Memory=160.00 Mhz, System=133.00 MHz | ||
+ | # radeonfb: PLL min 12000 max 35000 | ||
+ | # radeonfb: Monitor 1 type LCD found | ||
+ | # radeonfb: Monitor 2 type no found | ||
+ | # radeonfb: panel ID string: 1024x768 | ||
+ | # radeonfb: detected LVDS panel size from BIOS: 1024x768 | ||
+ | # radeonfb: Dynamic Clock Power Management enabled | ||
+ | # radeonfb (0000:01:05.0): ATI Radeon C6 | ||
+ | # vesafb: cannot reserve video memory at 0xf8000000 | ||
+ | # vesafb: framebuffer at 0xf8000000, mapped to 0xdf900000, using 3072k, total 32704k | ||
+ | # vesafb: mode is 1024x768x16, linelength=2048, pages=20 | ||
+ | # vesafb: protected mode interface info at c000:5137 | ||
+ | # vesafb: scrolling: redraw | ||
+ | # vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0 | ||
+ | # fb1: VESA VGA frame buffer device | ||
+ | # kobject_register failed for radeonfb (-17) | ||
+ | # [[<de86600f>]] radeonfb_old_init+0xf/0x13 [[radeonfb]] | ||
+ | |||
+ | ===MISC=== | ||
+ | |||
+ | PCI: Unable to reserve mem region #1:4000000@f8000000 for device 0000:01:05.0 | ||
+ | radeonfb (0000:01:05.0): cannot reserve PCI regions. Someone already got them? | ||
+ | ACPI: PCI interrupt for device 0000:01:05.0 disabled | ||
+ | radeonfb: probe of 0000:01:05.0 failed with error -16 | ||
+ | |||
+ | |||
+ | === [[Kernel]] config=== | ||
+ | |||
+ | |||
+ | grep FB /usr/src/linux/.config | ||
+ | |||
+ | CONFIG_FB=y | ||
+ | CONFIG_FB_CFB_FILLRECT=y | ||
+ | CONFIG_FB_CFB_COPYAREA=y | ||
+ | CONFIG_FB_CFB_IMAGEBLIT=y | ||
+ | CONFIG_FB_SOFT_CURSOR=y | ||
+ | CONFIG_FB_MODE_HELPERS=y | ||
+ | CONFIG_FB_VGA16=m | ||
+ | CONFIG_FB_VESA=y | ||
+ | CONFIG_FB_VIRTUAL=m | ||
+ | CONFIG_FRAMEBUFFER_CONSOLE=m | ||
+ | |||
+ | zcat /proc/config.gz | grep -v "^#" | grep FB | ||
+ | |||
+ | CONFIG_FB=y | ||
+ | CONFIG_FB_CFB_FILLRECT=y | ||
+ | CONFIG_FB_CFB_COPYAREA=y | ||
+ | CONFIG_FB_CFB_IMAGEBLIT=y | ||
+ | CONFIG_FB_SOFT_CURSOR=y | ||
+ | CONFIG_FB_MODE_HELPERS=y | ||
+ | CONFIG_FB_VGA16=m | ||
+ | CONFIG_FB_VESA=y | ||
+ | CONFIG_FB_RADEON_OLD=m | ||
+ | CONFIG_FB_RADEON=m | ||
+ | CONFIG_FB_RADEON_I2C=y | ||
+ | CONFIG_FB_VIRTUAL=m | ||
+ | |||
+ | |||
+ | ===== French ===== | ||
+ | |||
+ | * http://kafka.fr.free.fr/articles/divers/prog-framebuffer/prog-framebuffer.html | ||
+ | |||
+ | |||
+ | ===== MORE ===== | ||
+ | |||
+ | @TaG: [[XWindow]] [[mplayer]] [[radeonfb]] [[directfb]] [[Embedded]] [[linux-kernel]] | ||