Forums

Full Version: RockPro64 4GB
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Those lovely people at Pine, have sent me a new toy Big Grin

Another RK3399 board but also a bit of a big beast with lots of ports and extra bits on it, they've been kind enough to supply the heatsink and power supply too.

Sadly though need to wait till the weekend (or next) to play with it, but I'll download whatever OS they have and see what it can do when I've got some spare time
Just firing it up with Ubuntu, it needs a few things installed, but it does run the maze demo, but it does not look like there are any drivers, mesa is emulating and the demo runs at 24fps on a half size screen

hmm
Armbian also has no GPU drivers.

so its best for now to work with Ubuntu and hopefully some drivers will come along soon
oh wait...going back to Ubuntu, and trying glmark2-es2 it might actually be doing a bit more than emulating...I'll try to avoid installing mesa and see if it can handle the demo better
hmm can't get it to work without mesa, there is a GL folder in place, so maybe it can handle full fat GL better than GLES2.0
Installing the Mesa libs does get it all working, but at half speed on the maze demo, suggesting a lot of emulation, though it is reporting it as a proper Mali 860 with an apparent tonne of good extensions and glmark2 offscreen still gives a reasonable score of around 200 before and after mesa libs installed. Not sure what to make of it.

I'll have to get back to it another time, for now its not as immediately usable as the RockPi4 so hopefully some updates soon will fix that.

This SBC supports version 1.4 of EGL
This GPU supplied by :ARM
This GPU supports :OpenGL ES 3.2 v1.r14p0-01rel0-git(966ed26).f44c85cb3d2ceb87e8be88e7592755c3
This GPU Renders with :Mali-T860
This GPU supports :OpenGL ES GLSL ES 3.20
This GPU supports these extensions :GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex
I tried ubuntu again but kept getting some odd errors and it would only set up if I disabled mipmapping, which is very odd... So decided to try Debian which seems to have on board drivers.

And yes, aside from being a bit slow when 1st booted up, (which is not actually unusual as it sets things up in the background), performance improved after an update/upgrade cycle, I only needed to install GLM/STB and GDB to get things up and running.

The Maze demo compiles, nice and fast and runs, though not at the steady 60hz I was hoping for, but close enough. restoring mipmapping boosted speed a bit but it did still drop down from 60 which I wouldn't expect from such a powerful GPU. The only problem is the MD2 textures and overall render of the maze demo is rather dark..not sure why. Probably a simple issue with ambiant light values in the shader that need adjusting rather than using fixed numbers.

Its using mesa libs, since an attempt to install them said they were already there, but it is working much better than the Ubuntu version which seemed to emulate more and slowed down on even a half sized screen.
So I'll stick to this version of Debian for now, its being actively supported (so is unbuntu in fairness)
Ain't Linux fun?

What is interesting with your findings is that Ubuntu is based on Debian, so it's more than likely a version issue.

On Ubuntu, if you cat /etc/debian_version you can see what version it is based on.
well they are all based on some old core Linus wrote Big Grin

I really don't enjoy Linux, the variation and lack of consistancy even from machine to machine is deeply frustrating.. I can't imagine trying to actually produce a commercial quality project on Linux, imagine the number of builds and versions you need to take care of...shudder.
Just popping back to report that the change resolution fix I have been working on does indeed work on this beasty, and for fun I updated/upgraded it and installed GLMark2-es2 on it.

wow...this is a fast puppy, though you need to feed it 12v to get the most out of it, I had it running on 5v for a while but once it warmed it up needed more volts.  
It returns by far the best GLmark2 score on ARM, offscreen at, 714.  On screen was locked to the screen rate.(For comparison, RPi4 is 136 on screen, 300 off ).

Thats far and away the best glmark2 score on any ARM system,the previous best was around 400 on Tinkerboard/NanoPiM4  which tailed away after updates, I'm curious to know if the Rock64 can match it with its 5v input...I guess I'll have to get one sometime and try. Smile
Its also nippy on the Sysbench prime test for 10,000 primes on 1 thread (I assume the big cores) at 75sec, thats 2x faster than the Raspberry 3B+ and a fair bit faster than the RPi4(92sec) , but much slower than the Up X86 systems (10sec).


edit, I forgot the Nvidia Jetson is an Arm board, but it also has a 128core GPU (wow momma) so it utterly destroys the other units on GLmark2-es2 scores 1995 onscreen (strangely its much slower off screen,396  I think there's something going on I don't understand but still..)

I should keep a table some where!