Thanks rookieone... I haven't had a chance to test it again, but that means should be able to remove that from the instructions
07-21-2017, 09:29 AM
(This post was last modified: 07-21-2017, 09:30 AM by ayufan.)
You may be interested in latest build that improves Mali integration:
- Makes to use mesa-egl if non-sunxidrm is used,
- Uses mali if sunxidrm is used,
- Properly packages libraries and uses ldconfig to configure system,
- Enables EGL backend for Chromium,
- Adds backlight controls.
https://github.com/ayufan-pine64/linux-b.../tag/0.7.5
(07-21-2017, 09:29 AM)ayufan Wrote: You may be interested in latest build that improves Mali integration:
- Makes to use mesa-egl if non-sunxidrm is used,
- Uses mali if sunxidrm is used,
- Properly packages libraries and uses ldconfig to configure system,
- Enables EGL backend for Chromium,
- Adds backlight controls.
https://github.com/ayufan-pine64/linux-b.../tag/0.7.5
First I disabled sunxidrm via the script, then updated via the 3 scripts to 0.7.5, and enabled sunxidrm again. After reboot I had a gl-mark2-es score around 95 again, and sound was working. After the next reboot, sound is gone. I think I had that before. Will try later a disable/enable again.
I've the LCD brightness panel applet, which can change the brightness now, when drm enabled, but when I drag it down, screen becomes black, and I can't seem to get brightness back up, even though I do not release pad button..
I also had an update of drm i think on a apt-get upgrade from your repository.
If there's any specific testing I can do, let me know, I am not a developper, but perhaps can do some more testing
Cheers!
rookieone, please check using 'groups' at a terminal to see if the pine64 user (or your username, if you added/changed the username) is in the 'audio' group. Also, have a look under System -> Hardware -> Sound, and see how many devices are listed on the hardware tab.
I'm not sure what is going on otherwise... I have just done a clean install of 0.7.5, enabled drm, rebooted several times, and sound is still working fine.
I can confirm the issue with being unable to get the screen brightness up if you have dragged it all the way down. On pre DRM builds, this was a issue if you took it all the way down to 0, unless you hadn't released the mouse, or had keyboard shortcuts mapped to increase/decrease the brightness. The LCD is still on, I can still see the image when shining a bright light onto it, but it is not responding to any brightness changes from the brightness applet of you have gone all the way to zero.
Suspend does not appear to work at all... LCD goes out, but the power light is still on, so it doesn't even make it all the way down.
glmark2-es2 scores are still good, and both pre and post DRM tests were working great on 0.7.5 I haven't checked the egl enable on chromium yet (just got home).
I only changed the System -> Preferences -> Look and Feel -> Windows option (un-ticking 'Enable software compositing window manager'), so changing the Marco window mange to 'no compositor' is not needed.
glmark2-es2-0.7.5-drm-disabled-windowed: 17
Code: libEGL warning: DRI2: failed to authenticate
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
glmark2 2014.03+git20150611.fa71af2d
=======================================================
OpenGL Information
GL_VENDOR: VMware, Inc.
GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits)
GL_VERSION: OpenGL ES 3.0 Mesa 12.0.6
=======================================================
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 24 FrameTime: 41.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 24 FrameTime: 41.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 28 FrameTime: 35.714 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 27 FrameTime: 37.037 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 26 FrameTime: 38.462 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 19 FrameTime: 52.632 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 18 FrameTime: 55.556 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 16 FrameTime: 62.500 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 16 FrameTime: 62.500 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 10 FrameTime: 100.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 30 FrameTime: 33.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 27 FrameTime: 37.037 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 22 FrameTime: 45.455 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 15 FrameTime: 66.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false: FPS: 25 FrameTime: 40.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 6 FrameTime: 166.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 14 FrameTime: 71.429 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 6 FrameTime: 166.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 10 FrameTime: 100.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 0 FrameTime: inf ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 1 FrameTime: 1000.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 23 FrameTime: 43.478 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 22 FrameTime: 45.455 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 23 FrameTime: 43.478 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 22 FrameTime: 45.455 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 21 FrameTime: 47.619 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 22 FrameTime: 45.455 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 22 FrameTime: 45.455 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 21 FrameTime: 47.619 ms
=======================================================
glmark2 Score: 17
=======================================================
real 6m24.380s
user 9m35.100s
sys 0m25.640s
glmark2-es2-0.7.5-drm-disabled-fullscreen: 10
Code: libEGL warning: DRI2: failed to authenticate
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
glmark2 2014.03+git20150611.fa71af2d
=======================================================
OpenGL Information
GL_VENDOR: VMware, Inc.
GL_RENDERER: Gallium 0.4 on llvmpipe (LLVM 3.8, 128 bits)
GL_VERSION: OpenGL ES 3.0 Mesa 12.0.6
=======================================================
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 14 FrameTime: 71.429 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 16 FrameTime: 62.500 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 15 FrameTime: 66.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 14 FrameTime: 71.429 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 10 FrameTime: 100.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 10 FrameTime: 100.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 7 FrameTime: 142.857 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 16 FrameTime: 62.500 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 15 FrameTime: 66.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 11 FrameTime: 90.909 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 7 FrameTime: 142.857 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 3 FrameTime: 333.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 6 FrameTime: 166.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 8 FrameTime: 125.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 8 FrameTime: 125.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 9 FrameTime: 111.111 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 3 FrameTime: 333.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 5 FrameTime: 200.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 0 FrameTime: inf ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 6 FrameTime: 166.667 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 1 FrameTime: 1000.000 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 14 FrameTime: 71.429 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 12 FrameTime: 83.333 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 13 FrameTime: 76.923 ms
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 12 FrameTime: 83.333 ms
=======================================================
glmark2 Score: 10
=======================================================
real 6m27.492s
user 9m2.910s
sys 0m29.850s
glmark2-es2-0.7.5-drm-enabled-windowed: 95
Code: =======================================================
glmark2 2014.03+git20150611.fa71af2d
=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali-400 MP
GL_VERSION: OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 118 FrameTime: 8.475 ms
[build] use-vbo=true: FPS: 120 FrameTime: 8.333 ms
[texture] texture-filter=nearest: FPS: 136 FrameTime: 7.353 ms
[texture] texture-filter=linear: FPS: 135 FrameTime: 7.407 ms
[texture] texture-filter=mipmap: FPS: 144 FrameTime: 6.944 ms
[shading] shading=gouraud: FPS: 99 FrameTime: 10.101 ms
[shading] shading=blinn-phong-inf: FPS: 100 FrameTime: 10.000 ms
[shading] shading=phong: FPS: 86 FrameTime: 11.628 ms
[shading] shading=cel: FPS: 80 FrameTime: 12.500 ms
[bump] bump-render=high-poly: FPS: 62 FrameTime: 16.129 ms
[bump] bump-render=normals: FPS: 145 FrameTime: 6.897 ms
[bump] bump-render=height: FPS: 130 FrameTime: 7.692 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 80 FrameTime: 12.500 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 48 FrameTime: 20.833 ms
[pulsar] light=false:quads=5:texture=false: FPS: 174 FrameTime: 5.747 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 34 FrameTime: 29.412 ms
[desktop] effect=shadow:windows=4: FPS: 83 FrameTime: 12.048 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 24 FrameTime: 41.667 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 36 FrameTime: 27.778 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 27 FrameTime: 37.037 ms
[ideas] speed=duration: FPS: 88 FrameTime: 11.364 ms
[jellyfish] <default>: FPS: 80 FrameTime: 12.500 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 80 FrameTime: 12.500 ms
[refract] <default>: FPS: 17 FrameTime: 58.824 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 149 FrameTime: 6.711 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 101 FrameTime: 9.901 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 149 FrameTime: 6.711 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 118 FrameTime: 8.475 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 86 FrameTime: 11.628 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 108 FrameTime: 9.259 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 108 FrameTime: 9.259 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 108 FrameTime: 9.259 ms
=======================================================
glmark2 Score: 95
=======================================================
[xcb] Unknown request in queue while appending request
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
glmark2-es2: ../../src/xcb_io.c:165: append_pending_request: Assertion `!xcb_xlib_unknown_req_pending' failed.
/home/pine64/Desktop/drm-enabled-tests: line 3: 2773 Aborted (core dumped) glmark2-es2
real 5m39.297s
user 0m54.740s
sys 0m19.550s
glmark2-es2-0.7.5-drm-enabled-fullscreen: 98
Code: =======================================================
glmark2 2014.03+git20150611.fa71af2d
=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali-400 MP
GL_VERSION: OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 124 FrameTime: 8.065 ms
[build] use-vbo=true: FPS: 126 FrameTime: 7.937 ms
[texture] texture-filter=nearest: FPS: 125 FrameTime: 8.000 ms
[texture] texture-filter=linear: FPS: 126 FrameTime: 7.937 ms
[texture] texture-filter=mipmap: FPS: 126 FrameTime: 7.937 ms
[shading] shading=gouraud: FPS: 126 FrameTime: 7.937 ms
[shading] shading=blinn-phong-inf: FPS: 126 FrameTime: 7.937 ms
[shading] shading=phong: FPS: 124 FrameTime: 8.065 ms
[shading] shading=cel: FPS: 110 FrameTime: 9.091 ms
[bump] bump-render=high-poly: FPS: 81 FrameTime: 12.346 ms
[bump] bump-render=normals: FPS: 126 FrameTime: 7.937 ms
[bump] bump-render=height: FPS: 126 FrameTime: 7.937 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 68 FrameTime: 14.706 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 30 FrameTime: 33.333 ms
[pulsar] light=false:quads=5:texture=false: FPS: 125 FrameTime: 8.000 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 22 FrameTime: 45.455 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: 29 FrameTime: 34.483 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 51 FrameTime: 19.608 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 34 FrameTime: 29.412 ms
[ideas] speed=duration: FPS: 119 FrameTime: 8.403 ms
[jellyfish] <default>: FPS: 87 FrameTime: 11.494 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 74 FrameTime: 13.514 ms
[refract] <default>: FPS: 16 FrameTime: 62.500 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 126 FrameTime: 7.937 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 114 FrameTime: 8.772 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 125 FrameTime: 8.000 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 126 FrameTime: 7.937 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 87 FrameTime: 11.494 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 126 FrameTime: 7.937 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 125 FrameTime: 8.000 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 125 FrameTime: 8.000 ms
=======================================================
glmark2 Score: 98
=======================================================
[xcb] Unknown request in queue while appending request
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
glmark2-es2: ../../src/xcb_io.c:165: append_pending_request: Assertion `!xcb_xlib_unknown_req_pending' failed.
/home/pine64/Desktop/drm-enabled-tests: line 5: 3819 Aborted (core dumped) glmark2-es2 --fullscreen
real 5m39.103s
user 1m8.980s
sys 0m24.040s
07-22-2017, 02:03 AM
Doh, somehow sound output had been set to sndhdmi...
(07-22-2017, 02:03 AM)rookieone Wrote: Doh, somehow sound output had been set to sndhdmi...
He he
Yeah, the output device being changed might be a bit of a problem... If I had to guess, I'd be thinking it might have changed if you plugged the HDMI in, but I don't think it does... Anyway, it looks like it is working for you now.
After some mindless trial and error I got Retroarch working
(07-22-2017, 07:26 PM)KryPtAlIvIaN Wrote: good work luke!
Will have some spare time on monday to keep testing. So far I only got it working on the Pinebook.
07-23-2017, 06:15 AM
(This post was last modified: 07-23-2017, 06:33 AM by Pushpike.
Edit Reason: spelling mistake
)
I have tried all the linux distros in pine64 wiki pages but none of them could satisfy my expectations. Finally I had to settle down to android even though I desperately wanted linux for my needs which I purchased this SBC for.
Accidentally I came across this thread... WOW this is so amazing....
Thank you Ayufan and all who contribited to make this OS a reality.
I have small problem. I cant play video in VLC or in the othrer player. Only audio is working, no video but a black screen.
Youtube videos are playing normally in chomium browser.
Please instruct me how to enable video in vlc.
Thank you.
|