Android Tablets Forum banner
1 - 20 of 206 Posts

·
Registered
Joined
·
111 Posts
Hi All

Here I place my version of Linux kernel (kernel folder)
Source code here (not always last versions)

WARNING
-made specifically for mk808 (with fixed core voltage)
-no warranty, use at your own risk

Features
* 1920х1080, 1280х720 (it is checked)
* RAM at 400MHz
* Core dynamically 816 MHz - 1.51 Ghz (it is restricted only to core temperature)
* the second display interface is switched off
* the ion memory manager is switched off (+80mb RAM)
* Support for GPU (Mali) in the kernel + working modules
* Mali on 266MHz, but can turn to 400MHz
* Some changes to the kernel to support XVideo extension (for my xorg fb driver)
* ...

+flash recovery.img into recovery area

+your favorite Linux root place under linuxroot label (if you have not)

+add into /etc/modules
bcm40181
rk29-ipp
ump
disp_ump
mali
drm
mali_drm

/etc/rc.local
+add chmod 666 /dev/mali /dev/ump
to comment out (#) all lines with fbset (if is)

+rewrite modules (/lib/modules) and firmwares (/lib/firmware) from mod+fw.tar.gz
(then "depmod -a" and reboot)

+for Mali also needed libraries from here (only mali400_2.1-13_armhf.deb), if not working - look here

to delete files /usr/share/X11/xorg.conf.d/*mali*.conf(if is)

Updated 20.03.2013(some corrections under the new video driver)

-------------------------------------------------------------------------------------------------------------------
in folder video_drv - compiled (for ubuntu quantal and debian wheezy) xorg fb driver with XVideo(some acceleration of output video in full screen) and Mali support

Updated 27.02.2013(fixed auto set display mode(no need more fbset in rc.local))
Updated 20.03.2013 (subfolder tst)(acceleration of rendering GPU) new xorg.conf

caution alpha version

+ place rk30fb_drv.so into /usr/lib/xorg/modules/drivers/ and xorg.conf into /etc/X11/
 

·
Registered
Joined
·
20 Posts
hi olegk0,

thank your for your modded kernel, firmware files and fbdev driver!!


picuntu rc2.2 as my chosen linux base.
extra installed xubuntu desktop and the additional bcm40181.ko for working wlan. this is what i did...

1. flash recovery.img to my mk808 nand recovery section
2. edited /etc/modules like you described
3. adding and overwriting files in /lib/modules/3.08+ and /lib/firmware when extracting mod+fw.tar.gz to root dir
4. did "sudo depmod -a" in a shell for registering new kernel modules
5. added "fbset -rgba 8/16,8/8,8/0,8/24 -a", "chmod 666 /dev/mali /dev/ump" to /etc/rc.local
6. installed the 3 mali400 packages with gdebi
7. overwritten /usr/lib/xorg/modules/drivers/fbdev_drv.so with your fbdev_drv.so
8. copied and edited your provided xorg.conf to /etc/X11/xorg.conf

modified xorg.conf:
-------
Section "Device"
Identifier "Mali-Fbdev"
Driver "fbdev"
Option "fbdev" "/dev/fb0
Option "debug" "true"
EndSection

Section "Screen"
Identifier "Mali-Screen"
Device "Mali-Fbdev"
DefaultDepth 16
Monitor "Monitor0"
SubSection "Display"
Depth 16
Modes "1920x1080_60"
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection
------

i needed to remove the monitor modelines and change the monitor depth to 16bpp. your monitor modelines do not seem to fit with my monitor. with 24bpp i got frame loop errors on xorg start. i also tried with my own monitor 1920x1080 modeline from previous xorg auto detection and set fbset res to 1920*1080 in etc/rc.local, but still got frame loop errors or strange desktop resolutions and colors. so i do not use fbset res in /etc/rc.local. anyway i could live with 16bit.


after reboot my /var/log/Xorg.0.log shows the fbdev_drv.so loaded with hardware accelerated cursor! HURRAYYYYY!!!!!!! the whole Desktop seems to bee much sleeker! Thanks Olegk0!

still have a problem with that mali_drv.so from the odroid mali400 release. it cant be loaded because of wrong compiled version. picuntu rc2.2 uses xorg video driver 13 while lib_drv.so is compiled for xorg video driver 11 ?! when loading it always results in unloading cause of wrong ABI (11 vs 13). (--ignoreabi does not work to)

how could one fix it?


thanks again olegk0!

regards
 

·
Registered
Joined
·
111 Posts
Hi

1. try in console
fbset -a -xres 1920 -yres 1080 -vxres 1920 -vyres 1080 -depth 32 -nonstd 2
fbset -rgba 8/16,8/8,8/0,8/24 -a

it should be work, strange if it does not work

fbset installed?

I'm not sure that Mali will work with 16bpp and I did not include support 16bpp in my video driver (in part XVideo)

2. mali_drv.so not needed, it completely replaced by my fbdev_drv.so
install only libMali.so with symlinks and libUMP.so

after load X with 24bpp try setup VLC or SMplayer (or other) for video output to XV
 

·
Registered
Joined
·
20 Posts
thank you olegk0, got mali with your drivers on my mk808 with 24bpp working. thats my /var/log/Xor.0.log:

[ 23.124] (==) FBDEV(0): Backing store disabled
[ 23.124] (==) FBDEV(0): DPMS enabled
[ 23.124] (II) FBDEV(0): HW:Try init ovl
[ 23.198] (II) FBDEV(0): HW:Initialized ovl
[ 23.198] (II) FBDEV(0): HW:Try init ipp
[ 23.198] (II) FBDEV(0): HW:Initialized ipp
[ 23.198] (II) FBDEV(0): HW:Try init rga
[ 23.198] (II) FBDEV(0): HW:Initialized rga
[ 23.198] (II) FBDEV(0): XV:Init complete
[ 23.198] (II) FBDEV(0): Enabled hardware cursor
[ 23.198] (II) Loading sub module "dri2"
[ 23.199] (II) LoadModule: "dri2"
[ 23.199] (II) Module "dri2" already built-in
[ 23.199] (II) FBDEV(0): [DRI2] Setup complete
[ 23.199] (II) FBDEV(0): [DRI2] DRI driver: sunxi-mali
[ 23.199] fbdev: FBDevScreenInit done
[ 23.200] (==) RandR enabled
[ 23.239] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/sunxi-mali_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/sunxi-mali_dri.so: cannot open shared object file: No such file or directory)
[ 23.239] (EE) AIGLX: reverting to software rendering
[ 23.240] (II) AIGLX: Screen 0 is not DRI capable
[ 23.348] (II) AIGLX: Loaded and initialized swrast
[ 23.348] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 23.439] (II) XKB: reuse xkmfile /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
[ 23.518] (II) config/udev: Adding drm device (/dev/dri/card0)

the only thing that gave me questions is the fail of AIGLX cause of missing sunxi-mali_dri.so?

watching movies in fullscreen is great!!! thanks again!
 

·
Registered
Joined
·
111 Posts
Discussion Starter · #7 ·
the only thing that gave me questions is the fail of AIGLX cause of missing sunxi-mali_dri.so?
this is normal as long as

OK, now install the OpenGLES tests (mesa-utils-extra, glmark2-es2) and check Mali
 

·
Registered
Joined
·
20 Posts
installed both. used new xorg.conf + rk30fb_drv.so. rk30 xvideo is still working in 24bpp. here is my output:

[email protected]:~/Desktop# es2gears
libEGL warning: unsupported platform Windows
libEGL warning: DRI2: failed to open rk30-mali (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
EGL_VERSION = 1.4 (DRI2)
vertex shader info:
fragment shader info:
info:
183 frames in 5.0 seconds = 36.512 FPS

---------

[email protected]:~/Desktop# glmark2-es2
libEGL warning: unsupported platform Windows
libEGL warning: DRI2: failed to open rk30-mali (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
=======================================================
glmark2 2012.08
=======================================================
OpenGL Information
GL_VENDOR: Mesa Project
GL_RENDERER: Software Rasterizer
GL_VERSION: OpenGL ES 2.0 Mesa 9.0
=======================================================
[build] use-vbo=false: FPS: 5 FrameTime: 200.000 ms
[build] use-vbo=true: FPS: 5 FrameTime: 200.000 ms
[texture] texture-filter=nearest: FPS: 5 FrameTime: 200.000 ms
[texture] texture-filter=linear: FPS: 4 FrameTime: 250.000 ms
[texture] texture-filter=mipmap: FPS: 3 FrameTime: 333.333 ms
[shading] shading=gouraud: FPS: 3 FrameTime: 333.333 ms
[shading] shading=blinn-phong-inf: FPS: 2 FrameTime: 500.000 ms
[shading] shading=phong: FPS: 1 FrameTime: 1000.000 ms
[bump] bump-render=high-poly: FPS: 1 FrameTime: 1000.000 ms
[bump] bump-render=normals: FPS: 3 FrameTime: 333.333 ms
[bump] bump-render=height:
FPS: 2 FrameTime: 500.000 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 0 FrameTime: inf ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 0 FrameTime: inf ms
[pulsar] light=false:quads=5:texture=false: FPS: 5 FrameTime: 200.000 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 0 FrameTime: inf ms
[desktop] effect=shadow:windows=4: FPS: 0 FrameTime: inf ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 0 FrameTime: inf ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1 FrameTime: 1000.000 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1 FrameTime: 1000.000 ms
[ideas] speed=duration: FPS: 2 FrameTime: 500.000 ms
[jellyfish] <default>: FPS: 0 FrameTime: inf ms
[terrain] <default>: FPS: 0 FrameTime: inf ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 2 FrameTime: 500.000 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 0 FrameTime: inf ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 2 FrameTime: 500.000 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1 FrameTime: 1000.000 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 0 FrameTime: inf ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1 FrameTime: 1000.000 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1 FrameTime: 1000.000 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 0 FrameTime: inf ms
=======================================================
glmark2 Score: 1
=======================================================

var/log/Xorg.0.log:

[ 41.943] rk30fb: PreInit done
[ 41.943] (==) Depth 24 pixmap format is 32 bpp
[ 41.943] rk30fb: FBDevScreenInit 0
[ 41.943] bitsPerPixel=32, depth=24, defaultVisual=TrueColor
mask: ff0000,ff00,ff, offset: 16,8,0
[ 41.969] (==) RK30FB(0): Backing store disabled
[ 41.970] (==) RK30FB(0): DPMS enabled
[ 41.970] (II) RK30FB(0): HW:Try init ovl
[ 42.046] (II) RK30FB(0): HW:Initialized ovl
[ 42.046] (II) RK30FB(0): HW:Try init ipp
[ 42.046] (II) RK30FB(0): HW:Initialized ipp
[ 42.046] (II) RK30FB(0): HW:Try init rga
[ 42.046] (II) RK30FB(0): HW:Initialized rga
[ 42.047] (II) RK30FB(0): XV:Init complete
[ 42.047] (II) RK30FB(0): Enabled hardware cursor
[ 42.047] (II) Loading sub module "dri2"
[ 42.047] (II) LoadModule: "dri2"
[ 42.047] (II) Module "dri2" already built-in
[ 42.047] (II) RK30FB(0): [DRI2] Setup complete
[ 42.047] (II) RK30FB(0): [DRI2] DRI driver: rk30-mali
[ 42.047] rk30fb: FBDevScreenInit done
[ 42.048] (==) RandR enabled

seems like es2gears is NOT initializing the Mali hardware renderer. something is missing for dri. what else can i do olegk0?

thanks again
 

·
Registered
Joined
·
111 Posts
seems like es2gears is NOT initializing the Mali hardware renderer. something is missing for dri. what else can i do olegk0?
try to uninstall libegl1-mesa libgles1-mesa libgles2-mesa packages(this way may require the removal of other programs), or just remove files (libEGL.so* libGLESv1* libGLESv2*) somewhere in /usr/lib/...
and check libMali.so symlinks to:
libEGL.so
libEGL.so.1
libEGL.so.1.4
libGLESv1_CM.so
libGLESv1_CM.so.1
libGLESv1_CM.so.1.1
libGLESv2.so
libGLESv2.so.2
libGLESv2.so.2.0

then rm /etc/ld.so.cache and run ldconfig and check new /etc/ld.so.cache for the presence of libMali in it
 

·
Registered
Joined
·
20 Posts
thx, that did the trick!


es2gears
EGL_VERSION = 1.4 Linux-r3p2-01rel0
vertex shader info:
fragment shader info:
info:
1109 frames in 5.0 seconds = 221.623 FPS

glmark2-es2
=======================================================
glmark2 2012.08
=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali-400 MP
GL_VERSION: OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 66 FrameTime: 15.152 ms
[build] use-vbo=true: FPS: 70 FrameTime: 14.286 ms
[texture] texture-filter=nearest: FPS: 74 FrameTime: 13.514 ms
[texture] texture-filter=linear: FPS: 67 FrameTime: 14.925 ms
[texture] texture-filter=mipmap: FPS: 74 FrameTime: 13.514 ms
[shading] shading=gouraud: FPS: 64 FrameTime: 15.625 ms
[shading] shading=blinn-phong-inf: FPS: 66 FrameTime: 15.152 ms
[shading] shading=phong: FPS: 61 FrameTime: 16.393 ms
[bump] bump-render=high-poly: FPS: 56 FrameTime: 17.857 ms
[bump] bump-render=normals: FPS: 72 FrameTime: 13.889 ms
[bump] bump-render=height: FPS: 71 FrameTime: 14.085 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 64 FrameTime: 15.625 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 58 FrameTime: 17.241 ms
[pulsar] light=false:quads=5:texture=false: FPS: 74 FrameTime: 13.514 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 36 FrameTime: 27.778 ms
[desktop] effect=shadow:windows=4: FPS: 59 FrameTime: 16.949 ms
Error: Requested MapBuffer VBO update method but GL_OES_mapbuffer is not supported!
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: Unsupported
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 35 FrameTime: 28.571 ms
Error: Requested MapBuffer VBO update method but GL_OES_mapbuffer is not supported!
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: Unsupported
[ideas] speed=duration: FPS: 64 FrameTime: 15.625 ms
[jellyfish] <default>: FPS: 64 FrameTime: 15.625 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 72 FrameTime: 13.889 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 71 FrameTime: 14.085 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 74 FrameTime: 13.514 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 72 FrameTime: 13.889 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 69 FrameTime: 14.493 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 71 FrameTime: 14.085 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 71 FrameTime: 14.085 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 69 FrameTime: 14.493 ms
=======================================================
glmark2 Score: 65
=======================================================

great work olegk0!!!!
 

·
Registered
Joined
·
20 Posts
with some troubleshooting hints and still sum puzzling for the fun
im playing 720p x264 mkv with 77% CPU in fullscreen with 1920x1080 fine on MK808. did not try 1080p. its fantastic !!! would be cool if the opengl wrapper doesn't take to much time
 

·
Registered
Joined
·
7 Posts
Hi,

I'm trying this recipe but no success.

My Xorg.0.log is at http://pastebin.com/ssWTDaed

I have followed all the steps:
1. flash recovery.img to my mk808 nand recovery section
2. edited /etc/modules as you described
3. added and overwrote files in /lib/modules/3.08+ and /lib/firmware when extracting mod+fw.tar.gz to root dir
4. did "depmod -a" as root for registering new kernel modules
5. added "fbset -a -xres 1920 -yres 1080 -vxres 1920 -vyres 1080 -depth 32 -nonstd 2", "fbset -rgba 8/16,8/8,8/0,8/24 -a", "chmod 666 /dev/mali /dev/ump" to /etc/rc.local
6. installed the 3 mali400 packages with dpkg
7. written rk30fb_drv.so to /usr/lib/xorg/modules/drivers/
8. copied your provided xorg.conf to /etc/X11/xorg.conf

I'm using base picuntu-RC2.2 rootfs with the aforementioned changes.
 

·
Registered
Joined
·
7 Posts
Thank you, take note

Strange that has not worked a direct reference to the driver in /etc/X11/xorg.conf
Thanks to you, olegk.

Even I have had to disable lightdm autostart on runlevel 2 and call it from /etc/rc.local after fbset commands.

By the way, are you using perhaps aloznat or corbamico github repositories for this?

I would love to try this on a MK802III (not the S model), so have to build a kernel.
 
1 - 20 of 206 Posts
Top