Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Bootable 64-bit RPi3 Gentoo image (OpenRC/Xfce/VC4) UPDATED
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 18, 19, 20  Next  
This topic is locked: you cannot edit posts or make replies.    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Fri Feb 16, 2018 12:40 pm    Post subject: Reply with quote

antonlacon,

So, I have built a 4.14 bcmrpi3_defconfig kernel based on the latest 4.14.y in raspberrypi's repo, and added a binary package and matching ebuild for it to the rpi3 overlay used on the gentoo-on-rpi3-64bit image. It boots, and HDMI video and sound works well. BT works, but at the moment WiFi doesn't (it is probably something simple, I haven't really looked into it properly yet). Ethernet works.

If you'd like to try it out on a modern copy of the image, just issue:
Code:
pi64 ~ # emaint sync --repo rpi3
pi64 ~ # echo '=sys-kernel/bcmrpi3-kernel-bin-4.14*' >> /etc/portage/package.unmask/bcmrpi3-kernel-bin

(I've masked the package for now). Then issue:
Code:
pi64 ~ # emerge -avu  sys-kernel/bcmrpi3-kernel-bin
(confirm when prompted)
pi64 ~ # sync && reboot
Incidentally, I had to drop the gcc compiler to 6.4.0-r1 (from 7.3.0) to get it to build. Again, need to look into this, probably some distcc issue.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43431
Location: 56N 3W

PostPosted: Fri Feb 16, 2018 12:49 pm    Post subject: Reply with quote

Sakaki,

I'm running the 4.15.y branch, stripped right down because I'm trying to build Rust.
Its bcmrpi3_defconfig does not have the right SDIO driver enabled for the WiFi.

When I added it the SDcard moved to card 1 from card 0. It took a while to spot that.

The wifi came up in ifconfig -a but I did not test operation.

I'm building Pi kernels with a gcc-7.3 cross compiler.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Fri Feb 16, 2018 1:18 pm    Post subject: Reply with quote

NeddySeagoon, thanks, that's interesting. Do you recall the config item you had to enable for WiFi? If so, I'll modify the build script to set it, and try 4.15 too.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43431
Location: 56N 3W

PostPosted: Fri Feb 16, 2018 5:30 pm    Post subject: Reply with quote

Sakaki,

It looks like I left my kernel in a mess. I have all three possibilities selected.

Code:
<*>   Support for the SDHost controller on BCM2708/9
<*>   SDHCI support for the BCM2835 & iProc SD/MMC Controller
<*>   Broadcom BCM2835 SDHOST MMC Controller support


From the help in Broadcom BCM2835 SDHOST MMC Controller support
Code:
  │ Note that the BCM2835 has two SD controllers: The Arasan                  │ 
  │ sdhci controller (supported by MMC_SDHCI_IPROC) and a custom              │ 
  │ sdhost controller (supported by this driver).
so I suspect that its the BCM2708/9 which is not required.

Look out for the SDCard moving.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Sun Feb 25, 2018 2:53 pm    Post subject: Reply with quote

NeddySeagoon,

following your suggestions, and a little trial and error, I've found that using the bcmrpi3_defconfig on the 4.14.21 kernel (current 4.14.y from https://github.com/raspberrypi/linux), and changing only:
Code:
CONFIG_MMC_SDHCI_IPROC=m
(unset by default) gets the WiFi working, but does not affect the SD card index number (so long as you modularize, rather than build in). Everything else on the 4.14 kernel seems at least as good as 4.10 (including VC4 support), so I'll make a binary package / ebuild for it shortly.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Sun Feb 25, 2018 7:58 pm    Post subject: Reply with quote

I've built another 4.14 bcmrpi3_defconfig kernel based on the latest 4.14.y in raspberrypi's repo, and added a binary package and matching ebuild for it to the rpi3 overlay used on the gentoo-on-rpi3-64bit image. This has CONFIG_MMC_SDHCI_IPROC=m set (in addition to the standard bcmrpi3_defconfig) and seems to work well, including WiFi now.

If you'd like to try it out on a modern copy of the image, just issue:
Code:
pi64 ~ # emaint sync --repo rpi3
pi64 ~ # echo '=sys-kernel/bcmrpi3-kernel-bin-4.14*' >> /etc/portage/package.unmask/bcmrpi3-kernel-bin

(I've masked the package for now). Then issue:
Code:
pi64 ~ # emerge -avu  sys-kernel/bcmrpi3-kernel-bin
(confirm when prompted)

If there are no issues reported over the next few weeks, I'll remove the mask and make the 4.14.y the new default kernel.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
orion777
Apprentice
Apprentice


Joined: 15 Mar 2017
Posts: 182
Location: Riga, Latvia

PostPosted: Thu Mar 15, 2018 10:46 am    Post subject: Reply with quote

Finally.. MPTCP seems working!
Probably patch was correctly applied as was discussed here.
NOTE that MPTCP works only with TCP (at least to me it does not works with ICMP packets from ping)
All discussion and final conclusion is here https://forums.gentoo.org/viewtopic-t-1076702.html
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Fri Mar 16, 2018 10:20 am    Post subject: Reply with quote

FYI, the CONFIG_MMC_SDHCI_IPROC=m change has now been merged into the official 4.14.y kernel config (so WiFi should work without SD card renumbering). I'll make a new release of the bcmrpi3_defconfig kernel next week, and remove the mask shortly thereafter.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
roylongbottom
n00b
n00b


Joined: 13 Feb 2017
Posts: 45
Location: Essex, UK

PostPosted: Wed Mar 21, 2018 8:54 pm    Post subject: Reply with quote

Raspberry Pi 3B+

I have just received a Raspberry Pi 3B+ and neither Raspbian nor 64 bit Gentoo would boot, both just displaying that rainbow coloured square. I found the solution for Raspbian, a sudo rpi-update. The problem was said to be due to /boot/bcm2710-rpi-3-b-plus.dtb missing in older Raspbian images.

Is there a solution for 64 bit Gentoo?
_________________
Regards

Roy
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Wed Mar 21, 2018 9:25 pm    Post subject: Reply with quote

roylongbottom,

working on a new release for the 3B+ now. I have it running locally, so shouldn't be too long. Will post here when available.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
antonlacon
Apprentice
Apprentice


Joined: 27 Jun 2004
Posts: 255

PostPosted: Fri Mar 23, 2018 7:36 pm    Post subject: Reply with quote

FYI, binutils-2.30 will fail at linking the arm64 kernel. Lots of "dangerous relocation: unsupported relocation" messages. Bug is: https://sourceware.org/bugzilla/show_bug.cgi?id=22764 and should be fixed in binutils' next point release.
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Fri Mar 23, 2018 7:40 pm    Post subject: Reply with quote

Raspberry Pi3B+ Heads Up

Hi, for those interested in getting 64-bit Gentoo running on the new 3B+ version of the RPi3, I thought I'd just post quickly what I've learned so far. I'm going to push an updated version of the gentoo-on-rpi3-64bit image soon, which will have all the necessary changes integrated, but here's the raw version...

First off, you need the latest firmware (bootcode.bin, start.elf etc.) from https://github.com/raspberrypi/firmware/tree/master/boot - without this, you'll be stuck at the rainbow square. It turns out you don't actually need the bcm2710-rpi-3-b-plus.dtb file - I modded the kernel makefiles to construct a 64-bit variant of this, but the boot-time code will intelligently update your existing 2710 dtb file anyway if it is missing (there is a note by Eben somewhere on line to that effect, but I can't find it again; nevertheless, it is an empirical fact you can boot the 3B+ with just the (64-bit) bcm2710-rpi3-3-b.dtb file in /boot).

vvv
Bluetooth works out of the box with the vanilla 64-bit 3B setup.
^^^ Edit: it turns out this is not, in fact, the case: please see my later post for an update about Bluetooth differences between the 3B and 3B+.

WiFi does not work immediately; there is a new dual-band chip (the Cypress CYW43455) and just as with the previous model, it needs an sdio.txt file to configure it. Put the following (copied from the latest Raspbian) into /lib/firmware/brcm/brcmfmac43455-sdio.txt:
Code:
# Cloned from bcm94345wlpagb_p2xx.txt
NVRAMRev=$Rev: 498373 $
sromrev=11
vendid=0x14e4
devid=0x43ab
manfid=0x2d0
prodid=0x06e4
#macaddr=00:90:4c:c5:12:38
macaddr=b8:27:eb:74:f2:6c
nocrc=1
boardtype=0x6e4
boardrev=0x1304

#XTAL 37.4MHz
xtalfreq=37400

btc_mode=1
#------------------------------------------------------
#boardflags: 5GHz eTR switch by default
#            2.4GHz eTR switch by default
#            bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
boardflags3=0x48200100
phycal_tempdelta=15
rxchain=1
txchain=1
aa2g=1
aa5g=1
tssipos5g=1
tssipos2g=1
femctrl=0
AvVmid_c0=1,165,2,100,2,100,2,100,2,100
pa2ga0=-129,6525,-718
pa2ga1=-149,4408,-601
pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
itrsw=1
pdoffsetcckma0=2
pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
pdoffset2g40ma0=16
pdoffset40ma0=0x8888
pdoffset80ma0=0x8888
extpagain5g=2
extpagain2g=2
tworangetssi2g=1
tworangetssi5g=1
# LTECX flags
# WCI2
ltecxmux=0
ltecxpadnum=0x0504
ltecxfnsel=0x22
ltecxgcigpio=0x32

maxp2ga0=80
ofdmlrbw202gpo=0x0022
dot11agofdmhrbw202gpo=0x4442
mcsbw202gpo=0x98444422
mcsbw402gpo=0x98444422
maxp5ga0=82,82,82,82
mcsbw205glpo=0xb9555000
mcsbw205gmpo=0xb9555000
mcsbw205ghpo=0xb9555000
mcsbw405glpo=0xb9555000
mcsbw405gmpo=0xb9555000
mcsbw405ghpo=0xb9555000
mcsbw805glpo=0xb9555000
mcsbw805gmpo=0xb9555000
mcsbw805ghpo=0xb9555000

swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3

vcodivmode=1
deadman_to=481500000

ed_thresh2g=-54
ed_thresh5g=-54
eu_edthresh2g=-54
eu_edthresh5g=-54
ldo1=4
rawtempsense=0x1ff
cckPwrIdxCorr=3
cckTssiDelay=150
ofdmTssiDelay=150
txpwr2gAdcScale=1
txpwr5gAdcScale=1
dot11b_opts=0x3aa85
cbfilttype=1
fdsslevel_ch11=6
Remember to set your regulatory domain with "iw reg set GB" (or whatever) since the 5GHz bands are quite variable by country.

The current 4.14.y branch kernel (4.14.27 at time of writing) in standard bcmrpi3_defconfig trim almost works, but is missing a configuration setting required for the new gigabit Ethernet adaptor (a LAN7515). Add:
Code:
CONFIG_USB_LAN78XX=y

to get it running (I didn't make up the naming! Inferred from Raspbian via "lsusb -t" followed by a kernel config diff).

And that's it! Everything seems reasonably stable. VC4 works as does on-demand frequency scaling etc. The 3B+ has a heat spreader and appears much less prone to thermal throttling under load, which is a good thing for us Gentoo users ^-^
_________________
Regards,

sakaki


Last edited by Sakaki on Wed May 16, 2018 6:26 pm; edited 1 time in total
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Wed Apr 04, 2018 2:04 am    Post subject: Reply with quote

Hello,

I've just posted a v1.2.1 release of my bootable 64-bit Gentoo image for the RPi3 on GitHub (here, includes full download instructions).

A changelog from the prior release image (with upgrade instructions) may be viewed here, but in summary:
  • Added support for the RPi3 Model B+ (the RPi3 Model B remains supported too). Further details of the changes required may be found in this post and on the main project page. Dual-band WiFi, (faster) Ethernet, Bluetooth etc. all work on the B+, so you should be able to seamlessly upgrade to the newer board, should you wish.
  • Migrated to kernel 4.14.y (shipped version: sys-kernel/bcmrpi3-kernel-bin-4.14.31.20180401); this is now the default branch of the RPi3 kernel tree, and is required for RPi3 B+ support. It boots fine on the RPi3 B too. VC4 and audio support is included.
  • Added the top-level package media-gfx/fotoxx-18.01.3 (a digital photo processing program).
  • Migrated to Firefox Quantum (www-client-firefox-58.0.1, plus the mandated dev-lang/rust-1.23.0-r1 and cargo-0.24.0); this should offer significantly faster browsing than the previous version.
  • Added a service to set the WiFi regulatory domain (net-wireless/rpi3-wifi-regdom); the shipped default is "GB", but you can edit the file /etc/conf.d/rpi3-wifi-regdom to change this.
  • Various minor ebuild tidy-ups.
  • All packages brought up-to-date against the Gentoo tree, as of 31 March 2018.

The binhost and rsync mirror have been frozen while I've been working on this release (about a month), but they are now back running on the regular one-week cadence. Apologies for any inconvenience ><
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
MarkG
Tux's lil' helper
Tux's lil' helper


Joined: 28 Apr 2002
Posts: 90
Location: Dorset, UK

PostPosted: Thu Apr 05, 2018 5:55 am    Post subject: Reply with quote

Thank you for posting the update, really useful. I'm looking to build a minimal system for the Pi3+, are there any details of the process you go through to build your system? Did you start with a 32bit system and "just" recompile everything for the 64bit? I've not been using Gentoo much in the last decade so its going to be a bit of a relearning curve.

Thanks again for your work.

MarkG
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Thu Apr 05, 2018 8:04 am    Post subject: Reply with quote

MarkG,

thanks for the feedback ^-^

NeddySeagoon has a really useful wiki page which covers building a 64-bit RPi3 system from scratch, here.

This is basically the process I followed originally, but then I added a number of OpenRC services etc. (details on the gentoo-on-rpi3-64bit page); the ebuilds for which live in this overlay. And I set up a custom profile to cover the various keywording, USE flags etc. needed to get a clean build (the profile files can be reviewed here).

Also, for the RPi3 B+, I needed to make some additional changes, covered in my post above.

To build I use a distcc system which offloads compilation to a crossdev toolchain on a PC; I have instructions for setting this up on the gentoo-on-rpi3-64bit wiki.

Once the system is built I have a custom script to "clean" it and prepare a vanilla image; that's not currently public but it is fairly mature now, so I may publish it at some stage.

Hope that helps, if you have any further questions or problems building up your own arm64 system from scratch just ask!

Edit: PS, since you say you're coming back to Gentoo after a bit of an absence, you may find this "background reading" section of my EFI install guide a useful refresher as regards Portage, ebuilds, Gentoo's configuration files etc. (the guide overall is for an x86_64 install, but this bit is applicable to all architectures).
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
roylongbottom
n00b
n00b


Joined: 13 Feb 2017
Posts: 45
Location: Essex, UK

PostPosted: Sun Apr 08, 2018 5:14 pm    Post subject: Reply with quote

Thanks Sakaki

I have produced a new Raspberry Pi 3B+ bootable Gentoo from your GitHub page. The only problem was it needed sudo su (Ubuntu 14) to copy the image to the SD card. I am now running my 64 bit benchmarks. It also booted on my original Pi 3. I needed to do this to explain peculiarities with certain programs.
_________________
Regards

Roy
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Sun Apr 08, 2018 6:00 pm    Post subject: Reply with quote

roylongbottom wrote:
The only problem was it needed sudo su (Ubuntu 14) to copy the image to the SD card.
Yes, I used a '#' prefix on those commands as a kind of shorthand that you might need to be root (or use sudo) when running them. I should have made that explicit. Will do so now.

PS one thing to note is that the current 64-bit kernel on the image does not set custom KBUILD_CFLAGS for the RPi3's architecture. Setting custom KBUILD_CFLAGS (see for example this post) can yield a small performance boost for certain software. If you like, I can compile up a binary kernel package targeted specifically at the RPi3's SoC (same flags should work for both the 3B and 3B+), you would then be able to install this and re-run your benchmarks, thereby hopefully isolating the effect of an optimized kernel. Changes would be limited to adding:
Code:
KBUILD_CFLAGS   += -march=armv8-a+crc
KBUILD_CFLAGS   += -mtune=cortex-a53
to the kernel Makefile.

I believe the OpenSUSE 64-bit kernel for the RPi3 may be optimized in this way (but I need to double check this).

For avoidance of doubt though, all userland libraries and executables on the gentoo-on-rpi3-64bit image are optimized for the RPi3 B/B+.
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
roylongbottom
n00b
n00b


Joined: 13 Feb 2017
Posts: 45
Location: Essex, UK

PostPosted: Tue Apr 10, 2018 11:00 am    Post subject: Reply with quote

Raspberry Pi 3B+ 32 Bit and 64 Bit Benchmark Results

Below is a summary of single core benchmark results on a Raspberry Pi 3B+ using 32 bit Raspbian and 64 bit Gentoo. Older model 3B results are also included for comparison purposes. These benchmarks measure processor speeds, including using some cached data, where, as expected, performance was proportional to CPU MHz of the two systems (subject to normal variations in running time of individual test functions). They are the first programs that set standards of performance for computers, from the 1970s and 1980s. Details and further results can be found in “Raspberry Pi 32 Bit and 64 Bit Benchmarks and Stress Tests.pdf” at ResearchGate:

https://www.researchgate.net/publication/319433633_Raspberry_Pi_32_Bit_and_64_Bit_Benchmarks_and_Stress_Tests?_iepl%5BviewId%5D=w3FaXcjGmjpJ52MUwtB7jYqY&_iepl%5Bcontexts%5D%5B0%5D=projectUpdatesLog&_iepl%5BtargetEntityId%5D=PB%3A319433633&_iepl%5BinteractionType%5D=publicationTitle

This also provides links to download the benchmarks and source codes, plus files relating to other types of systems and historic data (from ResearchGate or Archives). Reports include some for Android devices that might provide a clue to performance of future Raspberry Pi computers.


Whetstone Benchmark - overall rating in MWIPS and eight test functions with speed in MFLOPS or MOPS. RPi 3B+ speeds at 32 bits and 64 bits were essentially the same on some tests, with overall MWIPS 36% faster.

There is also a Java version, where initial comparisons indicated that the 3B+ was slower than the original, via Gentoo but not Raspbian. The problem is that, as with Android, there can be wide variations produced by each new release of Java. Booting the old RPi 3 from the new version of Gentoo produced the expected differences.

Code:
 Whetstone Benchmark

 32 Bit

 System          MHz  MWIPS  ------MFLOPS-------   ------------MOPS---------------
                               1      2      3     COS   EXP  FIXPT      IF  EQUAL

 RPi 3   v8-A53 1200  711.6  336.5  329.7  256.9  12.2   8.8 1498.5  1796.7 1198.7
 RPi 3B+ v8-A53 1400  829.9  392.7  384.6  299.8  14.2  10.2 1748.1  2095.8 1398.5

 Ratio          1.17   1.17   1.17   1.17   1.17  1.16  1.16   1.17    1.17   1.17

 Java

 Both Java 1,8.0_65

 RPi 3   v8-A53 1200  183.4  184.1  179.6   91.1  5.94  1.19  460.5    88.6  276.6
 RPi 3B+ v8-A53 1400  211.8  214.2  207.6  105.8  6.92  1.37  535.5   103.1  321.3 

 Ratio          1.17   1.15   1.16   1.16   1.16  1.16  1.15   1.16    1.16   1.16

 ==================================================================================

 64 Bit

 System          MHz  MWIPS  ------MFLOPS-------   ------------MOPS---------------
                               1      2      3     COS   EXP  FIXPT      IF  EQUAL

 RPi 3   v8-A53 1200 1022.9  327.6  346.3  282.1  20.3  12.6 1467.3  ###### 1166.4
 RPi 3B+ v8-A53 1400 1125.8  383.3  403.3  328.0  22.6  13.0 1705.8  ###### 1359.2

 Ratio          1.17   1.10   1.17   1.16   1.16  1.11  1.03   1.16           1.17
 3B+ 64/32 bit         1.36   0.98   1.05   1.09  1.59  1.27   0.98           0.97     

 Java

 Java 1.8.0_121, Linux 4.10.0

 RPi 3   v8-A53 1200  783.0  335.4  296.3  207.0  19.0  18.1  667.1   160.8   88.3

 Both Java 1.8.0_161, Linux 4.14.31

 RPi 3   v8-A53 1200  668.4  267.7  250.0  112.3  20.0  18.9  609.3   207.8   76.9
 RPi 3B+ v8-A53 1400  774.2  311.7  282.6  130.2  23.3  21.8  708.2   241.2   89.1

 Ratio          1.17   1.16   1.16   1.13   1.16  1.17  1.15   1.16    1.16   1.16


 ###### compiler optimiser produces 1 pass, this test does not affect MWIPS much



Dhrystone Benchmark - measures integer performance rating in VAX MIPS AKA DMIPS with MIPS/MHz often quoted but performance is highly dependent on the compiler used, some of which have been known to be designed to produce the highest rating. In this case, the 40% 64 bit improvement might not be really true.

Code:

 Dhrystone 2 Benchmark

 32 Bit

 System            MHz   VAX MIPS  MIPS/MHz

 RPi 3   v8-A53   1200     2469     2.06
 RPi 3B+ v8-A53   1400     2881     2.06

 Ratio            1.17     1.17

 ===========================================

 64 Bit

 System            MHz   VAX MIPS  MIPS/MHz

 RPi 3   v8-A53   1200     3475     2.90
 RPi 3B+ v8-A53   1400     4025     2.88

 Ratio            1.17     1.16
 3B+ 64/32 bit             1.40


Linpack Benchmark - This is the original implementation with a matrix of order 100 in double precision (DP), with performance measured in MFLOPS. In this case, a single precision (SP) version has been produced, also one using NEON intrinsic functions, with the same precision. With the 32 bit compiler, SP and DP speeds were similar, with NEON providing significant gains. At 64 bits, as expected with SIMD, SP was much faster than DP and similar to the NEON version. The ratio MFLOPS/MHz improved considerably.

Code:
 Linpack Benchmark

 32 Bit
                           ------ MFLOPS ----    --- MFLOPS/MHz --
 System            MHz     DP     SP  NEON SP    DP    SP  NEON SP

 RPi 3   v8-A53   1200    180    194    486    0.15   0.16   0.41
 RPi 3B+ v8-A53   1400    210    226    562    0.15   0.16   0.40

 Ratio            1.17   1.17   1.16   1.16

 ==================================================================

 64 Bit
                           ------ MFLOPS ----    --- MFLOPS/MHz --
 System            MHz     DP     SP  NEON SP    DP    SP  NEON SP

 RPi 3   v8-A53   1200    343    482    521   0.29   0.40   0.43
 RPi 3B+ v8-A53   1400    397    563    605   0.28   0.40   0.43

 Ratio            1.17   1.16   1.17   1.16
 3B+ 64/32 bit           1.89   2.49   1.08


Livermore Loops Benchmark - comprises 24 kernels from numeric applications, using double precision arithmetic. Various summary performance calculations are produced, the official average performance being geometric mean. Below are the summary speeds and the range of 3B+/3B and 64 bit/32 bit comparisons for the 24 test loops. {Note speeds of single loops can vary). The best overall Geomean of 285 MFLOPS, for one core, is nearly 24 times faster than the Cray 1 supercomputer, that cost $7 million (in 1978). See the following for other comparisons with Raspberry Pi 1.

https://www.webarchive.org.uk/wayback/archive/20131218132751/http://www.roylongbottom.org.uk/Raspberry%20Pi%20Benchmarks.htm#anchor7a

Code:
 Livermore Loops

 32 Bit SUmmary
                          -------------- DP MFLOPS -------------- Per MHz
 System            MHz    Maximum Average Geomean Harmean Minimum Geomean

 RPi 3   v8-A53   1200     398.4   210.6   185.9   160.2    56.5    0.15
 RPi 3B+ v8-A53   1400     462.5   243.8   215.2   185.7    65.6    0.15

 Ratio            1.17      1.16    1.16    1.16    1.16    1.16

 =======================================================================

 64 Bit Summary

 RPi 3   v8-A53   1200     627.3   275.7   246.8   219.2    90.6    0.21
 RPi 3B+ v8-A53   1400     737.3   320.2   285.0   250.8    94.4    0.20

 Ratio            1.17      1.18    1.16    1.15    1.14    1.04
 3B+ 64/32 bit              1.59    1.31    1.32    1.35    1.44

 =======================================================================

 32 Bit DP MFLOPS 24 Loops 3B+/3B Ratios 0.95 to 1.19, average 1.15

 64 Bit DP MFLOPS 24 Loops 3B+/3B Ratios 1.03 to 1.31, average 1.16

 3B+ 64 bit/32 bit                       1.00 to 2.83, average 1.40


_________________
Regards

Roy
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Tue Apr 10, 2018 3:55 pm    Post subject: Reply with quote

roylongbottom,

as always, many thanks for taking the time to produce these benchmarks, it's a really useful resource you've built up there ^-^

Per my earlier post, I have now gone ahead and created an RPi3 optimized binary kernel package. If you like, you can easily install it on your 64-bit Gentoo system (assuming you are running the current v1.2.1 of the gentoo-on-rpi3-64bit image (the one which boots on the 3B+)). To do so, on the rpi3 just become root, and issue:
Code:
pi64 ~ # emaint sync --repo rpi3
pi64 ~ # echo "=sys-kernel/bcmrpi3-kernel-bin-4.14.33.20180410" >> /etc/portage/package.unmask/bcmrpi3-kernel
pi64 ~ # emerge -v "=sys-kernel/bcmrpi3-kernel-bin-4.14.33.20180410"
(You can also perform these commands as demouser, if you prefix them with sudo)

When the last command in this sequence has completed (it should take around 10-15 minutes), reboot your RPi3 (B or B+).

Once restarted, you can verify that the optimized kernel is in place, by running "uname -r"; it should report "4.14.33-v8-d7a4ec8c9cb5+".

It would be interesting to know what effect (if any) running a platform-optimized kernel like this has on reported userland performance (i.e. your benchmarks).
In theory, it ought not to have much, but it'd be a nice thing to test, obviously only if you have time. As far as I can tell, there have been no other meaningful changes between the version of the kernel on the released image (4.14.31) and this optimized one (4.14.33), other than the fact that the latter has been built with optimized KBUILD_CFLAGS, so any comparisons should be reasonably scientific.

PS have you been able to determine whether the RPi3 B+ has any better thermal stability than the 3B, in light of its heat spreader?
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
orion777
Apprentice
Apprentice


Joined: 15 Mar 2017
Posts: 182
Location: Riga, Latvia

PostPosted: Tue Apr 10, 2018 5:10 pm    Post subject: Reply with quote

Good day!

I wish to install mavproxy, which is build on python https://github.com/ArduPilot/MAVProxy
Prior to start its install, I have to install:
pymavlink>=2.2.8
pyserial>=3.0
So I was trying to install pyserial 3.2, 3.3, but they depend on many additional packages and one of the package is missing from emerge list (eix shows nothing, but pyserial request it).

Could someone, please, try to run emerge -pv for any of 3.x version of the pyserial? I wish to know is it impossible to install pyserial on gentoo or exactly my rpi3 setup has some problems..
Thank you!
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Tue Apr 10, 2018 5:21 pm    Post subject: Reply with quote

orion777,

so, I've just emerged pyserial-3.4 on my RPi3 B+ buildserver, without issues or any additional deps required (the server is running the v1.2.1 of the gentoo-on-rpi3-64bit image), and uploaded the resulting tbz2 binary package to the binhost if that is of any use to you - please see https://isshoni.org/pi64pie/dev-python/?C=M;O=D
_________________
Regards,

sakaki
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 43431
Location: 56N 3W

PostPosted: Tue Apr 10, 2018 5:52 pm    Post subject: Reply with quote

orion777,

I can't find pymavlink in the repo.
(edit ... put that down to a senior moment)

pyserial-3.4 builds on arm64 for me but I have no idea how to test it.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
orion777
Apprentice
Apprentice


Joined: 15 Mar 2017
Posts: 182
Location: Riga, Latvia

PostPosted: Wed Apr 11, 2018 1:32 pm    Post subject: Reply with quote

So, I cant understand why I get message that dev-python/certifi-2017.11.5:0/0::gentoo is not awailable, but you gets everything works fine. My eix also reports that there are no dev-python/certifi-2017.11.5:0/0::gentoo
Code:
pi64 ~ # eix dev-python/certifi-2017.11.5:0/0::gentoo
No matches found
pi64 ~ # eix dev-python/certifi
[I] dev-python/certifi
     Available versions:  2016.9.26 (~)2017.1.23 2017.4.17 (~)2017.7.27.1
Back to top
View user's profile Send private message
Sakaki
Guru
Guru


Joined: 21 May 2014
Posts: 306

PostPosted: Wed Apr 11, 2018 1:47 pm    Post subject: Reply with quote

orion777,

looks like your Portage tree may be out of date?
Code:
pi64 ~ # eix dev-python/certifi
[I] dev-python/certifi
     Available versions:  2016.9.26 (~)2017.1.23 2017.4.17 (~)2017.7.27.1 (~)2017.11.5{tbz2} {PYTHON_TARGETS="pypy pypy3 python2_7 python3_4 python3_5 python3_6"}
     Installed versions:  2017.11.5{tbz2}(15:44:34 09/01/18)(PYTHON_TARGETS="python2_7 python3_5 -pypy -pypy3 -python3_4 -python3_6")
     Homepage:            http://certifi.io/ https://pypi.python.org/pypi/certifi
     Description:         Python package for providing Mozilla's CA Bundle

_________________
Regards,

sakaki
Back to top
View user's profile Send private message
orion777
Apprentice
Apprentice


Joined: 15 Mar 2017
Posts: 182
Location: Riga, Latvia

PostPosted: Thu Apr 12, 2018 5:42 am    Post subject: Reply with quote

emerge --sync and then eix --update?
Back to top
View user's profile Send private message
Display posts from previous:   
This topic is locked: you cannot edit posts or make replies.    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 18, 19, 20  Next
Page 11 of 20

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum