Raspberry Pi 4

o problema da massa termica é não ser adesiva, a não ser que uses um dissipador que seja preso de alguma maneira a placa, tens sempre de usar os adesivos.
 
Boas, alguém com um Pi4 e uma ligação de 500Mbps/1Gbps podia instalar e correr um speedtest e dizer que velocidade ele consegue atingir.

Código:
sudo apt-get install gnupg1 apt-transport-https dirmngr
export INSTALL_KEY=379CE192D401AB61
# Ubuntu versions supported: xenial, bionic
# Debian versions supported: jessie, stretch, buster
export DEB_DISTRO=$(lsb_release -sc)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
echo "deb https://ookla.bintray.com/debian ${DEB_DISTRO} main" | sudo tee  /etc/apt/sources.list.d/speedtest.list
sudo apt-get update
# Other non-official binaries will conflict with Speedtest CLI
# Example how to remove using apt-get
# sudo apt-get remove speedtest-cli
sudo apt-get install speedtest
https://www.speedtest.net/apps/cli

Obg.


Já agora tb saiu a versão 1.2 que corrige o problema com alguns cabos/carregadores, com o comando 'cat /proc/cpuinfo' a versão nova é c03112, visualmente a posição do regulador de tensão do cartão MicroSD passou para a traseira do porta SD e na versão 1.1 estava ao lado.
 
Última edição:
Boas. O phoronix test suite tem agora um profile para testar a performance de um processador no Wireguard. Tive sempre a curiosidade de ver qual seria a performance teórica do Raspberry Pi numa VPN que não o OpenVPN. O OpenVPN já tem bottlenecks que cheguem e está muito dependente dos múltiplos parâmetros que lhe se podem passar.

O benchmark ao Wireguard só testa o processador. Não está dependente de qualquer ligação de rede que a máquina tenha. O benchmark usa o loopback para passar 10 GB em diversas condições.

Explicação do benchmark:
The way it works is it creates three namespaces. ns0 has a loopback device. ns1 and ns2 each have wireguard devices. Those two wireguard devices send traffic through the loopback device of ns0. The end result of this is that tests wind up testing encryption and decryption at the same time -- a pretty CPU and scheduler-heavy workflow.

Several tests are run:
- normal MTU: v4 over v4, tcp
- normal MTU: v4 over v6, tcp
- normal MTU: v6 over v4, tcp
- normal MTU: v6 over v6, tcp
- normal MTU: v4 over v4, udp
- normal MTU: v4 over v6, udp
- normal MTU: v6 over v4, udp
- normal MTU: v6 over v6, udp
- jumbo MTU: v4 over v4, tcp
- jumbo MTU: v4 over v6, tcp
- jumbo MTU: v6 over v4, tcp
- jumbo MTU: v6 over v6, tcp
- jumbo MTU: v4 over v4, udp
- jumbo MTU: v4 over v6, udp
- jumbo MTU: v6 over v4, udp
- jumbo MTU: v6 over v6, udp

Each of these tests transfers 10 gigabytes.

https://www.phoronix.com/scan.php?page=news_item&px=WireGuard-Benchmark

O resultado do benchmark é o tempo que demora em segundo. Quantos menos segundos, mais rápido é o processador.

Decidi testar o Rpi4 com outras máquinas que tenho com processadores low end. Além do ARM A72 do RPi4, testei este benchmark num Intel Celeron N2807, Intel Atom Z3735F, Intel Celeron 3865U (2 cores numa máquina virtual Hyper-V) e num Intel Core i3-8100 (2 cores numa máquina virtual Hyper-V).

Todas as máquinas estão com Ubuntu 20.04 Beta com os últimos updates feitos. O kernel é o 5.4, que não tem suporte nativo do Wireguard. O que o benchmark faz é fazer download do Wireguard, compila e faz o load do módulo no kernel com o DKMS.

Aqui ficam os resultados numa tabela:
VXQzZwm.png


E aqui ficam os resultados numa tabela:
yztfdls.png


Conclusão que retiro destes resultados:
  • A performance no Wireguard do RPi4 não é grande coisa. Ele não é muito mais rápido que um Intel Atom Z3735F, um processador feito para telemóveis lançado em 2014 e é mais rápido que o Intel Celeron N2807, mas além de também só ter sido lançado em 2014, tem metade dos cores. O ARM A72 também não é um processador muito recente e também é um processador pensado para o mercado móvel, mas foi lançado em 2016, 2 anos depois que estes 2 Atoms.
  • Em relação ao Intel Celeron 3865U, o A72 do RPi4 não fica longe deste processador que tem um TDP superior (15 W), mas este é um dos piores processadores x86 com este TDP e também não é um processador recente.
  • Comparado com um "Big core" x86, o i3-8100, mesmo sendo um processador bastante low end já quando foi lançado e só usando 2 cores numa VM, a nível de performance no Wireguard, destroi completamente o A72 no RPi4. Está num patamar completamente à parte. A unica parte negativa é que tem um TDP de 65W.

Logs dos testes:

RPi4:
Código:
System Information


  PROCESSOR:          ARMv8 Cortex-A72 @ 1.50GHz
    Core Count:       4
    Scaling Driver:   BCM2835 Freq ondemand

  GRAPHICS:

  MOTHERBOARD:        BCM2835 Raspberry Pi 4 Model B Rev 1.1

  MEMORY:             4096MB

  DISK:               128GB SH128
    File-System:      ext4
    Mount Options:    discard errors=remount-ro noatime nodiratime rw

  OPERATING SYSTEM:   Ubuntu 20.04
    Kernel:           5.4.0-1008-raspi (aarch64)
    Compiler:         GCC 9.3.0
    Security:         itlb_multihit: Not affected
                      + l1tf: Not affected
                      + mds: Not affected
                      + meltdown: Not affected
                      + spec_store_bypass: Vulnerable
                      + spectre_v1: Mitigation of __user pointer sanitization
                      + spectre_v2: Vulnerable
                      + tsx_async_abort: Not affected

Current Description: ARMv8 Cortex-A72 testing on Ubuntu 20.04 via the Phoronix Test Suite.

WireGuard + Linux Networking Stack Stress Test:
    system/wireguard-1.0.0
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 2 Minutes [17:35 UTC]
        Started Run 1 @ 17:34:02
        Started Run 2 @ 18:02:17
        Started Run 3 @ 18:31:01

    Test Results:
        1691.207
        1720.442
        1699.655

    Average: 1703.768 Seconds
    Deviation: 0.88%

Intel Celeron N2807:
Código:
System Information


  PROCESSOR:          Intel Celeron N2807 @ 2.17GHz
    Core Count:       2
    Extensions:       SSE 4.2 + RDRAND
    Cache Size:       1024 KB
    Microcode:        0x838
    Scaling Driver:   intel_pstate powersave

  GRAPHICS:           ECS Intel Atom Z36xxx/Z37xxx & Display
    Frequency:        750MHz

  MOTHERBOARD:        ECS BAT-MINI v1.0
    BIOS Version:     5.6.5
    Chipset:          Intel Atom Z36xxx/Z37xxx
    Network:          Realtek RTL8111/8168/8411

  MEMORY:             1 x 2048 MB DDR3-1066MT/s

  DISK:               63GB SEM64G
    File-System:      ext4
    Mount Options:    discard errors=remount-ro noatime nodiratime rw

  OPERATING SYSTEM:   Ubuntu 20.04
    Kernel:           5.4.0-25-generic (x86_64)                                                                                                                                                                                            
    Compiler:         GCC 9.3.0                                                                                                                                                                                                            
    Security:         itlb_multihit: Not affected                                                                                                                                                                                          
                      + l1tf: Not affected                                                                                                                                                                                                  
                      + mds: Mitigation of Clear buffers; SMT disabled                                                                                                                                                                      
                      + meltdown: Mitigation of PTI                                                                                                                                                                                        
                      + spec_store_bypass: Not affected                                                                                                                                                                                    
                      + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization                                                                                                                                  
                      + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RS                                                                                                                        B filling
                      + tsx_async_abort: Not affected

Current Description: Intel Celeron N2807 testing with a ECS BAT-MINI v1.0 (5.6.5 BIOS) and ECS Intel Atom Z36xxx/Z37xxx & Display on Ubuntu 20.04 via the Phoronix Test Suite.

WireGuard + Linux Networking Stack Stress Test:
    system/wireguard-1.0.0
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 2 Minutes [17:39 UTC]
        Started Run 1 @ 17:38:15
        Started Run 2 @ 18:19:23
        Started Run 3 @ 18:59:48

    Test Results:
        2464.558
        2421.051
        2456.173

    Average: 2447.261 Seconds
    Deviation: 0.94%

Intel Atom Z3735F:
Código:
System Information


  PROCESSOR:          Intel Atom Z3735F @ 1.83GHz
    Core Count:       4
    Extensions:       SSE 4.2 + RDRAND
    Cache Size:       1024 KB
    Microcode:        0x838
    Scaling Driver:   intel_pstate powersave

  GRAPHICS:           Zotac Intel Atom Z36xxx/Z37xxx & Display
    Frequency:        646MHz
    Monitor:          SyncMaster
    Screen:           1920x1080

  MOTHERBOARD:        ZOTAC ZBOX-PI320
    BIOS Version:     5.6.5
    Chipset:          Intel Atom Z36xxx/Z37xxx

  MEMORY:             1 x 2048 MB DDR3-1333MT/s

  DISK:               63GB MCG8GC
    File-System:      ext4
    Mount Options:    errors=remount-ro relatime rw

  OPERATING SYSTEM:   Ubuntu 20.04
    Kernel:           5.4.0-25-generic (x86_64)
    Compiler:         GCC 9.3.0
    Security:         itlb_multihit: Not affected
                      + l1tf: Not affected
                      + mds: Mitigation of Clear buffers; SMT disabled
                      + meltdown: Mitigation of PTI
                      + spec_store_bypass: Not affected
                      + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization
                      + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling
                      + tsx_async_abort: Not affected

Current Description: Intel Atom Z3735F testing with a ZOTAC ZBOX-PI320 (5.6.5 BIOS) and Zotac Intel Atom Z36xxx/Z37xxx & Display on Ubuntu 20.04 via the Phoronix Test Suite.

WireGuard + Linux Networking Stack Stress Test:
    system/wireguard-1.0.0
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      26 Minutes
    Estimated Time To Completion: 28 Minutes [20:19 UTC]
        Started Run 1 @ 19:52:46
        Started Run 2 @ 20:24:28
        The test quit with a non-zero exit status.
        Started Run 3 @ 20:24:33
        Started Run 4 @ 20:55:47 *

    Test Results:
        1898.531
        1870.069
        1875.559

    Average: 1881.386 Seconds
    Deviation: 0.80%

Intel Celeron 3865U:
Código:
System Information


  PROCESSOR:          Intel Celeron 3865U
    Core Count:       2
    Extensions:       SSE 4.2 + RDRAND + FSGSBASE
    Cache Size:       2048 KB
    Microcode:        0xffffffff

  GRAPHICS:           hyperv_fb
    Screen:           1152x864

  MOTHERBOARD:        Microsoft Virtual Machine
    BIOS Version:     Hyper-V UEFI v4.0

  MEMORY:             3968 MB + 128 MB

  DISK:               86GB Virtual Disk
    File-System:      ext4
    Mount Options:    relatime rw
    Disk Scheduler:   NONE

  OPERATING SYSTEM:   Ubuntu 20.04
    Kernel:           5.4.0-25-generic (x86_64)
    Compiler:         GCC 9.3.0
    System Layer:     microsoft
    Security:         itlb_multihit: KVM: Vulnerable
                      + l1tf: Mitigation of PTE Inversion
                      + mds: Mitigation of Clear buffers; SMT Host state unknown
                      + meltdown: Mitigation of PTI
                      + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp
                      + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization
                      + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling
                      + tsx_async_abort: Not affected

Current Description: microsoft testing on Ubuntu 20.04 via the Phoronix Test Suite.

WireGuard + Linux Networking Stack Stress Test:
    system/wireguard-1.0.0
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      26 Minutes
    Estimated Time To Completion: 28 Minutes [21:57 UTC]
        Started Run 1 @ 21:30:26
        Started Run 2 @ 21:52:15
        Started Run 3 @ 22:14:14

    Test Results:
        1304.537
        1315.361
        1352.104

    Average: 1324.001 Seconds
    Deviation: 1.88%

OpenSSL 1.1.1:
    pts/openssl-1.11.0
    Test 2 of 2
    Estimated Trial Run Count:    3
    Estimated Time To Completion: 2 Minutes [22:38 UTC]
        Started Run 1 @ 22:36:57
        Started Run 2 @ 22:37:21
        Started Run 3 @ 22:37:45

    RSA 4096-bit Performance:
        121.5
        128
        121.9

    Average: 123.8 Signs Per Second
    Deviation: 2.94%

Intel Core i3-8100:
Código:
System Information


  PROCESSOR:          Intel Core i3-8100
    Core Count:       2
    Extensions:       SSE 4.2 + AVX2 + AVX + RDRAND + FSGSBASE
    Cache Size:       6144 KB
    Microcode:        0xffffffff

  GRAPHICS:           hyperv_fb
    Screen:           1152x864

  MOTHERBOARD:        Microsoft Virtual Machine
    BIOS Version:     Hyper-V UEFI v4.0

  MEMORY:             3968 MB + 128 MB

  DISK:               86GB Virtual Disk
    File-System:      ext4
    Mount Options:    relatime rw
    Disk Scheduler:   NONE

  OPERATING SYSTEM:   Ubuntu 20.04
    Kernel:           5.4.0-25-generic (x86_64)
    Compiler:         GCC 9.3.0
    System Layer:     microsoft
    Security:         itlb_multihit: KVM: Vulnerable
                      + l1tf: Mitigation of PTE Inversion
                      + mds: Mitigation of Clear buffers; SMT Host state unknown
                      + meltdown: Mitigation of PTI
                      + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp
                      + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization
                      + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: disabled RSB filling
                      + tsx_async_abort: Not affected

Current Description: microsoft testing on Ubuntu 20.04 via the Phoronix Test Suite.

WireGuard + Linux Networking Stack Stress Test:
    system/wireguard-1.0.0
    Test 1 of 2
    Estimated Trial Run Count:    3
    Estimated Test Run-Time:      26 Minutes
    Estimated Time To Completion: 28 Minutes [20:44 UTC]
        Started Run 1 @ 20:17:09
        Started Run 2 @ 20:25:04
        Started Run 3 @ 20:32:05
        Started Run 4 @ 20:39:22 *
        Started Run 5 @ 20:46:26 *
        Started Run 6 @ 20:53:54 *
        Started Run 7 @ 21:01:08 *
        Started Run 8 @ 21:08:29 *
        Started Run 9 @ 21:15:33 *

    Test Results:
        470.838
        417.046
        433.315
        420.256
        443.355
        430.249
        436.996
        419.695
        433.111

    Average: 433.873 Seconds
    Deviation: 3.78%
    Samples: 9
 
Muito bom. 8 GB já dá mesmo para muita coisa. Agora até se vai conseguir correr aplicações Java. Qualquer dia até se vai conseguir compilar o Chromium num RPi. :D

Agora mais a sério, eles nas entrevistas, no lançamento, disseram que se a RAM continuasse a descer de preço, iriam fazer uma versão de 8 GB. Chegou o dia. :)
Para curiosidade, o limite de RAM do SOC do RPi é de 16 GB de RAM.

Até como servidor, 8 GB de RAM já é uma quantidade muito aceitável. Ainda à 2 dias via isto:
fsi7xxK.jpg


É uma enclosure para colocar 12 RPis em 3U de um bastidor.

Apesar de eles puder fazer boot por USB e PXE, acho que só falta haver forma de colocar um módulo eMMC na board ou o suporte futuro de SD Express.

Eu que tenho a versão de 4 GB, para mim esta é a melhor noticia de hoje:
Not to be left out, today we’ve released an early beta of our own 64-bit operating system image. This contains the same set of applications and the same desktop environment that you’ll find in our regular 32-bit image, but built against the Debian arm64 port.

Finalmente não vou tocar mais no Ubuntu, por causa dos 64 bit.
 
Uma pen USB daquelas pequeninas USB 3 deve ser um must.

Até tenho uma de 32 GB bem compacta e nem estou a usar... Comprei aquilo a pensar em uso em carros, mas com BT e spotify perdeu o sentido.

Pena que no Brasil como sempre é tudo muito caro.

@Nemesis11 porque raio é preciso 2 HDMI por RPI num mount de bastidor?
 
Muito boas as últimas novidades. 8 GB dá para muita coisa interessante.
Tenho um rpi4 de 4GB a ser usado no meu DonkeyCar "autonómo" a ser alimentado por um power bank.





Mas ando a ver se arranjo um Jetson Nano, para ver se dá para fazer coisas mais engraçadas.
 
Última edição:
Será que este de 8GB dará para um Emby Server caseiro?

Eu não conheço o Emby, mas fui ver e é um media server. Acho que não é algo que devesse precisar de muita RAM, mas reparei que é feito em C#.
Eles têm uma página com "System Requirements".

Minimum Requirements — no transcoding

At least 512MB RAM for Linux

Recommended Configuration — transcoding HD Content:

At least 2GB RAM
https://support.emby.media/support/solutions/articles/44001159036-system-requirements

Sem transcoding, deve ser banal correr este Emby no RPi4, se calhar até na versão de 1 GB de RAM, a acreditar nos requirements por eles publicados.
Com transcoding, a versão de 4 e 8 GB não devem ter problemas, também a acreditar na página.

NOTA: Não faço ideia como é que o CPU e GPU do Rpi4 se comportam, a nível de performance, neste Emby, especialmente em transcoding, mas esse ponto é igual a todas as versões.
 
Back
Topo