Any plan for basic mainline linux support?

brad
Posts: 949
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2
Location: Australia
Has thanked: 11 times
Been thanked: 27 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Tue Mar 26, 2019 5:18 am

AreaScout wrote:
Tue Mar 26, 2019 2:45 am

Cool, do you have a /dev/dri/card0 device ?
Yes its all there

Code: Select all

root@odroid:/home/odroid# ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root      60 Jan 28  2018 by-path
crw-rw---- 1 root video 226, 0 Mar 25 20:10 card0
root@odroid:/home/odroid# cat /sys/kernel/debug/dri/0/state
plane[32]: meson_primary_plane
        crtc=meson_crtc
        fb=36
                allocated by = [fbcon]
                refcount=2
                format=XR24 little-endian (0x34325258)
                modifier=0x0
                size=1920x1080
                layers:
                        size[0]=1920x1080
                        pitch[0]=7680
                        offset[0]=0
                        obj[0]:
                                name=0
                                refcount=3
                                start=00100000
                                size=8294400
                                imported=no
        crtc-pos=1920x1080+0+0
        src-pos=1920.000000x1080.000000+0.000000+0.000000
        rotation=1
        normalized-zpos=0
        color-encoding=ITU-R BT.601 YCbCr
        color-range=YCbCr limited range
plane[33]: meson_overlay_plane
        crtc=(null)
        fb=0
        crtc-pos=0x0+0+0
        src-pos=0.000000x0.000000+0.000000+0.000000
        rotation=1
        normalized-zpos=0
        color-encoding=ITU-R BT.601 YCbCr
        color-range=YCbCr limited range
crtc[34]: meson_crtc
        enable=1
        active=1
        planes_changed=1
        mode_changed=1
        active_changed=1
        connectors_changed=1
        color_mgmt_changed=0
        plane_mask=1
        connector_mask=1
        encoder_mask=1
        mode: "1920x1080": 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
connector[31]: HDMI-A-1
        crtc=meson_crtc

User avatar
odroid
Site Admin
Posts: 31351
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 50 times
Been thanked: 182 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by odroid » Tue Mar 26, 2019 1:52 pm

User-land Mali-G52 Wayland driver has been uploaded. Version number is r16p0.
https://dn.odroid.com/S922X/ODROID-N2/Wayland/

The driver was built for OpenGL-ES, GBM, Vulkan and Wayland EGL.
When we tested with a Buildroot example, it didn't work well due to incomplete DRM implementation on Kernel 4.9.
We hope Kernel 5.x has much better DRM/DRI features.

The GPU Kernel-land driver might need to be ported to Kernel 5.x The source code is available in this link. The version number must be same as the user-land driver.
https://developer.arm.com/products/soft ... ost-kernel

brad
Posts: 949
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2
Location: Australia
Has thanked: 11 times
Been thanked: 27 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Tue Mar 26, 2019 5:43 pm

odroid wrote:
Tue Mar 26, 2019 1:52 pm
User-land Mali-G52 Wayland driver has been uploaded. Version number is r16p0.
https://dn.odroid.com/S922X/ODROID-N2/Wayland/

The driver was built for OpenGL-ES, GBM, Vulkan and Wayland EGL.
When we tested with a Buildroot example, it didn't work well due to incomplete DRM implementation on Kernel 4.9.
We hope Kernel 5.x has much better DRM/DRI features.

The GPU Kernel-land driver might need to be ported to Kernel 5.x The source code is available in this link. The version number must be same as the user-land driver.
https://developer.arm.com/products/soft ... ost-kernel
Thanks odroid, Asked Neil about the kernel side drivers and he pointed me here https://github.com/superna9999/meson_g12a_mali_bifrost

There was one small change I needed to compile without error (a version check as technically its named a 5.0-rc not 5.1)

Inserting module after boot using insmod

Code: Select all

[  169.722204] mali_kbase: loading out-of-tree module taints kernel.
[  169.737978] mali ffe40000.gpu: Continuing without Mali regulator control
[  169.738346] mali ffe40000.gpu: GPU identified as 0x2 arch 7.2.1 r0p0 status 0
[  169.739039] mali ffe40000.gpu: Probed as mali0
I end up with these modules

Code: Select all

Module                  Size  Used by
mali_kbase            462848  0
cpufreq_powersave      16384  0
cpufreq_conservative    16384  0
meson_dw_hdmi          20480  0
meson_drm              53248  2 meson_dw_hdmi
dw_hdmi                32768  1 meson_dw_hdmi
drm_kms_helper        180224  5 meson_dw_hdmi,meson_drm,dw_hdmi
drm                   425984  5 meson_dw_hdmi,meson_drm,drm_kms_helper,dw_hdmi
meson_gxl              16384  0
realtek                20480  1
dwmac_generic          16384  0
dwmac_meson8b          16384  0
stmmac_platform        20480  2 dwmac_meson8b,dwmac_generic
stmmac                135168  3 dwmac_meson8b,stmmac_platform,dwmac_generic
meson_canvas           16384  1 meson_drm
crct10dif_ce           16384  1
drm_panel_orientation_quirks    20480  1 drm
nvmem_meson_efuse      16384  0
ip_tables              32768  0
x_tables               36864  1 ip_tables
ipv6                  393216  28
I used the maliuser space drivers posted, but I had no luck with gnome or mutter for the moment but @memeka might be able to help me, I never really liked this error

Code: Select all

odroid@odroid:~$ mutter
mutter: symbol lookup error: /usr/lib/aarch64-linux-gnu/libmutter-2.so.0: undefined symbol: gbm_surface_create_with_modifiers
So I went back to basics and had some success using weston:

Code: Select all

odroid@odroid:~$ cat weston.log
Date: 2019-03-26 UTC
[08:17:59.501] weston 3.0.0
               http://wayland.freedesktop.org
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=3.0.0
               Build: unknown (not built from git or tarball)
[08:17:59.501] Command line: weston --wayland 2
[08:17:59.501] OS: Linux, 5.0.0-rc8-next-20190304, #4 SMP PREEMPT Sat Mar 23 05:34:35 UTC 2019, aarch64
[08:17:59.501] Starting with no config file.
[08:17:59.502] Output repaint window is 7 ms maximum.
[08:17:59.502] Loading module '/usr/lib/aarch64-linux-gnu/libweston-3/drm-backend.so'
[08:17:59.518] initializing drm backend
[08:17:59.522] logind: session control granted
[08:17:59.526] using /dev/dri/card0
[08:17:59.526] Loading module '/usr/lib/aarch64-linux-gnu/libweston-3/gl-renderer.so'
[08:17:59.527] EGL client extensions: EGL_EXT_client_extensions
               EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses
               EGL_KHR_platform_gbm EGL_KHR_platform_wayland
               EGL_EXT_platform_wayland
[08:17:59.530] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
[08:17:59.530] warning: neither EGL_EXT_swap_buffers_with_damage or EGL_KHR_swap_buffers_with_damage is supported. Performance could be affected.
[08:17:59.530] EGL_KHR_surfaceless_context available
[08:17:59.532] EGL version: 1.4 Bifrost-"r16p0-01rel0"
[08:17:59.532] EGL vendor: ARM
[08:17:59.532] EGL client APIs: OpenGL_ES
[08:17:59.532] EGL extensions: EGL_WL_bind_wayland_display
               EGL_KHR_partial_update EGL_EXT_image_dma_buf_import
               EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base
               EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace
               EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority
               EGL_KHR_no_config_context EGL_EXT_pixel_format_float
               EGL_ARM_pixmap_multisample_discard
               EGL_ARM_implicit_external_sync EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context
               EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image
               EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness
[08:17:59.533] GL version: OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
[08:17:59.533] GLSL version: OpenGL ES GLSL ES 3.20
[08:17:59.533] GL vendor: ARM
[08:17:59.533] GL renderer: Mali-G52
[08:17:59.533] GL 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_EXT_texture_compression_astc_decode_mode
               GL_EXT_texture_compression_astc_decode_mode_rgb9e5 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_EXT_multisampled_render_to_texture2
               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_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8
               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_shader_non_constant_global_initializers
               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 GL_EXT_buffer_storage
               GL_EXT_texture_filter_anisotropic
[08:17:59.533] GL ES 2 renderer features:
               read-back format: BGRA
               wl_shm sub-image to texture: no
               EGL Wayland extension: yes
[08:17:59.541] event0  - Microsoft Microsoft® 2.4GHz Transceiver v8.0: is tagged by udev as: Keyboard
[08:17:59.541] event0  - Microsoft Microsoft® 2.4GHz Transceiver v8.0: device is a keyboard
[08:17:59.545] event1  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Mouse: is tagged by udev as: Mouse
[08:17:59.545] event1  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Mouse: device is a pointer
[08:17:59.548] event2  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Consumer Control: is tagged by udev as: Keyboard
[08:17:59.548] event2  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Consumer Control: device is a keyboard
[08:17:59.552] event3  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Consumer Control: is tagged by udev as: Keyboard
[08:17:59.552] event3  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Consumer Control: device is a keyboard
[08:17:59.555] event4  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 System Control: is tagged by udev as: Keyboard
[08:17:59.555] event4  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 System Control: device is a keyboard
[08:17:59.679] Registered plugin API 'weston_drm_output_api_v1' of size 24
[08:17:59.679] Chosen EGL config details:
               RGBA bits: 8 8 8 0
               swap interval range: 0 - 1
[08:17:59.681] Failed to initialize backlight
[08:17:59.681] EDID data 'SAM', 'SAMSUNG', '1'
[08:17:59.681] Output HDMI-A-1, (connector 31, crtc 34)
               mode 1920x1080@60.0, preferred, current
               mode 1920x1080@59.9
               mode 1920x1080@60.0
               mode 1920x1080@59.9
               mode 1920x1080@50.0
               mode 1920x1080@50.0
               mode 1920x1080@30.0
               mode 1920x1080@30.0
               mode 1920x1080@25.0
               mode 1920x1080@24.0
               mode 1920x1080@24.0
               mode 1600x1200@60.0
               mode 1280x1024@75.0
               mode 1280x1024@60.0
               mode 1280x960@60.0
               mode 1360x768@60.0
               mode 1152x864@75.0
               mode 1280x720@60.0
               mode 1280x720@59.9
               mode 1280x720@50.0
               mode 1024x768@70.1
               mode 800x600@75.0
               mode 720x576@50.0
               mode 720x480@59.9
               mode 640x480@75.0
               mode 640x480@72.8
[08:17:59.681] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
               presentation clock resolution: 0.000000001 s
[08:17:59.681] Loading module '/usr/lib/aarch64-linux-gnu/weston/desktop-shell.so'
[08:17:59.682] launching '/usr/lib/weston/weston-keyboard'
[08:17:59.683] fatal: unhandled option: --wayland
[08:17:59.683] fatal: unhandled option: 2
[08:17:59.684] event0  - Microsoft Microsoft® 2.4GHz Transceiver v8.0: device removed
[08:17:59.684] event1  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Mouse: device removed
[08:17:59.684] event2  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Consumer Control: device removed
[08:17:59.684] event3  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 Consumer Control: device removed
[08:17:59.684] event4  - Microsoft Microsoft® 2.4GHz Transceiver v8.0 System Control: device removed
[4119445.659]  -> wl_display@1.get_registry(new id wl_registry@2)
[4119445.771]  -> wl_display@1.sync(new id wl_callback@3)
Failed to process Wayland connection: Broken pipe
failed to create display: Broken pipe
Someone more experienced with graphics and debian / ubuntu maybe able to help with the gnome / mutter issue, I essentially rsynecd the libmali drivers (with symlinks)

Code: Select all

sudo rsync -avh * /usr/lib/aarch64-linux-gnu/
I will go over some things and check.

Edit: here you can see the mali interrupts ticking away using weston:

Code: Select all

odroid@odroid:~$ sudo cat /proc/interrupts
[sudo] password for odroid:
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5
  1:          0          0          0          0          0          0     GICv2  25 Level     vgic
  3:      27114      15901      34074      24266      23311      21627     GICv2  30 Level     arch_timer
  4:          0          0          0          0          0          0     GICv2  27 Level     kvm guest vtimer
  6:       1091          0          0          0          0          0     GICv2  40 Level     eth0
  7:       5397          0          0          0          0          0     GICv2  89 Edge      dw_hdmi_top_irq, ff600000.hdmi-tx
 12:        206          0          0          0          0          0     GICv2 225 Edge      ttyAML0
 13:      33821          0          0          0          0          0     GICv2  35 Edge      meson
 15:       6180          0          0          0          0          0     GICv2 192 Level     ffe40000.gpu
 16:          5          0          0          0          0          0     GICv2 193 Level     ffe40000.gpu
 17:       9842          0          0          0          0          0     GICv2 194 Level     ffe40000.gpu
 18:       3753          0          0          0          0          0     GICv2 222 Edge      ffe05000.sd
 19:      31094          0          0          0          0          0     GICv2 223 Edge      ffe07000.mmc
 20:          0          0          0          0          0          0     GICv2  63 Level     ff400000.usb, ff400000.usb
 21:       8008          0          0          0          0          0     GICv2  62 Level     xhci-hcd:usb1
IPI0:     12946      34156      31005      33740      27567      28847       Rescheduling interrupts
IPI1:       136        245       1266       2865        802       1341       Function call interrupts
IPI2:         0          0          0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0          0          0       CPU stop (for crash dump) interrupts
IPI4:         0          0          0          0          0          0       Timer broadcast interrupts
IPI5:         1          0          0          0          0          0       IRQ work interrupts
IPI6:         0          0          0          0          0          0       CPU wake-up interrupts
Err:          0

User avatar
tobetter
Posts: 3679
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 28 times
Been thanked: 115 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by tobetter » Tue Mar 26, 2019 6:00 pm

@brad, could you point out the same the git repository that you are working on?

User avatar
odroid
Site Admin
Posts: 31351
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 50 times
Been thanked: 182 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by odroid » Tue Mar 26, 2019 6:05 pm

Thank you for the test results.

Because we are terribly busy these days for supporting the first N2 mass production, we can join the mainline kernel and wayland development party a couple of weeks later.
I hope GBM/Wayland experts like @memeka, @AreaScout and other devs will join this party soon. ;)

brad
Posts: 949
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2
Location: Australia
Has thanked: 11 times
Been thanked: 27 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Tue Mar 26, 2019 6:13 pm

tobetter wrote:
Tue Mar 26, 2019 6:00 pm
@brad, could you point out the same the git repository that you are working on?
@tobetter, yes its in gitlab https://gitlab.com/superna9999/linux/co ... /v5.1/g12b

Apart from a defconfig all that is needed is enabling the "CONFIG_MDIO_BUS_MUX_MESON_G12A" config option to get Ethernet.

User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 0
Been thanked: 12 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by memeka » Tue Mar 26, 2019 6:41 pm

That’s really good news.
I compiled 5.x today but my monitor didn’t work with it :(
Mutter is easy to fix, The quick workaround is to download the .so from https://oph.mdrjr.net/memeka/bionic/gbm_compat/ and put it in LD_PRELOAD

User avatar
tobetter
Posts: 3679
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 28 times
Been thanked: 115 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by tobetter » Tue Mar 26, 2019 6:44 pm

brad wrote:
Tue Mar 26, 2019 6:13 pm
tobetter wrote:
Tue Mar 26, 2019 6:00 pm
@brad, could you point out the same the git repository that you are working on?
@tobetter, yes its in gitlab https://gitlab.com/superna9999/linux/co ... /v5.1/g12b

Apart from a defconfig all that is needed is enabling the "CONFIG_MDIO_BUS_MUX_MESON_G12A" config option to get Ethernet.
Thanks, I have cloned the branch before last week and put into my build machine.
My initial test of the branch was not that working, but I will do sometime soon.

elatllat
Posts: 1354
Joined: Tue Sep 01, 2015 8:54 am
languages_spoken: english
ODROIDs: XU4, N1, N2
Has thanked: 5 times
Been thanked: 18 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by elatllat » Tue Mar 26, 2019 11:47 pm

Note that Neil pulled in ~12,000 (mostly bloat) commits on top of mainline before adding his own, so we should trim that down to a minimum before investing work in the branch to ease future maintenance.

User avatar
tobetter
Posts: 3679
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 28 times
Been thanked: 115 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by tobetter » Wed Mar 27, 2019 3:23 am

@brad, @elatliat, Thank you for the tips and I am able to boot with new kernel 5.0.0-rc8 from the branch of Neal Armstrong. I've set up the branch for my own here,
https://github.com/tobetter/linux/tree/ ... -odroid-n2
And using minimal boot.ini for the quick test,

Code: Select all

ODROIDN2-UBOOT-CONFIG
  
setenv devtype "mmc"
setenv devnum "0"
setenv partition "1"

setenv bootargs "console=ttyAML0,115200 root=/dev/mmcblk0p2 rw debug"

setenv fk_kvers "5.0.0-rc8-next-20190304-odroidn2-arm64+"
setenv fdtpath "dtb-${fk_kvers}"

load ${devtype} ${devnum}:${partition} ${kernel_addr_r} ${prefix}vmlinuz-${fk_kvers}
load ${devtype} ${devnum}:${partition} ${fdt_addr_r} ${prefix}${fdtpath}
echo "Booting Debian ${fk_kvers} from ${devtype} ${devnum}:${partition}..."
booti ${kernel_addr_r} - ${fdt_addr_r}
I am running Debian Buster and having an continuous error from systemd-journald like this and at the end the root file system /dev/mmcblk0p2 becomes read only file system. Let me check if this my my problem or the driver problem.

Code: Select all

[  794.321784] print_req_error: 2 callbacks suppressed
[  794.321790] print_req_error: I/O error, dev mmcblk0, sector 900240 flags 80700
[  794.611542] print_req_error: I/O error, dev mmcblk0, sector 900600 flags 80700
[  794.847796] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.852637] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.863394] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.873062] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.884510] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.893595] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.905069] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.914371] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.940864] print_req_error: I/O error, dev mmcblk0, sector 1000160 flags 80700
[  794.945243] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  794.952849] systemd-journald[1816]: Journal effective settings seal=yes compress=yes compress_threshold_bytes=512B
[  795.228678] print_req_error: I/O error, dev mmcblk0, sector 999856 flags 80700
[  795.229153] print_req_error: I/O error, dev mmcblk0, sector 905216 flags 80700
[  795.501561] print_req_error: I/O error, dev mmcblk0, sector 999424 flags 80700
[  795.776102] print_req_error: I/O error, dev mmcblk0, sector 1005568 flags 80700
[  796.036135] print_req_error: I/O error, dev mmcblk0, sector 1006384 flags 80700
Also let me check if Petitboot can manage dual boot for 4.9 and 5.0 kernel next week.

User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 0
Been thanked: 12 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by memeka » Wed Mar 27, 2019 5:18 am

@tobetter, there are missing the address definitions from your boot.ini

brad
Posts: 949
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2
Location: Australia
Has thanked: 11 times
Been thanked: 27 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Wed Mar 27, 2019 5:57 am

Here is a glmark-es2-wayland (no parameters passed) with an impressive score running from weston display manager

Code: Select all

=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-G52
    GL_VERSION:    OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
=======================================================
[build] use-vbo=false: FPS: 961 FrameTime: 1.041 ms
[build] use-vbo=true: FPS: 1592 FrameTime: 0.628 ms
[texture] texture-filter=nearest: FPS: 1491 FrameTime: 0.671 ms
[texture] texture-filter=linear: FPS: 1477 FrameTime: 0.677 ms
[texture] texture-filter=mipmap: FPS: 1524 FrameTime: 0.656 ms
[shading] shading=gouraud: FPS: 1151 FrameTime: 0.869 ms
[shading] shading=blinn-phong-inf: FPS: 1215 FrameTime: 0.823 ms
[shading] shading=phong: FPS: 1043 FrameTime: 0.959 ms
[shading] shading=cel: FPS: 1126 FrameTime: 0.888 ms
[bump] bump-render=high-poly: FPS: 514 FrameTime: 1.946 ms
[bump] bump-render=normals: FPS: 1976 FrameTime: 0.506 ms
[bump] bump-render=height: FPS: 1777 FrameTime: 0.563 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1139 FrameTime: 0.878 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 383 FrameTime: 2.611 ms
[pulsar] light=false:quads=5:texture=false: FPS: 2096 FrameTime: 0.477 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 389 FrameTime: 2.571 ms
[desktop] effect=shadow:windows=4: FPS: 788 FrameTime: 1.269 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 103 FrameTime: 9.709 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 129 FrameTime: 7.752 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 158 FrameTime: 6.329 ms
[ideas] speed=duration: FPS: 356 FrameTime: 2.809 ms
[jellyfish] <default>: FPS: 979 FrameTime: 1.021 ms
[terrain] <default>: FPS: 52 FrameTime: 19.231 ms
[shadow] <default>: FPS: 437 FrameTime: 2.288 ms
[refract] <default>: FPS: 88 FrameTime: 11.364 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 1769 FrameTime: 0.565 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1769 FrameTime: 0.565 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 1853 FrameTime: 0.540 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1783 FrameTime: 0.561 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1726 FrameTime: 0.579 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1715 FrameTime: 0.583 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1650 FrameTime: 0.606 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1728 FrameTime: 0.579 ms
=======================================================
                                  glmark2 Score: 1119
=======================================================

In regards to the kernel need to try out this branch which I will do later today - https://gitlab.com/superna9999/linux/co ... d-n2-integ

User avatar
tobetter
Posts: 3679
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 28 times
Been thanked: 115 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by tobetter » Wed Mar 27, 2019 8:22 am

memeka wrote:
Wed Mar 27, 2019 5:18 am
@tobetter, there are missing the address definitions from your boot.ini
@memeka, address definitions are already in U-boot env? :)

User avatar
tobetter
Posts: 3679
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 28 times
Been thanked: 115 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by tobetter » Wed Mar 27, 2019 8:41 am

brad wrote:Here is a glmark-es2-wayland (no parameters passed) with an impressive score running from weston display manager

Code: Select all

=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-G52
    GL_VERSION:    OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
=======================================================
[build] use-vbo=false: FPS: 961 FrameTime: 1.041 ms
[build] use-vbo=true: FPS: 1592 FrameTime: 0.628 ms
[texture] texture-filter=nearest: FPS: 1491 FrameTime: 0.671 ms
[texture] texture-filter=linear: FPS: 1477 FrameTime: 0.677 ms
[texture] texture-filter=mipmap: FPS: 1524 FrameTime: 0.656 ms
[shading] shading=gouraud: FPS: 1151 FrameTime: 0.869 ms
[shading] shading=blinn-phong-inf: FPS: 1215 FrameTime: 0.823 ms
[shading] shading=phong: FPS: 1043 FrameTime: 0.959 ms
[shading] shading=cel: FPS: 1126 FrameTime: 0.888 ms
[bump] bump-render=high-poly: FPS: 514 FrameTime: 1.946 ms
[bump] bump-render=normals: FPS: 1976 FrameTime: 0.506 ms
[bump] bump-render=height: FPS: 1777 FrameTime: 0.563 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1139 FrameTime: 0.878 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 383 FrameTime: 2.611 ms
[pulsar] light=false:quads=5:texture=false: FPS: 2096 FrameTime: 0.477 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 389 FrameTime: 2.571 ms
[desktop] effect=shadow:windows=4: FPS: 788 FrameTime: 1.269 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 103 FrameTime: 9.709 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 129 FrameTime: 7.752 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 158 FrameTime: 6.329 ms
[ideas] speed=duration: FPS: 356 FrameTime: 2.809 ms
[jellyfish] <default>: FPS: 979 FrameTime: 1.021 ms
[terrain] <default>: FPS: 52 FrameTime: 19.231 ms
[shadow] <default>: FPS: 437 FrameTime: 2.288 ms
[refract] <default>: FPS: 88 FrameTime: 11.364 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 1769 FrameTime: 0.565 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1769 FrameTime: 0.565 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 1853 FrameTime: 0.540 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1783 FrameTime: 0.561 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1726 FrameTime: 0.579 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1715 FrameTime: 0.583 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1650 FrameTime: 0.606 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1728 FrameTime: 0.579 ms
=======================================================
                                  glmark2 Score: 1119
=======================================================

In regards to the kernel need to try out this branch which I will do later today - https://gitlab.com/superna9999/linux/co ... d-n2-integ
Is this with Wayland Blobs uploaded by @odroid?

Tapatalk wishes you to have fun with ODROID.


User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 0
Been thanked: 12 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by memeka » Wed Mar 27, 2019 8:43 am

Yes I would assume so :)

User avatar
tobetter
Posts: 3679
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 28 times
Been thanked: 115 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by tobetter » Wed Mar 27, 2019 8:46 am

memeka wrote:Yes I would assume so :)
Indeed, I found the figure of the mali version in the log. :)

Tapatalk wishes you to have fun with ODROID.


phaseshifter
Posts: 3425
Joined: Fri May 08, 2015 9:12 am
languages_spoken: english
ODROIDs: U-2,U3+,,XU-3,,XU3-LITE,,XU-4
C1+,,C-2,,,
N-1,,N-2,...other odroid acc`s as well
Has thanked: 34 times
Been thanked: 37 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by phaseshifter » Wed Mar 27, 2019 10:27 am

i`ve never seen a score like this before
glmark2 Score: 1119
wow...!!!!!
Build It And They Will Come...Be Bold And Mighty Forces Will Come To Your Aid..!!!

brad
Posts: 949
Joined: Tue Mar 29, 2016 1:22 pm
languages_spoken: english
ODROIDs: C2 N1 N2
Location: Australia
Has thanked: 11 times
Been thanked: 27 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by brad » Wed Mar 27, 2019 10:30 am

tobetter wrote:
Wed Mar 27, 2019 8:46 am
memeka wrote:Yes I would assume so :)
Indeed, I found the figure of the mali version in the log. :)

Tapatalk wishes you to have fun with ODROID.
Yes all with the hardkernel libmali.so userspace. I will try to get gnome running later today. @memeka has been a great help so far :)

User avatar
AreaScout
Posts: 994
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 11 times
Been thanked: 26 times
Contact:

Re: Any plan for basic mainline linux support?

Unread post by AreaScout » Wed Mar 27, 2019 12:53 pm

    brad wrote: glmark2 Score: 1119
    wow, looks like eglSwapInterval is working ? aka vsync is off :)

    RG

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Wed Mar 27, 2019 2:04 pm

    Sorry it took me longer than usual, the 5.x kernel on N2 does not like my monitor :( so I had to use another one.
    @brad beat me to running Wayland on the N2 but I managed to get Gnome3 running first :)

    User avatar
    tobetter
    Posts: 3679
    Joined: Mon Feb 25, 2013 10:55 am
    languages_spoken: Korean, English
    ODROIDs: X, X2, U2, U3, XU3, C1
    Location: Paju, South Korea
    Has thanked: 28 times
    Been thanked: 115 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by tobetter » Wed Mar 27, 2019 2:10 pm

    @memeka @brad, cool... you guys are making me sweat to chasing you. :D
    By the way, I am wondering if there is no change of any package to play with Wayland blob.
    Could you please share a quick guide?

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Wed Mar 27, 2019 2:22 pm

    @tobetter - for gnome3, these are the changes in mutter: https://pastebin.com/iZDwk1yZ
    apply then rebuild mutter debs ;)

    crashoverride
    Posts: 4467
    Joined: Tue Dec 30, 2014 8:42 pm
    languages_spoken: english
    ODROIDs: C1
    Has thanked: 0
    Been thanked: 52 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by crashoverride » Wed Mar 27, 2019 2:27 pm

    Since its related to the Wayland discussion, I will mention that I am investigating backporting this to the 4.9 kernel:
    https://www.phoronix.com/scan.php?page= ... Over-FBDEV

    There are lots of kernel changes (I briefly discussed on IRC), so I do not yet know if I will be successful.

    User avatar
    tobetter
    Posts: 3679
    Joined: Mon Feb 25, 2013 10:55 am
    languages_spoken: Korean, English
    ODROIDs: X, X2, U2, U3, XU3, C1
    Location: Paju, South Korea
    Has thanked: 28 times
    Been thanked: 115 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by tobetter » Wed Mar 27, 2019 2:31 pm

    memeka wrote:
    Wed Mar 27, 2019 2:22 pm
    @tobetter - for gnome3, these are the changes in mutter: https://pastebin.com/iZDwk1yZ
    apply then rebuild mutter debs ;)
    I see, then I would put mutter into my build machine to package.
    What about 'lib*.so' from the tarball? Did you just replace them after all packages are installed?

    User avatar
    tobetter
    Posts: 3679
    Joined: Mon Feb 25, 2013 10:55 am
    languages_spoken: Korean, English
    ODROIDs: X, X2, U2, U3, XU3, C1
    Location: Paju, South Korea
    Has thanked: 28 times
    Been thanked: 115 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by tobetter » Wed Mar 27, 2019 2:36 pm

    crashoverride wrote:
    Wed Mar 27, 2019 2:27 pm
    Since its related to the Wayland discussion, I will mention that I am investigating backporting this to the 4.9 kernel:
    https://www.phoronix.com/scan.php?page= ... Over-FBDEV

    There are lots of kernel changes (I briefly discussed on IRC), so I do not yet know if I will be successful.
    I've spent some time to run Wayland on 4.9 branch, no luck for me due to lack of my capability. I was able to see Weston on Buildroot but not on Debian or Ubuntu, there would be some hacks which I've not discovered yet... :(
    Hope you succeed and share with us. :D

    miskol
    Posts: 222
    Joined: Wed Jan 15, 2014 2:58 am
    languages_spoken: english,slovak
    Has thanked: 0
    Been thanked: 5 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by miskol » Wed Mar 27, 2019 8:35 pm

    so next target ubuntu 19.04 with gnome 3.32
    I installed ubuntu 19.04 in vmware and it is much much better experience with gnome 3.32

    miskol
    Posts: 222
    Joined: Wed Jan 15, 2014 2:58 am
    languages_spoken: english,slovak
    Has thanked: 0
    Been thanked: 5 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by miskol » Wed Mar 27, 2019 11:14 pm

    @brad
    Can you do some benchmarks plz
    glmark has switch to run off-screen benchmarks
    so can you plz make some for 1080p and 4k
    thx

    miskol
    Posts: 222
    Joined: Wed Jan 15, 2014 2:58 am
    languages_spoken: english,slovak
    Has thanked: 0
    Been thanked: 5 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by miskol » Thu Mar 28, 2019 12:27 am


    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Thu Mar 28, 2019 3:56 pm

    tobetter wrote:
    Wed Mar 27, 2019 2:10 pm
    @memeka @brad, cool... you guys are making me sweat to chasing you. :D
    By the way, I am wondering if there is no change of any package to play with Wayland blob.
    Could you please share a quick guide?
    I had to slow down a little due to other commitments, but I will start with a new image and share the steps I take to build and install the kernel. (On a 64Gb emmc as I need some more space)

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Thu Mar 28, 2019 3:59 pm

    Just confirming the integ branch works, kernel version is not 5.1.0-rc1

    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Thu Mar 28, 2019 4:16 pm

    miskol wrote:
    Wed Mar 27, 2019 11:14 pm
    @brad
    Can you do some benchmarks plz
    glmark has switch to run off-screen benchmarks
    so can you plz make some for 1080p and 4k
    thx
    There may not be 100% accurate and were run in weston (its been up for almost 2 days now and segfaulted before I started logging the results and segfaulted after each of these tests. (usb hdd and display went to sleep and woke again which might have impacted something)

    Its hard to copy from HDMI console but I think have the exact commands I used

    $ glmark-es2-wayland --off-screen -s 4092x2160 2&> glmark_4k.log

    Code: Select all

    odroid@odroid:~$ cat glmark_4k.log
    =======================================================
        glmark2 2014.03+git20150611.fa71af2d
    =======================================================
        OpenGL Information
        GL_VENDOR:     ARM
        GL_RENDERER:   Mali-G52
        GL_VERSION:    OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
    =======================================================
    [build] use-vbo=false: FPS: 129 FrameTime: 7.752 ms
    [build] use-vbo=true: FPS: 149 FrameTime: 6.711 ms
    [texture] texture-filter=nearest: FPS: 139 FrameTime: 7.194 ms
    [texture] texture-filter=linear: FPS: 139 FrameTime: 7.194 ms
    [texture] texture-filter=mipmap: FPS: 140 FrameTime: 7.143 ms
    [shading] shading=gouraud: FPS: 139 FrameTime: 7.194 ms
    [shading] shading=blinn-phong-inf: FPS: 140 FrameTime: 7.143 ms
    [shading] shading=phong: FPS: 136 FrameTime: 7.353 ms
    [shading] shading=cel: FPS: 133 FrameTime: 7.519 ms
    [bump] bump-render=high-poly: FPS: 120 FrameTime: 8.333 ms
    [bump] bump-render=normals: FPS: 152 FrameTime: 6.579 ms
    [bump] bump-render=height: FPS: 150 FrameTime: 6.667 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 70 FrameTime: 14.286 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 23 FrameTime: 43.478 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 135 FrameTime: 7.407 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 30 FrameTime: 33.333 ms
    [desktop] effect=shadow:windows=4: FPS: 82 FrameTime: 12.195 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 81 FrameTime: 12.346 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 80 FrameTime: 12.500 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 86 FrameTime: 11.628 ms
    [ideas] speed=duration: FPS: 83 FrameTime: 12.048 ms
    [jellyfish] <default>: FPS: 100 FrameTime: 10.000 ms
    [terrain] <default>: FPS: 7 FrameTime: 142.857 ms
    [shadow] <default>: FPS: 24 FrameTime: 41.667 ms
    [refract] <default>: FPS: 14 FrameTime: 71.429 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 140 FrameTime: 7.143 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 139 FrameTime: 7.194 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 140 FrameTime: 7.143 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 141 FrameTime: 7.092 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 139 FrameTime: 7.194 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 140 FrameTime: 7.143 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 141 FrameTime: 7.092 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 140 FrameTime: 7.143 ms
    =======================================================
                                      glmark2 Score: 109
    =======================================================
    
    $ glmark-es2-wayland --off-screen -s 1920x1080 2&> glmark_1920_1080.log

    Code: Select all

    odroid@odroid:~$ cat glmark_1920_1080.log
    =======================================================
        glmark2 2014.03+git20150611.fa71af2d
    =======================================================
        OpenGL Information
        GL_VENDOR:     ARM
        GL_RENDERER:   Mali-G52
        GL_VERSION:    OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
    =======================================================
    [build] use-vbo=false: FPS: 360 FrameTime: 2.778 ms
    [build] use-vbo=true: FPS: 511 FrameTime: 1.957 ms
    [texture] texture-filter=nearest: FPS: 513 FrameTime: 1.949 ms
    [texture] texture-filter=linear: FPS: 521 FrameTime: 1.919 ms
    [texture] texture-filter=mipmap: FPS: 527 FrameTime: 1.898 ms
    [shading] shading=gouraud: FPS: 440 FrameTime: 2.273 ms
    [shading] shading=blinn-phong-inf: FPS: 446 FrameTime: 2.242 ms
    [shading] shading=phong: FPS: 423 FrameTime: 2.364 ms
    [shading] shading=cel: FPS: 420 FrameTime: 2.381 ms
    [bump] bump-render=high-poly: FPS: 301 FrameTime: 3.322 ms
    [bump] bump-render=normals: FPS: 578 FrameTime: 1.730 ms
    [bump] bump-render=height: FPS: 563 FrameTime: 1.776 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 293 FrameTime: 3.413 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 101 FrameTime: 9.901 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 535 FrameTime: 1.869 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 125 FrameTime: 8.000 ms
    [desktop] effect=shadow:windows=4: FPS: 319 FrameTime: 3.135 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 131 FrameTime: 7.634 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 132 FrameTime: 7.576 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 145 FrameTime: 6.897 ms
    [ideas] speed=duration: FPS: 198 FrameTime: 5.051 ms
    [jellyfish] <default>: FPS: 328 FrameTime: 3.049 ms
    [terrain] <default>: FPS: 24 FrameTime: 41.667 ms
    [shadow] <default>: FPS: 136 FrameTime: 7.353 ms
    [refract] <default>: FPS: 48 FrameTime: 20.833 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 496 FrameTime: 2.016 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 500 FrameTime: 2.000 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 498 FrameTime: 2.008 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 498 FrameTime: 2.008 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 498 FrameTime: 2.008 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 496 FrameTime: 2.016 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 495 FrameTime: 2.020 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 498 FrameTime: 2.008 ms
    =======================================================
                                      glmark2 Score: 366
    =======================================================
    

    miskol
    Posts: 222
    Joined: Wed Jan 15, 2014 2:58 am
    languages_spoken: english,slovak
    Has thanked: 0
    Been thanked: 5 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by miskol » Thu Mar 28, 2019 4:49 pm

    @memeka
    do you have final patch set for gnome 3.32 ??

    User avatar
    AreaScout
    Posts: 994
    Joined: Sun Jul 07, 2013 3:05 am
    languages_spoken: german, english
    ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
    N1, Go, VU5A, Show2, CloudShell2,
    H2, N2, VU7A, VuShell
    Has thanked: 11 times
    Been thanked: 26 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by AreaScout » Thu Mar 28, 2019 5:08 pm

    @brad

    Just add the fullscreen switch please, not windowed resolutions !

    RG

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Thu Mar 28, 2019 5:39 pm

    miskol wrote:
    Thu Mar 28, 2019 4:49 pm
    @memeka
    do you have final patch set for gnome 3.32 ??
    Of course :)
    Will wait for final Ubuntu version tho

    miskol
    Posts: 222
    Joined: Wed Jan 15, 2014 2:58 am
    languages_spoken: english,slovak
    Has thanked: 0
    Been thanked: 5 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by miskol » Thu Mar 28, 2019 7:11 pm

    memeka wrote:
    Thu Mar 28, 2019 5:39 pm
    miskol wrote:
    Thu Mar 28, 2019 4:49 pm
    @memeka
    do you have final patch set for gnome 3.32 ??
    Of course :)
    Will wait for final Ubuntu version tho
    Can you share??
    btw
    https://gitlab.com/superna9999/libmali/tree/master/src
    What do you think about this workaround for libgbm problem??

    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Thu Mar 28, 2019 7:22 pm

    AreaScout wrote:
    Thu Mar 28, 2019 5:08 pm
    @brad

    Just add the fullscreen switch please, not windowed resolutions !

    RG
    Its a bit better my fullscreen resolution is 1920x1080 :) and a reboot. Its actually something to see at this early stage ;)

    $ glmark-es2-wayland --fullscreen

    Code: Select all

    odroid@odroid:~$ cat glmark_fullscreen_1080p.log
    =======================================================
        glmark2 2014.03+git20150611.fa71af2d
    =======================================================
        OpenGL Information
        GL_VENDOR:     ARM
        GL_RENDERER:   Mali-G52
        GL_VERSION:    OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
    =======================================================
    [build] use-vbo=false: FPS: 680 FrameTime: 1.471 ms
    [build] use-vbo=true: FPS: 883 FrameTime: 1.133 ms
    [texture] texture-filter=nearest: FPS: 716 FrameTime: 1.397 ms
    [texture] texture-filter=linear: FPS: 800 FrameTime: 1.250 ms
    [texture] texture-filter=mipmap: FPS: 901 FrameTime: 1.110 ms
    [shading] shading=gouraud: FPS: 780 FrameTime: 1.282 ms
    [shading] shading=blinn-phong-inf: FPS: 831 FrameTime: 1.203 ms
    [shading] shading=phong: FPS: 766 FrameTime: 1.305 ms
    [shading] shading=cel: FPS: 787 FrameTime: 1.271 ms
    [bump] bump-render=high-poly: FPS: 448 FrameTime: 2.232 ms
    [bump] bump-render=normals: FPS: 934 FrameTime: 1.071 ms
    [bump] bump-render=height: FPS: 875 FrameTime: 1.143 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 270 FrameTime: 3.704 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 94 FrameTime: 10.638 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 694 FrameTime: 1.441 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 112 FrameTime: 8.929 ms
    [desktop] effect=shadow:windows=4: FPS: 306 FrameTime: 3.268 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 128 FrameTime: 7.812 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 91 FrameTime: 10.989 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 134 FrameTime: 7.463 ms
    [ideas] speed=duration: FPS: 270 FrameTime: 3.704 ms
    [jellyfish] <default>: FPS: 323 FrameTime: 3.096 ms
    [terrain] <default>: FPS: 22 FrameTime: 45.455 ms
    [shadow] <default>: FPS: 149 FrameTime: 6.711 ms
    [refract] <default>: FPS: 51 FrameTime: 19.608 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 578 FrameTime: 1.730 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 577 FrameTime: 1.733 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 575 FrameTime: 1.739 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 576 FrameTime: 1.736 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 567 FrameTime: 1.764 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 573 FrameTime: 1.745 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 580 FrameTime: 1.724 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 579 FrameTime: 1.727 ms
    =======================================================
                                      glmark2 Score: 504
    =======================================================
    

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Thu Mar 28, 2019 7:34 pm

    miskol wrote:
    Thu Mar 28, 2019 7:11 pm
    memeka wrote:
    Thu Mar 28, 2019 5:39 pm
    miskol wrote:
    Thu Mar 28, 2019 4:49 pm
    @memeka
    do you have final patch set for gnome 3.32 ??
    Of course :)
    Will wait for final Ubuntu version tho
    Can you share??
    btw
    https://gitlab.com/superna9999/libmali/tree/master/src
    What do you think about this workaround for libgbm problem??
    These are the changes for compiling mutter 3.32 on Ubuntu 18.04: https://pastebin.com/hpykqvk4
    For other OS/versions, you might not need the modifications for debian/* files...
    Most of the gbm functions in there I have implemented in my gbm_compat library too :P https://oph.mdrjr.net/memeka/bionic/gbm_compat/ -- see there :)
    And you can see them in my mutter 3.32 sources too :)

    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Thu Mar 28, 2019 7:46 pm

    AreaScout wrote:
    Tue Mar 26, 2019 2:45 am

    Cool, do you have a /dev/dri/card0 device ?

    RG
    @AreaScout yes but im not sure why so many fb's? Maybe 1 per test (I still see segfaults at the end)

    Code: Select all

    root@odroid:~# ls -l /dev/dri/card0
    crw-rw---- 1 root video 226, 0 Jan 28  2018 /dev/dri/card0
    root@odroid:~# cat /sys/kernel/debug/dri/0/framebuffer
    framebuffer[35]:
            allocated by = weston
            refcount=2
            format=XR24 little-endian (0x34325258)
            modifier=0x0
            size=1920x1080
            layers:
                    size[0]=1920x1080
                    pitch[0]=7680
                    offset[0]=0
                    obj[0]:
                            name=0
                            refcount=3
                            start=00100fda
                            size=8294400
                            imported=no
    framebuffer[40]:
            allocated by = weston
            refcount=1
            format=XR24 little-endian (0x34325258)
            modifier=0x0
            size=1920x1080
            layers:
                    size[0]=1920x1080
                    pitch[0]=7680
                    offset[0]=0
                    obj[0]:
                            name=0
                            refcount=3
                            start=001007f1
                            size=8294400
                            imported=no
    framebuffer[39]:
            allocated by = weston
            refcount=1
            format=AR24 little-endian (0x34325241)
            modifier=0x0
            size=64x64
            layers:
                    size[0]=64x64
                    pitch[0]=256
                    offset[0]=0
                    obj[0]:
                            name=0
                            refcount=3
                            start=001007ed
                            size=16384
                            imported=no
    framebuffer[37]:
            allocated by = weston
            refcount=1
            format=AR24 little-endian (0x34325241)
            modifier=0x0
            size=64x64
            layers:
                    size[0]=64x64
                    pitch[0]=256
                    offset[0]=0
                    obj[0]:
                            name=0
                            refcount=3
                            start=001007e9
                            size=16384
                            imported=no
    framebuffer[36]:
            allocated by = [fbcon]
            refcount=1
            format=XR24 little-endian (0x34325258)
            modifier=0x0
            size=1920x1080
            layers:
                    size[0]=1920x1080
                    pitch[0]=7680
                    offset[0]=0
                    obj[0]:
                            name=0
                            refcount=3
                            start=00100000
                            size=8294400
                            imported=no
    root@odroid:~# cat /sys/kernel/debug/dri/0/state
    plane[32]: meson_primary_plane
            crtc=meson_crtc
            fb=35
                    allocated by = weston
                    refcount=2
                    format=XR24 little-endian (0x34325258)
                    modifier=0x0
                    size=1920x1080
                    layers:
                            size[0]=1920x1080
                            pitch[0]=7680
                            offset[0]=0
                            obj[0]:
                                    name=0
                                    refcount=3
                                    start=00100fda
                                    size=8294400
                                    imported=no
            crtc-pos=1920x1080+0+0
            src-pos=1920.000000x1080.000000+0.000000+0.000000
            rotation=1
            normalized-zpos=0
            color-encoding=ITU-R BT.601 YCbCr
            color-range=YCbCr limited range
    plane[33]: meson_overlay_plane
            crtc=(null)
            fb=0
            crtc-pos=0x0+0+0
            src-pos=0.000000x0.000000+0.000000+0.000000
            rotation=1
            normalized-zpos=0
            color-encoding=ITU-R BT.601 YCbCr
            color-range=YCbCr limited range
    crtc[34]: meson_crtc
            enable=1
            active=0
            planes_changed=1
            mode_changed=0
            active_changed=1
            connectors_changed=0
            color_mgmt_changed=0
            plane_mask=1
            connector_mask=1
            encoder_mask=1
            mode: "1920x1080": 60 148500 1920 2008 2052 2200 1080 1084 1089 1125 0x48 0x5
    connector[31]: HDMI-A-1
            crtc=meson_crtc
    

    User avatar
    AreaScout
    Posts: 994
    Joined: Sun Jul 07, 2013 3:05 am
    languages_spoken: german, english
    ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
    N1, Go, VU5A, Show2, CloudShell2,
    H2, N2, VU7A, VuShell
    Has thanked: 11 times
    Been thanked: 26 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by AreaScout » Thu Mar 28, 2019 8:38 pm

    brad wrote:
    Thu Mar 28, 2019 7:22 pm
    Its a bit better my fullscreen resolution is 1920x1080 :) and a reboot. Its actually something to see at this early stage ;)

    $ glmark-es2-wayland --fullscreen

    Code: Select all

    odroid@odroid:~$ cat glmark_fullscreen_1080p.log
    =======================================================
        glmark2 2014.03+git20150611.fa71af2d
    =======================================================
        OpenGL Information
        GL_VENDOR:     ARM
        GL_RENDERER:   Mali-G52
        GL_VERSION:    OpenGL ES 3.2 v1.r16p0-01rel0.2943fc4ef9657d91ee32c9a58dec6cd2
    =======================================================
    [build] use-vbo=false: FPS: 680 FrameTime: 1.471 ms
    [build] use-vbo=true: FPS: 883 FrameTime: 1.133 ms
    [texture] texture-filter=nearest: FPS: 716 FrameTime: 1.397 ms
    [texture] texture-filter=linear: FPS: 800 FrameTime: 1.250 ms
    [texture] texture-filter=mipmap: FPS: 901 FrameTime: 1.110 ms
    [shading] shading=gouraud: FPS: 780 FrameTime: 1.282 ms
    [shading] shading=blinn-phong-inf: FPS: 831 FrameTime: 1.203 ms
    [shading] shading=phong: FPS: 766 FrameTime: 1.305 ms
    [shading] shading=cel: FPS: 787 FrameTime: 1.271 ms
    [bump] bump-render=high-poly: FPS: 448 FrameTime: 2.232 ms
    [bump] bump-render=normals: FPS: 934 FrameTime: 1.071 ms
    [bump] bump-render=height: FPS: 875 FrameTime: 1.143 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 270 FrameTime: 3.704 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 94 FrameTime: 10.638 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 694 FrameTime: 1.441 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 112 FrameTime: 8.929 ms
    [desktop] effect=shadow:windows=4: FPS: 306 FrameTime: 3.268 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 128 FrameTime: 7.812 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 91 FrameTime: 10.989 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 134 FrameTime: 7.463 ms
    [ideas] speed=duration: FPS: 270 FrameTime: 3.704 ms
    [jellyfish] <default>: FPS: 323 FrameTime: 3.096 ms
    [terrain] <default>: FPS: 22 FrameTime: 45.455 ms
    [shadow] <default>: FPS: 149 FrameTime: 6.711 ms
    [refract] <default>: FPS: 51 FrameTime: 19.608 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 578 FrameTime: 1.730 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 577 FrameTime: 1.733 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 575 FrameTime: 1.739 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 576 FrameTime: 1.736 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 567 FrameTime: 1.764 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 573 FrameTime: 1.745 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 580 FrameTime: 1.724 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 579 FrameTime: 1.727 ms
    =======================================================
                                      glmark2 Score: 504
    =======================================================
    
    Thank you, that's roughly 1/4 faster than XU4
    brad wrote:
    Thu Mar 28, 2019 7:46 pm
    @AreaScout yes but im not sure why so many fb's? Maybe 1 per test (I still see segfaults at the end)
    I am not sure either I don't know the DRM driver for AmLogic, if I would speculate I would say it's something like this https://www.phoronix.com/scan.php?page= ... Over-FBDEV
    it seems that each of this framebuffer holds a different color buffer i.e NV12, RGB, YUV + drm planes and what not

    RG

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Fri Mar 29, 2019 1:02 pm

    I've tried using Vulkan, but there's a segmentation fault in `vkCreateInstance` :(

    crashoverride
    Posts: 4467
    Joined: Tue Dec 30, 2014 8:42 pm
    languages_spoken: english
    ODROIDs: C1
    Has thanked: 0
    Been thanked: 52 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by crashoverride » Fri Mar 29, 2019 3:17 pm

    memeka wrote:
    Fri Mar 29, 2019 1:02 pm
    I've tried using Vulkan
    I used 'objdump' on the binaries and did not find any Vulkan symbols (vk*) present.

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Fri Mar 29, 2019 3:31 pm

    Did you try in libvulkan.so? :)

    crashoverride
    Posts: 4467
    Joined: Tue Dec 30, 2014 8:42 pm
    languages_spoken: english
    ODROIDs: C1
    Has thanked: 0
    Been thanked: 52 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by crashoverride » Fri Mar 29, 2019 3:50 pm

    memeka wrote:
    Fri Mar 29, 2019 3:31 pm
    Did you try in libvulkan.so?

    Code: Select all

    $ objdump -T libvulkan.so
    
    libvulkan.so:     file format elf64-littleaarch64
    
    DYNAMIC SYMBOL TABLE:
    00000000000005d0 l    d  .init	0000000000000000              .init
    0000000000010750 l    d  .jcr	0000000000000000              .jcr
    00000000000109f8 l    D  .bss	0000000000000000  Base        __bss_start__
    0000000000010a00 l    D  .bss	0000000000000000  Base        __end__
    0000000000010a00 l    D  .bss	0000000000000000  Base        __bss_end__
    00000000000109f8 l    D  .bss	0000000000000000  Base        __bss_start
    0000000000010a00 l    D  .bss	0000000000000000  Base        _bss_end__
    0000000000010a00 l    D  .bss	0000000000000000  Base        _end
    00000000000109f8 l    D  .data	0000000000000000  Base        _edata
    0000000000000000  w   D  *UND*	0000000000000000              __gmon_start__
    0000000000000000  w   D  *UND*	0000000000000000              _Jv_RegisterClasses
    000000000000072c g    DF .fini	0000000000000000  Base        _fini
    0000000000000000  w   DF *UND*	0000000000000000  GLIBC_2.17  __cxa_finalize
    0000000000000000  w   D  *UND*	0000000000000000              _ITM_deregisterTMCloneTable
    0000000000000000  w   D  *UND*	0000000000000000              _ITM_registerTMCloneTable
    00000000000005d0 g    DF .init	0000000000000000  Base        _init
    
    
    $ objdump -T libmali.so | grep vk.*
    
    $
    

    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Fri Mar 29, 2019 6:50 pm

    Here is my first quick attempt at documenting a native process to build and install a test Mainline kernel image in its most basic form for testing. There are many improvements that can be made but this is a start. Does not go into building mali kernel driver as yet but will add as I build further. Its missing network for the moment, I need to work out the issue here and update.

    Edit: These kernel config options are also need ethernet if booting without a ramdisk (uInitrd) like is example below

    Device Drivers > Network device support > <*> Amlogic G12a based MDIO bus multiplexer"
    Device Drivers > Network device support > Ethernet driver support nfrastructure > [*] STMicroelectronics devices
    Device Drivers > Network device support > Ethernet driver support nfrastructure > <*> STMicroelectronics 10/100/1000/EQOS Ethernet driver
    Device Drivers > Network device support > Ethernet driver support nfrastructure > <*> STMMAC Platform bus support
    Device Drivers > Network device support > Ethernet driver support nfrastructure > <*> Amlogic Meson dwmac support
    Device Drivers > Network device support > PHY Device support and infrastructure > <*> Realtek PHYs

    Code: Select all

    Mainline Kernel testing build and installation on the Odroid N2
    ===============================================================
    
    This has been written as a guide to assist in building and installing Mainline kernel on the Odroid N2.  It has been tested with Odroid N2 4Gb RAM version using orange emmc card.
    
    
    Preperation
    ===========
    
    All the preperation and build steps are done via an ssh connection but you can use HDMI console if you really want.
    
    1) Starting with the minimal hardkernel Ubuntu Bionic which can be found here https://wiki.odroid.com/odroid-n2/os_images/ubuntu/20190217
    2) Create a normal user account
    
    - Login as root user
    
    - Create a new account and setup permissions
    root@odroid:~# adduser odroid
    root@odroid:~# usermod -aG sudo odroid
    root@odroid:~# usermod -aG video odroid
    root@odroid:~# usermod -aG audio odroid
    root@odroid:~# usermod -aG tty odroid
    
    - Login to new account
    
    root@odroid:~# su - odroid
    
    - Ensure the system is fully up to date
    
    odroid@odroid:~$ sudo apt-get update
    odroid@odroid:~$ sudo apt-get upgrade
    odroid@odroid:~$ sudo apt-get dist-upgrade
    
    - Install some packages which we might need
    
    odroid@odroid:~$ sudo apt-get install libssl-dev libncurses5-dev bison flex bc rsync git bash-completion
    
    
    Kernel Build
    ============
    
    This is based on a very early proposed integration branch and can be found in Neil Armstrongs gitlab https://gitlab.com/superna9999/linux/-/archive/amlogic/v5.1/g12b-odroid-n2-integ/
    
    The following section assume you are logged in as a normal user account (as you created above), my example the odroid user
    
    
    Create a working directory
    --------------------------
    
    odroid@odroid:~$ mkdir working
    odroid@odroid:~$ cd working/
    
    Download the kernel source - (This is a very early integration release - always check for a later version which might be compatibile at this early stage)
    --------------------------
    
    odroid@odroid:~/working$ wget https://gitlab.com/superna9999/linux/-/archive/amlogic/v5.1/g12b-odroid-n2-integ/linux-amlogic-v5.1-g12b-odroid-n2-integ.zip
    
    
    Unpack the source and cd to build directory
    -------------------------------------------
    
    odroid@odroid:~/working$ unzip linux-amlogic-v5.1-g12b-odroid-n2-integ.zip
    odroid@odroid:~/working$ cd linux-amlogic-v5.1-g12b-odroid-n2-integ
    
    
    Make a default configuration
    ----------------------------
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ make defconfig
    
    Alter the default config to add MDIO support for Ethernet
    ---------------------------------------------------------
    
    There are many ways to do this but I am using make menuconfig and manually selecting the option.  You can add or remove features you might like but my testing was done with only the MDIO option enabled over the default config. 
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ make menuconfig
    
    Select the following options as built-in (*), exit and save.    (CONFIG_MDIO_BUS_MUX_MESON_G12A=y)
    
    Device Drivers  ---> Network device support  ---> <*>   Amlogic G12a based MDIO bus multiplexer
    Device Drivers > Network device support > Ethernet driver support nfrastructure >   [*]   STMicroelectronics devices
    Device Drivers > Network device support > Ethernet driver support nfrastructure >   <*>     STMicroelectronics 10/100/1000/EQOS Ethernet driver
    Device Drivers > Network device support > Ethernet driver support nfrastructure >   <*> STMMAC Platform bus support
    Device Drivers > Network device support > Ethernet driver support nfrastructure >   <*> Amlogic Meson dwmac support
    Device Drivers > Network device support > PHY Device support and infrastructure >  <*>   Realtek PHYs 
    
    
    Build the Kernel
    ----------------
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ make -j6
    
    
    Kernel install
    ==============
    
    NOTE:  Due to the differences in booting mainline kernel using the vendor uboot we have to make some significant changes to the boot method which will prevent boot of the standard hardkernel kernel.
    
    
    Install kernel modules
    ======================
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo make modules_install
    
    Install kernel headers (Optional)
    ======================
    
    This step may be needed if you plan to build other packages against the kernel
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo make headers_install
    
    Install the Kernel image
    ========================
    
    This step will install the new kernel image onto the fat partition of the disk (emmc card).  Asumming that it is mounted as /media/boot
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo mkimage -A arm64 -O linux -T kernel -C none -a 0x1080000 -e 0x1080000 -n 5.x -d arch/arm64/boot/Image /media/boot/uImage
    
    Install the device tree
    =======================
    
    This step will install the devicetree (dtb) onto the fat partition of the disk
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo cp arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtb /media/boot/
    
    Backup your default boot.ini file
    =================================
    
    To be able to revert to using the standard 4.9 hardkernel kernel we will backup the boot.ini file.  This file may be updated during ubuntu updates of your machine (you will be warning during the update) and it will revert
    to booting the standard hardkernel kernel.
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo cp  /media/boot/boot.ini /media/boot/boot.ini.hardkernel
    
    Edit boot.ini to allow mainline boot
    ====================================
    
    
    This is a very basic config to allow testing mainline kernel versions using the vendor uboot.  Edit your boot.ini file using your favorite editor and make it look like the below for emmc boot
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo vi /media/boot/boot.ini
    
    #------------------------------------------------------------------
    ODROIDN2-UBOOT-CONFIG
    
    # Set load addresses
    setenv dtb_loadaddr "0x1000000"
    setenv k_addr "0x1100000"
    setenv loadaddr "0x1B00000"
    setenv initrd_loadaddr "0x3700000"
    
    # Boot mainline kernel on emmc card
    setenv bootargs "console=ttyAML0,115200 root=/dev/mmcblk1p2 rw rootwait"
    fatload mmc 0:1 $dtb_loadaddr meson-g12b-odroid-n2.dtb
    fatload mmc 0:1 $loadaddr uimage
    bootm $loadaddr - $dtb_loadaddr
    #--------------------------------------------------------------------
    
    Sync the filesystem and reboot to mainline
    ==========================================
    
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo sync; sync; sync
    odroid@odroid:~/working/linux-amlogic-v5.1-g12b-odroid-n2-integ$ sudo shutdown now
    
    You will probably need your display connected at boot for HDMI
    Last edited by brad on Fri Mar 29, 2019 9:03 pm, edited 1 time in total.
    These users thanked the author brad for the post:
    xabolcs (Sun Apr 14, 2019 1:57 am)

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Fri Mar 29, 2019 8:59 pm

    I'll share mine as well :)

    Starting from the HK N2 mate/minimal image, and assuming build-essential, bc, flex, bison packages are installed:

    1. get linux kernel code:

    Code: Select all

    odroid@odroid:~$ git clone --depth 1 https://gitlab.com/superna9999/linux -b amlogic/v5.1/g12b-odroid-n2-integ
    
    2. get config:

    Code: Select all

    odroid@odroid:~$ cd linux
    odroid@odroid:~/linux$ wget https://pastebin.com/raw/KtVF8kqs -O .config
    odroid@odroid:~/linux$ touch .scmversion
    
    3. compile and install kernel and modules; build and install ramdisk

    Code: Select all

    odroid@odroid:~/linux$ make -j6
    odroid@odroid:~/linux$ sudo make modules_install
    odroid@odroid:~/linux$ sudo cp arch/arm64/boot/Image.gz /media/boot/
    odroid@odroid:~/linux$ sudo cp arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtb /media/boot/
    odroid@odroid:~/linux$ kver=`make kernelrelease`
    odroid@odroid:~/linux$ cd /boot
    odroid@odroid:/boot$ update-initramfs -c -k ${kver}
    odroid@odroid:/boot$ mkimage -A arm -O linux -T ramdisk -a 0x0 -e 0x0 -n initrd.img-${kver} -d initrd.img-${kver} uInitrd-${kver}
    odroid@odroid:/boot$ cp uInitrd-${kver} /media/boot/uInitrd
    
    4. make sure you got a correct boot.ini

    Code: Select all

    odroid@odroid:/boot$ cd /media/boot
    odroid@odroid:/media/boot$ sudo mv boot.ini boot.ini.original
    odroid@odroid:/media/boot$ sudo wget https://pastebin.com/raw/BBwFKH52 -O boot.ini
    
    BONUS:
    5. add ttyAML0 at the end of the file /etc/securetty to be able to login from serial console
    6. modify /etc/fstab to use /dev entries, e.g. for eMMC:

    Code: Select all

    /dev/mmcblk0p1 /media/boot vfat defaults 0 1
    /dev/mmcblk0p2 / ext4 errors=remount-ro,noatime 0 1
    
    For those interested in what the changes to boot.ini are:
    - different console settings
    - don't test display
    - different bootargs - here is setting rootfs to eMMC /dev/mmcblk0p2 - change to /dev/mmcblk1p2 for SD
    - change dtb name from meson64_odroidn2.dtb to meson-g12b-odroid-n2.dtb

    Code: Select all

    odroid@odroid:/media/boot$ diff boot.ini boot.ini.original
    4,6c4
    < ###setenv condev "console=ttyS0,115200n8"
    < setenv condev "console=ttyAML0,115200"
    < setenv rootfs "/dev/mmcblk0p2"
    ---
    > setenv condev "console=ttyS0,115200n8"   # on both
    88,89c86,87
    < ###if test "${display_autodetect}" = "true"; then hdmitx edid; fi
    < ###if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
    ---
    > if test "${display_autodetect}" = "true"; then hdmitx edid; fi
    > if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi
    92,93c90
    < ###setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} voutmode=${voutmode} ${cmode} disablehpd=${disablehpd} cvbscable=${cvbscable} overscan=${overscan}"
    < setenv bootargs "root=${rootfs} rootwait rw ${condev} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop"
    ---
    > setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait rw ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} voutmode=${voutmode} ${cmode} disablehpd=${disablehpd} cvbscable=${cvbscable} overscan=${overscan}"
    103c100
    < fatload mmc ${devno}:1 ${dtb_loadaddr} meson-g12b-odroid-n2.dtb
    ---
    > fatload mmc ${devno}:1 ${dtb_loadaddr} meson64_odroidn2.dtb
    
    Last edited by memeka on Fri Mar 29, 2019 9:04 pm, edited 1 time in total.
    These users thanked the author memeka for the post (total 2):
    xabolcs (Thu Apr 11, 2019 10:34 am) • armfreedom (Tue Jun 04, 2019 7:48 pm)

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Fri Mar 29, 2019 9:03 pm

    @crashoverride yes sorry, there's no vulkan stuff
    I had mistakenly used the wrong vulkan.so file :)

    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Sat Mar 30, 2019 12:17 pm

    memeka wrote:
    Wed Mar 27, 2019 2:22 pm
    @tobetter - for gnome3, these are the changes in mutter: https://pastebin.com/iZDwk1yZ
    apply then rebuild mutter debs ;)
    Great work, its nice having accelerated gnome. Tested and working well :)

    RussianNeuroMancer
    Posts: 5
    Joined: Sat Mar 30, 2019 1:43 pm
    languages_spoken: english
    Has thanked: 0
    Been thanked: 0
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by RussianNeuroMancer » Sat Mar 30, 2019 1:52 pm

    brad wrote:
    Sat Mar 30, 2019 12:17 pm
    memeka wrote:
    Wed Mar 27, 2019 2:22 pm
    @tobetter - for gnome3, these are the changes in mutter: https://pastebin.com/iZDwk1yZ
    apply then rebuild mutter debs ;)
    Great work, its nice having accelerated gnome. Tested and working well :)
    Did you manager to get it working with Ubuntu 19.04? Asking because Mutter 3.32 reported to be much, much faster than 3.28.

    brad
    Posts: 949
    Joined: Tue Mar 29, 2016 1:22 pm
    languages_spoken: english
    ODROIDs: C2 N1 N2
    Location: Australia
    Has thanked: 11 times
    Been thanked: 27 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by brad » Sat Mar 30, 2019 2:35 pm

    RussianNeuroMancer wrote:
    Sat Mar 30, 2019 1:52 pm
    brad wrote:
    Sat Mar 30, 2019 12:17 pm
    memeka wrote:
    Wed Mar 27, 2019 2:22 pm
    @tobetter - for gnome3, these are the changes in mutter: https://pastebin.com/iZDwk1yZ
    apply then rebuild mutter debs ;)
    Great work, its nice having accelerated gnome. Tested and working well :)
    Did you manager to get it working with Ubuntu 19.04? Asking because Mutter 3.32 reported to be much, much faster than 3.28.
    I have only tried 3.28.3 for the moment. I have also tried kde_wayland but it was failing to start correctly.

    It looks like it might be time to upgrade and do some testing on Ubuntu 19.04.

    Starting with update to cosmic

    User avatar
    memeka
    Posts: 4315
    Joined: Mon May 20, 2013 10:22 am
    languages_spoken: english
    ODROIDs: XU rev2 + eMMC + UART
    U3 + eMMC + IO Shield + UART
    Has thanked: 0
    Been thanked: 12 times
    Contact:

    Re: Any plan for basic mainline linux support?

    Unread post by memeka » Sat Mar 30, 2019 3:47 pm

    I am running 3.32 on the xu4, also with mali gpu.
    So it will work on n2 too.

    Post Reply

    Return to “General Topics”

    Who is online

    Users browsing this forum: No registered users and 2 guests