Discussion

LeMaker Guitar running LeMedia-The Family Multimedia Center

21 3924
tkaiser  
Vexelius replied at Wed Aug 19, 2015 12:34
Hello.

After reading your posts, I decided to make a small video to answer some of your questions ...

Thx a lot!
Just a suggestion: If you open an xterm and run 'top' inside you might get a clue what's responsible for choppy video output with 4K.
If the thumb drive is the bottleneck then you'll experience high 'I/O wait' values. In top's output it's the 'wa' value in the 3rd line -- would be even better to do a 'apt-get install sysstat' and then just run an 'iostat 5' in xterm since this lists I/O operations for the first available block devices and gives a summary with which tasks the CPU will be busy (and %iowait is an indication that it's waiting for I/O)

Also interesting: If CPU utilisation differs heavily between 720p and 1080p and maxes out while playing 4K then the CPU is the bottleneck (and most likely no HW acceleration happens)

tkaiser replied at Wed Aug 19, 2015 13:13
Thx a lot!
Just a suggestion: If you open an xterm and run 'top' inside you might get a clue wh ...

The 4K video now is only can support well under Android, at currently the 4K do not play well under Linux on Guitar.
Almost all 1080P is palyed very well. And I have aksed our Kodi engineer to list all the support formate out after he has tested all the functions.

tkaiser  
Edited by tkaiser at Wed Aug 19, 2015 23:09
tony_zhang replied at Wed Aug 19, 2015 20:59
...at currently the 4K do not play well under Linux on Guitar. Almost all 1080P is palyed very well...

Thx Tony, so this is a confirmation of my assumption "no HW acceleration happens"? The Guitar currently has to decode videos on its CPU cores when running in Linux?

cyryllo  
I try played 4k on Android but have only 5-6fps. Full HD work ok.

tkaiser replied at Wed Aug 19, 2015 23:08
Thx Tony, so this is a confirmation of my assumption "no HW acceleration happens"? The Guitar curre ...

The hardware accleration under Linux works. The GPU can decoding the 1080P or below.The 4K can not be supported by GPU at currently under Linux, the 4K can only support under Android.

I do not know if I express clear?

tony_zhang replied at Fri Aug 21, 2015 02:34
The hardware accleration under Linux works. The GPU can decoding the 1080P or below.The 4K can not ...

The 4K can not be support is because the GPU userspace now in Linux can not support 4K, only support 1080P or below.

tkaiser  
Edited by tkaiser at Fri Aug 21, 2015 04:33
tony_zhang replied at Fri Aug 21, 2015 02:38
The 4K can not be support is because the GPU userspace now in Linux can not support 4K, only suppo ...

Ok, I think this is still ok for applications like digital signage and something like that.

Maybe some of the reviewers consider testing stuff like consumption and heat in different situations (would be the very first thing I do when I test a new device: Using a powermeter and check the consumption when idle, when under full CPU load and when busy doing GPU stuff: in this case playing a 1080p video should be sufficient).

Still wonder whether the SoC has an internal temperature sensor which is exposed via sysfs and can be read out easily.

hnsncxy  
Edited by hnsncxy at Thu Oct 8, 2015 03:34
tkaiser replied at Fri Aug 21, 2015 04:27
Ok, I think this is still ok for applications like digital signage and something like that.

Maybe  ...
Still wonder whether the SoC has an internal temperature sensor which is exposed via sysfs and can be read out easily.

Hi,Thomas
We have writen the tutorial about viewing the temperature of the CPU, please visit the wiki at http://wiki.lemaker.org/How_to_read_the_CPU_temperature



tkaiser  
Edited by tkaiser at Thu Oct 8, 2015 04:02
hnsncxy replied at Thu Oct 8, 2015 03:32
Hi,Thomas
We have writen the tutorial about viewing the temperature of the CPU, please visit the w ...

Since you sent me a Guitar I was able to find that out within minutes: One of the first steps I took was:
  1. root@Lemuntu:~# find /sys -name "*temp*" | while read ; do echo "${REPLY}: $(cat ${REPLY})"; done
  2. /sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-hwmon.0/ic_temperature: 49822 mCel
  3. /sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-power.0/power_supply/battery/temp: 0
  4. /sys/devices/virtual/hwmon/hwmon1/temp1_input: 0
  5. /sys/devices/virtual/hwmon/hwmon2/temp1_crit: 60000
  6. /sys/devices/virtual/hwmon/hwmon2/temp1_input: 56000
  7. /sys/devices/virtual/thermal/thermal_zone0/temp: 0
  8. cat: /sys/devices/virtual/thermal/thermal_zone0/emul_temp: Permission denied
  9. /sys/devices/virtual/thermal/thermal_zone0/emul_temp:
  10. /sys/devices/virtual/thermal/thermal_zone1/temp: 55000
  11. cat: /sys/devices/virtual/thermal/thermal_zone1/emul_temp: Permission denied
  12. /sys/devices/virtual/thermal/thermal_zone1/emul_temp:
  13. /sys/devices/virtual/thermal/thermal_zone1/trip_point_0_temp: 60000
  14. /sys/devices/virtual/thermal/thermal_zone1/trip_point_1_temp: 70000
  15. /sys/devices/virtual/thermal/thermal_zone1/trip_point_2_temp: 80000
Copy the Code

No need for lm-sensors, the temperatures are available through sysfs. Also nice that you can adjust trip_point_n_temp through sysfs easily. Not so nice that the kernel you deliver currently does not support thermal throttling. So defining these values is useless.

While doing tests I already monitor relevant parameters:
  1. cd /sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-hwmon.0 && while true ; do echo "$(cat wall_current) $(cat wall_voltage) $(awk '{printf ("%0.0f",$1/1000); }' </sys/devices/virtual/thermal/thermal_zone1/temp)°C $(awk '{printf ("%0.1f",$1/1000); }' </sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-hwmon.0/ic_temperature) $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)" ; sleep 1; done
  2. 210 mA 4211 mV 71°C 58.8 1104000
  3. 208 mA 4204 mV 71°C 59.0 1104000
  4. 188 mA 4204 mV 69°C 58.8 1104000
  5. 184 mA 4233 mV 71°C 59.6 1104000
  6. 197 mA 4226 mV 72°C 59.6 1104000
  7. 172 mA 4218 mV 72°C 60.3 1104000
  8. 174 mA 4226 mV 71°C 61.5 1104000
  9. 136 mA 4248 mV 70°C 61.1 1104000
  10. 145 mA 4240 mV 69°C 61.1 1104000
  11. 143 mA 4233 mV 69°C 60.5 408000
  12. 155 mA 4233 mV 68°C 60.5 408000
  13. 120 mA 4240 mV 68°C 60.3 408000
Copy the Code
You should add the PMU's thermal sensor /sys/devices/b0170000.i2c/i2c-0/0-0065/atc2603c-hwmon.0/ic_temperature to your wiki page.


tkaiser  
Edited by tkaiser at Thu Oct 8, 2015 04:11

Update: At least trip_point_2_temp is working! I was able to define 80°C and when reaching this value the Guitar started an emergency shutdown:

  1. 186 mA 4211 mV 78°C 66.4 1104000
  2. 193 mA 4211 mV 80°C 66.4 1104000

  3. Message from syslogd@Lemuntu at Oct  8 09:57:57 ...
  4. kernel:[74601.156459] thermal thermal_zone1: critical temperature reached(80 C),shutting down
  5. Connection to 192.168.83.100 closed by remote host.
  6. Connection to 192.168.83.100 closed.
Copy the Code


So it's working partially and all you (as LeMaker) have to do is to enable thermal throttling in the kernel to prevent shutdowns.

You have to log in before you can reply Login | Sign Up

Points Rules