|
Posted at 6/11/2015 06:26:06
Only Author
26#
Hello all... I'm hoping someone can help me out.
I have built the stock kernel (https://bitbucket.org/T-Firefly/firefly-rk3288-kernel.git) and imported the Mali userspace binaries into my rootfs. I'm trying to launch weston with the fbdev backend, but I get an error:
- [12:01:21.889] weston 1.4.0
- http://wayland.freedesktop.org/
- Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.4.0
- Build: 6d359c5-dirty Fixed issue with processing position on touch up. (2014-12-11 16:46:13 -0800)
- [12:01:21.890] OS: Linux, 3.10.0, #1 SMP PREEMPT Mon Jun 8 16:34:54 PDT 2015, armv7l
- [12:01:21.890] Using config file '/etc/xdg-config/default/weston.ini'
- [12:01:21.890] Loading module '/usr/lib/weston/fbdev-backend.so'
- [12:01:21.892] initializing fbdev backend
- [12:01:21.892] Creating fbdev output.
- [12:01:21.892] Opening fbdev frame buffer.
- [12:01:21.892] Calculating pixman format from:
- - type: 0 (aux: 0)
- - visual: 2
- - bpp: 32 (grayscale: 0)
- - red: offset: 24, length: 8, MSB: 0
- - green: offset: 16, length: 8, MSB: 0
- - blue: offset: 8, length: 8, MSB: 0
- - transp: offset: 0, length: 8, MSB: 0
- [12:01:21.892] Mapping fbdev frame buffer.
- [12:01:21.892] Failed to mmap frame buffer: Invalid argument
- [12:01:21.892] Mapping frame buffer failed.
- [12:01:21.893] fatal: failed to create compositor
Copy the code
So I thought I'd try to 'dd' some random data into the framebuffer:
- # dd if=/dev/random of=/dev/fb0 bs=512 count=32
- dd: writing '/dev/fb0': No such device
- 0+1 records in
- 0+0 records out
- 0 bytes (0 B) copied, 0.000217584 s, 0.0 kB/s
Copy the code
The device node exists:
- # ls -l /dev/fb*
- crw-rw-rw- 1 root video 29, 0 Jan 1 12:00 /dev/fb0
- crw-rw-rw- 1 root video 29, 1 Jan 1 12:00 /dev/fb1
- crw-rw-rw- 1 root video 29, 2 Jan 1 12:00 /dev/fb2
- crw-rw-rw- 1 root video 29, 3 Jan 1 12:00 /dev/fb3
- crw-rw-rw- 1 root video 29, 4 Jan 1 12:00 /dev/fb4
Copy the code
But there seems to be some disconnect in the kernel between this device node and the backing driver.
I've also tried launch X with the fbdev driver, but I get a similar error:
- [1098091.703] (II) LoadModule: "fbdev"
- [1098091.704] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
- [1098091.705] (II) Module fbdev: vendor="X.Org Foundation"
- [1098091.705] compiled for 1.14.2, module version = 0.4.4
- [1098091.705] Module class: X.Org Video Driver
- [1098091.705] ABI class: X.Org Video Driver, version 14.1
- [1098091.705] (II) FBDEV: driver for framebuffer: fbdev
- [1098091.705] (++) using VT number 7
- [1098091.705] (WW) Falling back to old probe method for fbdev
- [1098091.705] (II) Loading sub module "fbdevhw"
- [1098091.705] (II) LoadModule: "fbdevhw"
- [1098091.705] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
- [1098091.706] (II) Module fbdevhw: vendor="X.Org Foundation"
- [1098091.706] compiled for 1.14.99.1, module version = 0.0.2
- [1098091.706] ABI class: X.Org Video Driver, version 14.1
- [1098091.707] (II) FBDEV(0): using default device
- [1098091.707] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
- [1098091.707] (**) FBDEV(0): Depth 24, (--) framebuffer bpp 32
- [1098091.707] (==) FBDEV(0): RGB weight 888
- [1098091.707] (==) FBDEV(0): Default visual is TrueColor
- [1098091.707] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
- [1098091.707] (II) FBDEV(0): hardware: fb0 (video memory: 0kB)
- [1098091.707] (II) FBDEV(0): checking modes against framebuffer device...
- [1098091.707] (II) FBDEV(0): mode "1280x720" ok
- [1098091.707] (II) FBDEV(0): checking modes against monitor...
- [1098091.707] (--) FBDEV(0): Virtual size is 1280x720 (pitch 1280)
- [1098091.707] (**) FBDEV(0): Mode "1280x720": 74.2 MHz (scaled from 0.0 MHz), 45.0 kHz, 59.9 Hz
- [1098091.707] (II) FBDEV(0): Modeline "1280x720"x0.0 74.18 1280 1390 1430 1650 720 725 730 750 +hsync +vsync (45.0 kHz)
- [1098091.707] (==) FBDEV(0): DPI set to (96, 96)
- [1098091.707] (II) Loading sub module "fb"
- [1098091.707] (II) LoadModule: "fb"
- [1098091.708] (II) Loading /usr/lib/xorg/modules/libfb.so
- [1098091.712] (II) Module fb: vendor="X.Org Foundation"
- [1098091.712] compiled for 1.14.99.1, module version = 1.0.0
- [1098091.712] ABI class: X.Org ANSI C Emulation, version 0.4
- [1098091.712] (**) FBDEV(0): using shadow framebuffer
- [1098091.713] (II) Loading sub module "shadow"
- [1098091.713] (II) LoadModule: "shadow"
- [1098091.713] (II) Loading /usr/lib/xorg/modules/libshadow.so
- [1098091.715] (II) Module shadow: vendor="X.Org Foundation"
- [1098091.715] compiled for 1.14.99.1, module version = 1.1.0
- [1098091.715] ABI class: X.Org ANSI C Emulation, version 0.4
- [1098091.715] (==) Depth 24 pixmap format is 32 bpp
- [1098091.715] (EE) FBDEV(0): mmap fbmem: Invalid argument
- [1098091.715] (EE) FBDEV(0): mapping of video memory failed
- [1098091.715] (EE)
- Fatal server error:
- [1098091.715] (EE) AddScreen/ScreenInit failed for driver 0
- [1098091.715] (EE)
- [1098091.715] (EE)
Copy the code
The X log seems to think that the fb0 device has 0kB of video memory. This might explain why the mmap fails for both weston and X.
Does anyone have any ideas why the stock kernel isn't working for me with the fbdev driver?
Thanks! |
|