It's official: Raspberry Pi goes 64-bit

  Рет қаралды 492,837

Jeff Geerling

2 жыл бұрын

Raspberry Pi just announced the 64-bit OS build is officially supported. But why should you run the 64-bit OS instead of the traditional 32-bit OS?
Track Pi availability here: rpilocator.com
Support me on Patreon: www.patreon.com/geerlingguy
Sponsor me on GitHub: github.com/sponsors/geerlingguy
Merch: redshirtjeff.com
#RaspberryPi #Linux #ARM
Contents:
00:00 - Pi OS goes 64-bit
01:30 - RAM / Memory
03:34 - Software compatibility
04:34 - Performance
05:35 - Growing pains
06:19 - Who should run it?

Пікірлер: 750
@HALDikopter
@HALDikopter 2 жыл бұрын
I was distracted big time during the video, trying hard to read what the shirt says. I put it here so you don't have to: DNS is the root of all problems.
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Haha sorry about that :D
@maledetto1221
@maledetto1221 2 жыл бұрын
Not all heroes wear capes
@DerekBlair0X40
@DerekBlair0X40 2 жыл бұрын
Thank you. This was the whole reason I came to the comments. It was driving me up the wall.
@Cheerok
@Cheerok 2 жыл бұрын
Thanks for ... resolving it.
@cliffmathew
@cliffmathew 2 жыл бұрын
Thanks. Google search of the visible part helped me -- and then I saw your comment. :-D
@Ziggurat1
@Ziggurat1 2 жыл бұрын
Finally, someone who knows what they are talking about who summarized this topic of 32bit VS 64bit on low performing computers
@JeffGeerling
@JeffGeerling 2 жыл бұрын
I had flashbacks to when X86_64/AMD64 was becoming a thing, and deciding whether to switch my 256MB and 512MB RAM VPSes over or not. The RAM concerns were quite real!
@dddd6606
@dddd6606 2 жыл бұрын
Many videogames for Macs were compiled as 32bit due to that. Then when Apple decided to stop supporting 32bit 70% of them became unplayable. I'm still mad to this day.
@Omikronik
@Omikronik 2 жыл бұрын
@@dddd6606 its not just 32bit support that killed gaming on mac sadly, they also stopped supporting OpenGl graphics API in favour of their proprietary Metal API which also caused a heavy hit on gaming.
@amirpourghoureiyan1637
@amirpourghoureiyan1637 2 жыл бұрын
@@dddd6606 Never really made sense why they used 32 bit x86 in the first place, x86_64 had been out for a couple years and was perfectly fine to start from. They were already switching from PPC anyways and could've saved everyone from the dilemma.
@ssquirrel88
@ssquirrel88 2 жыл бұрын
Bingo.
@PRAGEETHKARUNADHEERA
@PRAGEETHKARUNADHEERA 2 жыл бұрын
Jeff, thanks for the informative video for everyone. You rock! I was running 64-bit kernel on CM4 since the first day I set up my home-made NAS. I went for the minimul option - Arch Linux ARM. It might be not for everyone, but you had the option to have a 64-bit kernel for quite some time now. Had to copy some firmware manually from Manjaro build into the /boot, to get it to boot though. However this thing handles Docker, TimescaleDB, Grafana, Mosquitto and Gerbera day and night without a hiccup. Load average stays well below 1 at ~.5
@charlessmalley9278
@charlessmalley9278 2 жыл бұрын
I never really needed more than 512mb of RAM, and never really cared up until like last week when I have been loading some simple webpages, and I cant load anything other than google search. So, I agree with you Mr. Geerling, the Pi Zero 2 should have a full gig of RAM.
@virtualtools_3021
@virtualtools_3021 2 жыл бұрын
I was able to do a lot more (up to Google docs, although it was pretty slow) on 512mb RAM with a Pentium 4 based Celeron with mechanical hdd! do you have a pagefile?
@CallousCoder
@CallousCoder 2 жыл бұрын
This is what I hate about today's software and web technology! It's so inefficient in every which way you look at it. Latency because of using stupid HTTP and webservers. Memory usage because of overly complex web pages. 512MB should need to be enough. We ran 1000s of requests on such a system in the late 90s! It was considered a beast! Now with the terrible browsers, interpreted languages and web, it's useless.
@fmlazar
@fmlazar 2 жыл бұрын
@@CallousCoder Feature creep and the attending baggage that brings with it. Not everyone is going to be content to stay with web sites that never left the late 1980's. Streaming Video alone kicks that tech into the dustbin.
@CallousCoder
@CallousCoder 2 жыл бұрын
@@fmlazar Actually rtsp is a far better and leaner solution than streaming video over HTTP(S). And you could use a plugin that was lean. And it being UDP meant you could also broadcast it in the same broadcast domain and save bandwidth. Memory usage and speed are still an important factor, that the developers these days don't seem to understand. And we achieve less with infinitely faster hardware :D
@hubertnnn
@hubertnnn 2 жыл бұрын
@@CallousCoder Its the paradox of easy programming. The easier it is to program in certain language the less mistakes professionals make and the better software made by them is. But at the same time more beginners make software with those languages and this software is usually crap. A good example is electron that allows you to run full desktop applications written in JS. Except over 90% of electron applications is wasting resources and has serious memory leaks. And big companies are not free from issues either. Twitch running in a browser is using about ~40% of CPU all the time when you watch a stream (tested both on FF and chrome). While twitch extension for Kodi that does exactly the same, except it is written in different language, is using only 1% CPU.
@keithmiller9665
@keithmiller9665 2 жыл бұрын
Yep, I am definitely pleased with the move to official 64bit support as I use ffmpeg for encoding. It gives me a supported option to rival Ubuntu 21.10. Basically I find 64 bit ffmpeg is better supported and more current than the 32 bit versions. Now to go and update my beta 64 bit to the supported version. Thanks
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Faster, too! (At least in my H.264 encoding benchmarks)
@povilasstaniulis9484
@povilasstaniulis9484 2 жыл бұрын
Did the fix hardware encoding under 64-bit systems ? 64-bit won't give you much benefit for encoding as even the Pi 4 does not have enough grunt for software transcoding and OMX works just file for both encoding and decoding on the 32-bit. I can do live MJPEG to H.264 with sound at 720p30 with less than 25% CPU usage on the Pi 3.
@mickelodiansurname9578
@mickelodiansurname9578 2 жыл бұрын
Its been a while in the pipeline alright... either the pi was going to become history OR 64 bit OS would happen was my slant on the whole thing. Thankfully the guys at the Pi Foundation were likely very well aware of that!
@maxmustsleep
@maxmustsleep 2 жыл бұрын
Awesome! I had issues not being able to run a few applications and I'm excited to see this development
@sortofsmarter
@sortofsmarter 2 жыл бұрын
I so appreciate all you do on your channel. Its a lot of time and research and you keep It simple and entertaining all in one... thanks for all your good advice
@sams5803
@sams5803 2 жыл бұрын
Jeff I love you so much! Thank you for doing this stuff. You literally made me come back to tinkering and learning!
@ninline2000
@ninline2000 2 жыл бұрын
I've been running the 64bit beta for well over a year now. It's been very stable and snappy. Using Handbrake to transcode video is about 10% faster on 64bit versus 32bit.
@ombob3905
@ombob3905 2 жыл бұрын
how is performance handbrake in Pi?
@flowerpt
@flowerpt 2 жыл бұрын
Helpful, thanks.
@rajivb9493
@rajivb9493 2 жыл бұрын
That is because of Advanced SIMD optimization with ARMv8 256-bit registers doing vectorized operations on 64-bit OS compared to 128-bit ARMv7 registers on 32-bit OS...
@NickCraigWood
@NickCraigWood 2 жыл бұрын
Great video thanks Jeff. I've been running 64 bit on my ham radio pi (8GB Pi4) for a while and it works very well. A small clarification for the video: On 32 bit ARM the raspberry pi kernel uses 1GB of address space so the max RAM a process can have is actually 3GB not 4GB.
@Ivan-pr7ku
@Ivan-pr7ku 2 жыл бұрын
Even if you don't have a use case for more than 4GB RAM, running in 64-bit mode provides much larger virtual address space that minimizes pointer fragmentation (performance benefit) and allows for much more efficient address randomization for improved security.
@steven21736
@steven21736 2 жыл бұрын
Improved security?
@polocatfan
@polocatfan 2 жыл бұрын
doesn't the 32bit version of pi OS have a hacky way of allowing more than 4GB or was that removed since now 64bit is officially supported?
@igordasunddas3377
@igordasunddas3377 2 жыл бұрын
I've been waiting for your take on it! Thanks!
@thejedijohn
@thejedijohn 2 жыл бұрын
Actually really excited for this. Some of the object detection I run on pi has required explicitly getting the 32 bit libraries of open cv and numpy, and there always seems to be a weird quirk or two in every project. It'll be great to be able to run the same environments on the desktop when I'm building a thing, and then deploy it to the pi without having to change the environment too much.
@andrewsimper
@andrewsimper 2 жыл бұрын
64-bit also supports neon simd division, so it makes a big difference for neon accelerated code that has lots of divisions
@faultyinterface
@faultyinterface 2 жыл бұрын
I never noticed the sunburst pattern Strat in the background. Such a great design.
@djdrwatson
@djdrwatson 2 жыл бұрын
1:43 I'm blaming Red Shirt Jeff for the Raspberry Pi being in short supply and hard to get hold of.
@JeffGeerling
@JeffGeerling 2 жыл бұрын
He says he's very sorry about cutting that Pi in half last year. He had no clue it would lead to this.
@cx3268
@cx3268 2 жыл бұрын
My Pi4b (8gb) now is 64bit. Been testing the various apps that were on the 32bit (retained the 32bit flash as is). After resolving the Widevine issue (with help) was the last major issue so far (still testing). It does seem to run faster.
@paulschlachter4313
@paulschlachter4313 2 жыл бұрын
Did you compare idle ram consumption after booting?
@arturmeinild2461
@arturmeinild2461 2 жыл бұрын
Ubuntu 20.04 has been available for the Pi in 64-bit version since - well March 2020 - and it's working without any issues whatsoever.
@JPHER217
@JPHER217 2 жыл бұрын
I have some troubles with vnc but yeah
@android199ios25
@android199ios25 2 жыл бұрын
I run 64 bit on my pi 4 server. I use containers and have nas, homeassistant, mqtt broker, zigbee2mqtt etc installed on it. So far the performance is AMAZING compared to my old pi3 with 32. I know comparing 3 to 4 is not fair but Pi 4 allows its OS to be stored on NVME ssd and it is just so damn fast. Have a nice day
@euanmcgill918
@euanmcgill918 2 жыл бұрын
The kind of comment I was looking for, have the bits for a HA server, so I'll look at putting the 64 bit version on it. Cheers
@cruzer0561
@cruzer0561 2 жыл бұрын
I can just recommend using an pi as a server. aslong it dosent require much power everything should be fine. My dockerized Nextcloud instance run just fine. You just kinda have to make sure your data is save by using a raid or backing it up somewhere.
@PierricDescamps
@PierricDescamps 2 жыл бұрын
Thanks that was useful. I was thinking about upgrading or not, as some containers I wanted to use recently are only supported as ARM64. But I also use Kodi which uses Widevine for DRM, and video decoding acceleration. So I'll give it time!
@erikstrawn3885
@erikstrawn3885 2 жыл бұрын
My Pi400 just arrived today. I hadn't even known 64bit was an option. Thanks for the video!
@JeffGeerling
@JeffGeerling 2 жыл бұрын
In some ways, the Pi 400 is my favorite Pi-I just have it sitting next to my desk and if I need a Pi for something really quick, I grab it, plug the monitor in, and plug USB-C in. Bingo, computer and keyboard ready for action. Sometimes I use a mouse too.
@erikstrawn3885
@erikstrawn3885 2 жыл бұрын
@@JeffGeerling I'm putting it out in my shop with a 60" 1080p TV so I can look up specs or play music while working on project cars. It's replacing an ancient netbook.
@harshbarj
@harshbarj 2 жыл бұрын
Make sure to overclock it too. Free performance. The Pi400 has a large heatsink stock. Only sad part is no internal storage even though the case is mostly empty. Perhaps with the Pi5 / Pi500.
@nickk6109
@nickk6109 2 жыл бұрын
Thanks for this - I've been running the 64bit and firmware since before xmas for some Vulkan development. That version had an annoying hang bug that seems to have been fixed with this version. Running on a RPi4 2GB.
@kurchak
@kurchak 2 жыл бұрын
First video I've seen from you ..... Subscribed.
@auto117666
@auto117666 2 жыл бұрын
This is going to be great for my Elasticsearch Pi. It works better with more ram. I am excited to try this out with the 64bit arm docker containers.
@hectorjuncal2312
@hectorjuncal2312 2 жыл бұрын
Al fin!! llevaba literalmente años esperando esto
@yearls
@yearls 2 жыл бұрын
Hey, I still have one of those 1st gen model B's, it has been running 24/7 for the last 2yrs as my PiHole. I think it still lives.
@Maelman1
@Maelman1 2 жыл бұрын
Great video. I'm glad to see Pi OS has finally gone 64bit. I run all my monitoring via Zabbix on my Raspberry Pi. I had to migrate to a 64bit OS (Ubuntu) due to database restrictions. I discovered that my MariaDB database couldn't get any bigger than 4GB under a 32bit OS. Zabbix is much happier on 64bit.
@micropanda7916
@micropanda7916 2 жыл бұрын
Finally! I had to use some software that required 64 bit system, I was using ubuntu server for that for now, but it felt slower for me than Pi OS, so i am glad they finally added that support.
@skf957
@skf957 2 жыл бұрын
Thanks for posting, very useful info. Missing your bloopers. Can only assume you've raised your game and don't make any.
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Haha that is far from the truth! I'm basically dropping them unless the video is long enough to survive what seems to be a bit of punishment from KZbin's algorithm as people drop off (only about 30% of viewers watch the bloopers, no matter how good).
@fpv_everyday
@fpv_everyday 2 жыл бұрын
Amazing video. Thanks for the cool videos
@caldodge
@caldodge 2 жыл бұрын
"More is always better" is known as "More's Law".
@kungfujesus06
@kungfujesus06 2 жыл бұрын
Aarch64 adds way more vector registers, it is a significant advancement to the isa if you have compute intensive code.
@leepspvideo
@leepspvideo 2 жыл бұрын
Great explanation, thanks for the mention. Thanks also for recommending me, they got in touch yesterday. 👍🏻👍🏻
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Excellent! I can usually count on you to have a good summary / walkthrough before I even wake up in the morning :D
@arjan1995
@arjan1995 2 жыл бұрын
This is really great since it allows a lot more official Docker images to be used (eg standard mysql/mariaDB, elasticsearch)
@nikobellic570
@nikobellic570 2 жыл бұрын
At 5:44 those white squares on web pages - I get them too. They don't all go away and are annoying too. Started getting them around the switch to bullseye I think
@JeffGeerling
@JeffGeerling 2 жыл бұрын
I'm pretty sure there's some bit of the rendering engine flaking out, I don't know what it is, but maybe ask about it on the forums.
@Major_D3rp
@Major_D3rp 2 жыл бұрын
I love that plug at LTT. lol good ribbing at another TechTuber.
@SmallSpoonBrigade
@SmallSpoonBrigade 2 жыл бұрын
This is great news, I've got a pre-order in on an 8gb Pi 4, so I'll definitely want the 64bit version for it.
2 жыл бұрын
In 2020, we got 8GB Pi4, then last year Pi02W, with bullseye and now 64 Bit. Hopefully the trend will continue and we will recieve Pi5 this year (with DC barrel jack at last). Kudos to RPi team, 64 bit os runs so good, i tried it by accident at the day of release and it run so great i was not even aware i am running something special. Overclocked Pi4 2GB run for 3 days without hiccup.
@GSBarlev
@GSBarlev 2 жыл бұрын
I am so excited to upgrade my general-pupose home Pi 4 server, because it means I can finally install conda and get a Jupyter notebook server running. Obviously I'm not planning on doing any heavy compute on the little board, but it's going to be awesome to have a centralized place to store, view and interactively execute code snippets.
@falxie_
@falxie_ 2 жыл бұрын
I never knew there was a such thing as 64-bit specific optimizations
@CallousCoder
@CallousCoder 2 жыл бұрын
I've been running Rasbian 64 bits for quite some time! On my channel I even have a series where I teach ARM64 assembly. Perhaps this is of interest to the viewers here too. And yes 64bit consumes more memory. I've been running 64bit OSes since 1997 on DEC-Alpha and did a lot of ports and a pointer is 64 bits instead of 32 bits. And often (depending on the code) an integer as well. And even though the registers are 64bits you would not use an X register but a W (32bits) when you load or store a register's content that is
@rogerlevasseur397
@rogerlevasseur397 2 жыл бұрын
True that 64 bits eat up more memory, but just having that 64 bit environment just opens up the door to doing things better and cleanly than making do with 32 bits. I do miss programming on the Digital Alpha architecture from the late 90s into the early 2000s.
@CallousCoder
@CallousCoder 2 жыл бұрын
@@rogerlevasseur397 yeah! I adore the alpha and it really was the birth place of predictive pipelines and out of order execution. It was 10 years ahead of the competition. It was a better MIPS CPU than MIPS. I still have mine in the basement. Maybe one day I’ll reignite live into it for a show and tell. Most people didn’t have the pleasure to work on alphas. We had two GS140s running Tru64 and TruCluster, it was a joy!
@ebiscaia
@ebiscaia 2 жыл бұрын
It would be interesting some comparison between different raspberry pi distros. Both as being servers and desktops
@spektrum030
@spektrum030 2 жыл бұрын
This was the first time I've came across your channel and enjoyed the content. Then I've just realised that I'm using your Ansible modules for several years now. Thank you for your hard work, Jeff! Subscribed!
@sagarshubham8660
@sagarshubham8660 2 жыл бұрын
Finally! The 64 Bit OS is out for the 64 Bit Hardware nowhere in the market./s Gonna test my keyboard drivers for this OS too now. Should be fun. Thanks for showing its benefits.
@todayonthebench
@todayonthebench 2 жыл бұрын
Having a hobby of designing computer architectures myself. I always find the debate between 32 and 64 bits interesting. But usually I am stuck to wonder why no major architecture supports 32 bit local addresses in 64 bit mode. It could reduce memory utilization by a noticeable bit. Secondly, it can also increase performance, since one can cache more pointers and in general have less overhead. Though, there is a lot of other nuances to consider as well. At least ARM isn't crazy like x86 is at times. Or some of my own architectures for that matter.
@CallousCoder
@CallousCoder 2 жыл бұрын
I love the fact that after 40 years the RISC vs CISC debate is finally settled and RISC has one. X64 with all it's complex instructions (which are super optimized for sure) don't scale well with lots of cores because these instructions are so large that they don't fit in the pipelines and can't easily be performed out of order. So the whole prediction is often lost.
@glenndoiron9317
@glenndoiron9317 2 жыл бұрын
No programmer wants segmented memory. You want smaller instructions, use 32bit+register displacements, if your chip supports them.
@CallousCoder
@CallousCoder 2 жыл бұрын
@@glenndoiron9317 smaller instructions is not a possibility on ARM RISC because they are all the same size. That's why pipelines are so efficient in RISK and OOP (Out of Order Processing) can be done so efficiently unlike on CISC. This is also why you can't immediately allocate any value in ARM (or most RISC CPUs) as there's not enough bytes left in the operand. So you need to add several times in order to set certain larger values in a register. And memory fragmentation generally doesn't pose a big problem. And on the stack it doesn't even exist, that's solely a potential heap problem. So avoid the heap when possible. BTW memory pointer is always a contiguous block; otherwise pointers would break, so that's why in most cases gaps are not an issue. And variables are generally allocated right next to each other -- you do that when you assemble by hand to have those variables that you use in combination right next to each other. Just to force them to be cached in your CPU. Now with complex structures like vectors you can have some issues when you grow them because data needs to be reallocated and some stale data can be left behind that can't be returned to the OS as long as the process runs. And these gaps could cause cache misses. This is when vectors need to perform that you will over dimension them *guesstimating how many objects you will hold* to prevent fragmentation. But most programmers that I know, that think like this :) They don't even understand the concept of a pointer properly :D
@hubertnnn
@hubertnnn 2 жыл бұрын
@@CallousCoder Both RISC and CISC has its advantages, Main advantage of CISC is higher theoretical IPC since you can pack multiple instructions into one. RISC on the other hand benefits from smaller cores allowing you to put more of those per CPU. So its all about the same battle that AMD fights against Intel: Single threaded vs multi threaded. RISC will loose at single threaded performance but can pack much more cores in a sigle CPU, so will win in multithreaded.
@undefinednan7096
@undefinednan7096 2 жыл бұрын
@@CallousCoder you're correct that the debate has been settled, but completely wrong on the conclusion. For everything other than extremely small embedded processors, it doesn't matter anymore. The way all modern "high-performance" processors (which is pretty much all non-embedded processors and many embedded ones too) work is by decoding instructions into micro-ops for various reasons, such as register renaming and out-of-order execution. This means that only the decode stages have to be somewhat more complicated for all remaining CISC architectures, which use a negligibly-small fraction of a core's area. There were CISC architectures, notably the VAX and the 68k, that this didn't work for because they had extra backend complexity, but they died because making competitive implementations became too hard.
@DaPanda19
@DaPanda19 2 жыл бұрын
Ever since you announced the beta for the Raspberry Pi OS 64-bit I've been using it and personally I've had so few issues that it was never a problem for me, personally. But I definitely didn't know that it uses less energy and that it was more efficient in getting tasks done. I definitely did know that there were benefits to using a 64-bit architecture, was just unsure. Thx for the lesson!
@poneill65
@poneill65 2 жыл бұрын
Oh wow, that's so cool,.. perhaps someone will have one in stock sometime in the next three years!
@fynbo1007
@fynbo1007 2 жыл бұрын
Thank you for sharing your knowledge, God bless you and your family.
@ActionGamerAaron
@ActionGamerAaron 2 жыл бұрын
I was just downloading Raspberry Pi OS a week ago and shocked that the 64-bit version was tucked away in the site. Glad to see that changing so soon after finding out. The Pi 1 & 2 really held them back by being 32-bit only.
@phatwayne
@phatwayne 2 жыл бұрын
Thanks Jeff :)
@aloevera3317
@aloevera3317 2 жыл бұрын
I've been running 64-bit RPiOS on my 8GB RPi 4B since June of 2021! I was going to write about the lack of libwidevine support, but you mentioned that already. Just installing the 32-bit chromium application didn't work for me at the time, so I just decided to dual-boot the 64-bit and 32-bit OSes via Berryboot to get around that. I'm using my RPi as a PC replacement btw. It has office software, can play KZbin videos pretty well, and can run Minecraft Java, so I'm a happy camper.
@d0lvl0
@d0lvl0 2 жыл бұрын
I have been using 64bit Ubuntu (Server) on my Raspberry Pi 4 8GB device. Works great, although I had to do some startup tweaks to make it boot faster, but besides that works great!
@MrManningata
@MrManningata 2 жыл бұрын
I have been running 64 bit Ubuntu Mate on my Pi for a while. It runs great and nice to have more 64 bit support.
@christiansmyth1466
@christiansmyth1466 2 жыл бұрын
Yeah same here. I was completely unaware that Raspbian wasn't 64 bit. Or I forgot.
@forahouseboy
@forahouseboy 2 жыл бұрын
Perfect! My 8gb RPi 4b has a home for the official 64-bit OS...thank you so much!
@ismailelayachi9337
@ismailelayachi9337 2 жыл бұрын
Interesting video. Thank you
@hughw
@hughw 2 жыл бұрын
interesting that since yesterday Raspberry Pi Imager has been updated to 1.7.1, and in the advanced options you can now set both username and password - saving a bit of time for those who decide to remove the pi user
@_garicas
@_garicas 2 жыл бұрын
I've been using Ubuntu Server 20.04 LTS for Raspiberry PI 4, and it runs smoothly and good. But as you said, I mostly do server things, using containers, sometimes virtualization (YES, AARCH64 is able to run KVM as far as I know), etc... Good to see the "main OS" bringing the 64 bit into perspective
@entelin
@entelin 2 жыл бұрын
I've not tried it, but I do believe AARCH64 has virtualization extensions, but keep in mind you would be virtualizing aarch guests not amd64.
@_garicas
@_garicas 2 жыл бұрын
@@entelin Yes. Emulating amd64 would probably be really slow... Still, it's something really interesting to toy around. I recommend checking out Firecracker MicroVMs, it's really lightweight
@billp37abq
@billp37abq 2 жыл бұрын
Looking at porting Intel MCS BASIC-52 to the pi 4B 64-bit extension. 64-bit floating point instructions potentially attractive. In preparation installed 64-bit OS on one 256 GB and second on 128 GB sd. No issues, so far. Learned lots from this presentation. Thanks.
@ihad2reload
@ihad2reload 2 жыл бұрын
Thank you impulse buying! So glad I got an 8gb Pi on release even though I didn’t even need it at the time. When more :[
@schizoidman9459
@schizoidman9459 2 жыл бұрын
This is a problem I have been seeing since Silicon Graphics workstations Unix operating system that took a while to transit to 64 bits. I remember trying to use the MIPS 64 bits processor instructions in a graphics algorithm but having those interruptions from the 32 bits OS that corrupted the data for the simple fact they were not saving the complete context (the debugging to find out what was going on was a complete hell with emails to SGI to ask for help and finally a technician said it was coming from the interruptions). 64 bits advantages are not only to be able to access more memory, but it is also means better performance, as you pointed out yourself. One aspect of 64 bits often forgotten is to be able to reach in just one memory access a whole double in floating point operations. That is definitely not neglectable in scientific applications, particularly in modern processors (where memory access is far much slower than the processor). Another important aspect is when using SIMD instructions, but these are much less used than normal floating point operations. It is also possible to accelerate unsigned integer operations by loading two integers in the same variable, but nowadays with multiple ALU this optimization is a bit "old-fashioned". I am following SBCs from very near, but I haven't yet jumped in for a very simple reason. SBCs offer only at maximum 4 cores. Many people think that 4 cores are enough but that is not completely true. It is enough if you don't use multithreading in your programs. This means that your program is going to run in only one thread and the other three are going to serve the OS and will remain most of the time idle. Then, the naïve reasoning is to rewrite the program using multithreading only to realize the optimizations are not better than 30% in average. Why would that be? This comes from the fact that compilers nowadays are able to run several instructions in just one cycle thanks to multiple ALUs, several other hardware optimizations and using DMA, several levels of cache to access memory, etc. When you are dealing with multithreading you need to sectorize a lot your threads in order that each one will be guaranteed to not need any "lock" atomic operation (in a loop, for example) in quite a few amount of cycles. But that's not what we see most of the times, and people don't realize that atomic operations "serialize" the code and they degrade the performance because the compiler cannot generate code that is intrinsically parallel. Also, using 4 cores is not very efficient when using highly efficiency dynamic load balancing algorithms, for example. This is because one core (or one processor in old times) is normally used as a master. High performance is generally obtained with many more cores where the use of a master is almost completely compensated by the dynamic load balancing algorithm. In other words, all I am waiting for is an SBC that supplies an 8 cores processor. Once they will start appearing I will dive in as soon as they are offered for a reasonable price. What I can't understand is that modern desktops having 8 cores are rare and only used for game computers. High core count is reserved to highly expensive high end processors (as AMD Threadripper and Epyc), but that's another subject. Sincerely, this problems with DRM (mainly Disney or Netflix) are not really for professionals but for those using SBCs as entertainment computers, which is not a very good idea. Even hobbyists end up using SBCs in much more serious applications. You are using them as servers. This is not too bad for setting cheap servers but as you can see with your Pi cluster, performance is not really attractive. I personally think Kubernetes is far too heavy for SBCs. One should stick with completely embedded applications instead, but that's just my point of view. Returning to the DRM problem, one can barely expect some significant contribution in innovation, IOT, etc. by watching Disney, but I digress. Jeff, I would like to end this comment with some suggestions. Why don't you try to make some comparisons between multithreaded programs and programs that use only one thread but at the program level, not using any middleware? If you have already done or seen any comparison like this please do not hesitate to point it out here. Thanks in advance.
@rjerez
@rjerez 2 жыл бұрын
I had no idea it was beta. I got my first pi last month and immediately got the 64bit for container compatibility reasons as well. I guess I have to make sure I update it now
@waynewilliamson4212
@waynewilliamson4212 2 жыл бұрын
another great video. the stuff I develop and deploy is almost always 32bit because I don't need more than 4 gig of memory per program, The machines and os have all migrated to 64bit, but most os still let you compile 32bit apps.. in c linux its the -m32 option. All that being said, I am running into the 4g memory limit issue more and more and will probably migrate some of it to 64.
@SlyEcho
@SlyEcho 2 жыл бұрын
The -m32 option is just for x86, on Arm you need a separate compiler.
@lorebadtime
@lorebadtime 2 жыл бұрын
Unless you program on assembly I never knew you need to care about architecture when writing code
@SlyEcho
@SlyEcho 2 жыл бұрын
@@lorebadtime you can get some surprising issues from alignment differences and Endianness. Have to watch out with 32-but time and size values as well.
@lorebadtime
@lorebadtime 2 жыл бұрын
@@SlyEchoalways used standard libraries (int etc) never gone to really big problems of portability of the source
@waynewilliamson4212
@waynewilliamson4212 2 жыл бұрын
@@SlyEcho totally on board with that.
@ridefast0
@ridefast0 2 жыл бұрын
For Mathematica (32-bit) on a Pi 4B, I actually found a percent or two penalty when going from 32- to 64-bit OS. Does anybody know if there are plans to update the bundled Mathematica to a 64-bit version?
@forty2bit557
@forty2bit557 2 жыл бұрын
Thanks bru, you're legend!
@inthestudy
@inthestudy 2 жыл бұрын
I'm still surprised they went quad A53 and 512MB on the 02. I was expecting a single A53 retroactively applied to the CM1 and 1B+ as well (like the 2837 replacing the 2836 on Pi 2's) and 1GB. But I apparently do not think like Eben and co. I am also still amazed they went to all the trouble of building their own PMIC and didn't give it a LiPo charger. Seriously! Every CM4 blade design would have a built in UPS. Every Pi 4 camera project would be portable, and you could (if the PMIC was adequately overspeced) make every Pi 400 into a Cyberdeck with a USB powered LCD and some hot glue. I'm also still shocked that they didn't make the CM4-IO fit Via's Neo-ITX (ITX footprint, but only half-depth, so you can mount it in any PC case if you want to) standard from the APC 8750. Or use an open-back PCIe slot! I think they're mad! The only ISA extensions I'd really like to see in the near future on the Pi though are the crypto ones - given A: how heavily it's deployed as a server, and B: how everything these days needs AES somewhere - there's a significant performance gain to be had. Still, cost-benefit I think they made the right call on that one for the 4.
2 жыл бұрын
Agree, at least PI Zero 2 should definetly have a lipo plug, as the thing is meant to be for super small projects.
@Foxhood
@Foxhood 2 жыл бұрын
Well the Raspberry-Pi is designed very much with the idea of "Must-haves" being the focal point in the name of cost-effectiveness. With the CM4 intended to encourage users to create application specific carrier boards. So "could-haves" like having a Li-Ion charger along with switching circuit and ideas like the IO board that is meant to help designers get started with their own ideas rather than act as an alternative to the pi itself or past products like the Neo-ITX are not on the fore-front.
@inthestudy
@inthestudy Жыл бұрын
@@Foxhood I don't see why LiPo is a "Could have" while dual HDMI, DSI, PoE (note - I want that on every ethernet pi, but it's a good comparison) are "Must have". My whole point is that there is near as damn it no pi that doesn't benefit from on board battery backup. Even if it's only used to cleanly shutdown the Pi, it's beneficial to every scenario. As for neo-ITX, the CM4 Carrier is *almost* an ATX compatible board in size. Literally a few tweaks to fit that standard (or similar) and the CM4 would have been a standard desktop ARM motherboard with PCIe for sub $100, literally a product people have been wanting for decades.
@Foxhood
@Foxhood Жыл бұрын
@@inthestudy Because unlike HDMI, DSI and single ETH which are just right there on the broadcomm chip itself. A proper professional li-ion charger/management circuit with the ability to report charge to the system has to be implemented seperately as the PMIC used lacks it. Same goes for PoE. These two are not vital to the operation of the system itself and thus are not implemented on boards themselves. And the CM4 carrier is just a development board. An example device for development purposes. They aren't end-products. The idea is genuinely that if someone wants a Raspberry Pi deluxe board with PoE, Li-Ion backup, etc and fitting in a different form-factor, that they can design, create and sell it themselves. To use the CM4 not as a product, but a component to build products with. That is why the CM4 exists.
@MateuszArkadiuszMierzwinski
@MateuszArkadiuszMierzwinski 2 жыл бұрын
You should also mention, that in x86_64 and arm64 size of int, uint is by default 64-bits instead of 32. This allows applications to handle easily 64-bit-wide numbers easily for mathematical purposes. It's not only memory addressing that matters, but in performant math applications this size of default int, uint or float makes a difference and potentially can give slightly different results because of rounding error.
@hermannpaschulke1583
@hermannpaschulke1583 2 жыл бұрын
I've been using Arch Linux ARM with the mainline kernel 64 bit on my Rpi 4 with 8gb because the Minecraft server needs more than 4gb of ram to run well. Now I can use Raspbian again. Neat!
@David_Granger
@David_Granger 2 жыл бұрын
I actually got a 4b 8 GB in early summer of 2021, but still haven't used it since I had some trouble setting it up, it's my first Pi.
@paladingeorge6098
@paladingeorge6098 2 жыл бұрын
I got a 8GB pi a year ago - was running the beta OS for a while for a private server, and I ran into some major bugs that made things inconvenient. Even though my use case for it has passed, I look forward to playing with the 64 bit OS.
@danielberglv259
@danielberglv259 2 жыл бұрын
Well I use Ubuntu Server (not the Pi release of it) on my two Pi4 and did also on the old Pi3 I had before, both in 64bit. Not sure why you would even run something like Pi OS for serious server related applications. It's a fast flash&boot option, but still...
@vaibhav6318
@vaibhav6318 2 жыл бұрын
Hi jeff, can you do a comparison b/w ubuntu LTS server& Raspberry Pi OS 64bit lite for the model 4
@damouze
@damouze 2 жыл бұрын
It is actually a shame that 32-bit architectures are being supported less and less. If you run small VMs, with purposely limited amounts of RAM, having a 32-bit OS is actually a pre, because of the smaller memory footprint. Fortunately, most Linux distributions I use, like Devuan, still list 32-bit installer images on their download site, as do the majority of the *BSDs.
@iDontProgramInCpp
@iDontProgramInCpp 2 жыл бұрын
Devuan?
@mattivirta
@mattivirta 2 жыл бұрын
ewery software not have made 64 bit support yet, not have many, need wait long long time if come all softwares who support 64 bit or 4 cpu can use.
@damouze
@damouze 2 жыл бұрын
@@kreuner11 The memory footprint is definitely smaller. The CPU overhead is often smaller as well, although that depends largely on the CPU (micro)architecture. Btw, I don't think there's anything wrong with a 64-bit architecture, just that a lot of small tasks, for instance running a DNS server or an NTP server does not require a 64-bit environment, it could just as easily run in a 32-bit VM or container, with a lot less RAM.
@damouze
@damouze 2 жыл бұрын
​@@iDontProgramInCpp My reply keeps disappearing, sorry: Devuan is a debian derived distribution that does not rely on systemd. It is considered by many to be more faithful to the original UNIX philosophy.
@DaPanda19
@DaPanda19 2 жыл бұрын
Just remembered, when compiling kismet from source, it always failed on my 4GB pi and when rerunning with tmux and htop I noticed it goes WELL into 7GBs of usage which made sense as to why it failed on the 4GB. Later learned that I could make a modification so it would compile on the 4GB but I never went through with it at the time, was still to noob and still am lol.
@BrownieX001
@BrownieX001 2 жыл бұрын
Yes I watch LTT. Been doing so for over a decade. They don't do detailed content like you, Level1Techs or Gamers Nexus but are hella enjoyable. I appreciate how you have been doing more comedy things for a while. Excited to see more Pi content in the coming months, been Gettin back into Pi space since it seems like it's growing again. Do you have plans to cover IOTSTACK for RPi? And how it works on 64bit vs 32bit?
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Probably won't cover IoTStack, but you never know. Will be covering some more things in the space, though, now that I have a stable Home Assistant setup managing parts of my house.
@BrownieX001
@BrownieX001 2 жыл бұрын
@@JeffGeerling I don't see it being covered much. Is there some problem I don't understand? I found it easy to setup many dockers at once. But not sure how safe it is or how performance is.
@KnutBluetooth
@KnutBluetooth 2 жыл бұрын
Truly exciting news for those who for the last few years haven't figured out how to write an image to an SD card.
@Ryphonx0C92AE
@Ryphonx0C92AE 2 жыл бұрын
Ugh, had to flex that pcb mounted Compute carrier board with M.2/POE/TPM. Still watching out for that!
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Heh... I'm hoping that we'll see a few more things actually *shipping* in the first half of this year.
@linuxrobotgeek
@linuxrobotgeek 2 жыл бұрын
I was holding off on running 64bit pi OS on my 2GB pi 4 so I'll give it a chance.
@aalaptube
@aalaptube 2 жыл бұрын
Just last month I was going through lot of forum posts on people asking when the 64-bit would be official, and invariably the answer was "when it will be ready". I had no issues with the Beta version but tons of issues with Ubuntu Server 64-bit and Mate 64-bit (Mate problem was my hardware was too old to take the nice but heavyweight UI). I am so glad the 64-bit is official now.
@Gunzy83
@Gunzy83 2 жыл бұрын
I use Flatcar Container Linux on the pi. Had no idea the official os only had 32bit support.
@Turjak_art
@Turjak_art 2 жыл бұрын
cool I didn't know that. thank you
@bdbgh
@bdbgh 2 жыл бұрын
I recently got interested in rpis to do some tasks in my home without relying on external services. Too bad there's no stock for the rpi4 or cm4
@Chexsum
@Chexsum 2 жыл бұрын
and its about time there was an os for this pc
@the_beefy1986
@the_beefy1986 2 жыл бұрын
I still have my original Pi1 model B. It's running my 3D printer (via octoprint).
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Nice! Every time I pull it out, I'm amazed how gargantuan that SD card reader looks in comparison to the microSD slots I'm used to now.
@totallyperfectworld
@totallyperfectworld 2 жыл бұрын
Is there any way to upgrade the OS from 32 to 64Bit? I know, it will never be as clean as a fresh install….but sometimes I’m just to lazy to do all the installation of my stuff again….
@spanishchair
@spanishchair 2 жыл бұрын
I'm pretty sure it's not possible because the entire OS uses 32-bit commands and so most if not all of the OS would be reinstalled to use 64-bit commands. Not only that but any programs installed are using 32-bit as well and to take advantage of the benefits of 64-bit you'd need to reinstall all your programs anyways. The difference between 32-bit and 64-bit isn't the same as the difference between Windows 10 and Windows 11 and so can't be upgraded I'm not an expert though so I could be wrong and it is possible and if anyone knows the answer for sure feel free to correct me. But if it is possible it would be extremely tedious and would probably be faster to just reinstall from scratch.
@monsterhunter445
@monsterhunter445 2 жыл бұрын
Reinstall not possible
@JeffGeerling
@JeffGeerling 2 жыл бұрын
Have to reinstall or flash a new card and migrate.
@stevecummins324
@stevecummins324 2 жыл бұрын
I recon it would be possible, but likely convoluted to do without a utility. I say that because years ago I used to run gentoo, even on a pi... (but only 32bit version). with that it was possible to switch between amd 32bit and 64bit versions, by tweaking a profile name, and the processor optimisation flags. would recompile all the software from source ... so clean install was usually the easiest way to do such a big change.
@velociraptor5962
@velociraptor5962 2 жыл бұрын
Maybe some genius will make an upgrade script... I hope so...
@perwestermark8920
@perwestermark8920 2 жыл бұрын
One big reason for 64-bit even for devices with only 2 or 4 GB RAM is that it's only possible to create large memory maps if there is a big, free, address range for that map. So a memory-mapped database like LMDB kan only open and work with a 10 GB large database file if the program can allocate a 10 GB large map. No need for 10 GB RAM - the processor can use virtual memory to map in RAM as needed. It was this need for large memory maps that was one of the main driving forces for 64-bit processors way before it was economical to buy and install 4GB or more of RAM. The ability to handle a database of hundreds of GB mapped to virtual RAM, allowing normal pointers to access locations in the database reduces lots of caching code. Instead, the processor MMU can figure out which parts have been read in and which parts have been modified and requires writing back.
@rolandmetivier4437
@rolandmetivier4437 2 жыл бұрын
Hi, Armv7/AArch32 and Armv8/AArch64 applications are kind of different indeed. The registers are layed out different, I've written both v7 and v8 assembly.
@SlowMenThinking
@SlowMenThinking 2 жыл бұрын
Been using the beta 64bit on my 8gig soon after it was released. Now I have to work out if I Build up the project from official sources, There are a couple of things I want to change. It is a headless server and it just ticks away in a corner sipping a little power and serving stuff excellently...
@ThisRandomGuyYouDidntNotice
@ThisRandomGuyYouDidntNotice 2 жыл бұрын
Also more and more images start to drop arm/v7 support. I'm already exited to replace some linuxserver images I'm running with their official arm64/v8 equivalents :)
@Buzzygirl63
@Buzzygirl63 2 жыл бұрын
YAY! Finally... I have an 8 GB Pi 4 I can't wait to try this one!
@CallousCoder
@CallousCoder 2 жыл бұрын
You won't be disappointed. I have been running it for almost 2 year on a 4GB and 8GB Pi4 and a PINE64. Certain things are a LOT faster.
@alien_man1669
@alien_man1669 2 жыл бұрын
I wish there was a way to overclock the ram and mess with timings. Ive been obsessed with ddr4 overclocking for a few years now and there's so much gains that can be had with just a few tweaks....but thanks for the update news. Think I'll finally update my half broken install lol
@mattivirta
@mattivirta 2 жыл бұрын
i has try whit imager make new 64 bit image many many time but alltime sai failed not verified ok. or could not can mount sd card, usb memory. etc, 13 different new sd card test and notr5 can make image. imager mount 1/2 ok but if mount 2/2 error and say could not mount.
@danielpaquette1597
@danielpaquette1597 2 жыл бұрын
Hi Jeff, I really enjoy the content. I have two raspberry pi's, one running pi-hole and another running my media. I have put a fair amount of effort getting these configured so that they are stable and configured for my network. Is there an easy way to update to 64 bit rather than a reinstall and then many hours of re-configuration? Thanks!
@rajivb9493
@rajivb9493 2 жыл бұрын
You hit the nail, Jeff....yes, ARMv8 ASSEMBLY instruction set supports wider NEON SIMD register, 256-bit compared to 128-bit ARMv7 supported on 32-bit...i tried to use ARMv8 ASSEMBLY instruction set on my 32-bit RaspberryPi OS while writing some DSP algorithm and it throws error...it does'nt however on 64-bit Raspberry Pi OS....however, the biggest point, is using the compilation flags without which it makes NO DIFFERENCE...if you are using the compilation flags linked to NEON & ARMv8, and do code ASSEMBLY optimizations, then yes the 64-bit performance difference is visible...
@user-hk3ej4hk7m
@user-hk3ej4hk7m 2 жыл бұрын
The usage of mmap (memory mapped files and devices) is limited to the address space of the device, so that's another limitation of 32 bit OSs
@SlykeThePhoxenix
@SlykeThePhoxenix 2 жыл бұрын
On your K8s cluster, how many pods do you run on your RPi4s? How do you handle resource request and limits if you running hybrid RPis and say standard i5s/i7s? Just put requirements on which nodes a pod can spawn in?
@RBBlackstone
@RBBlackstone 2 жыл бұрын
Good info. Anything that had a few groin pains is something I would avoid. ;-)
@MarksGoneWicked
@MarksGoneWicked 2 жыл бұрын
You had to mention the model B. I don't even know what to do with mine. Used it for KODI briefly many years ago.
@misaalanshori
@misaalanshori 2 жыл бұрын
3:21 Man, If the Pi Zero 2 had a 1GB or bigger RAM option then I would've just bought it in a heartbeat...
@FhargaZ
@FhargaZ 2 жыл бұрын
Eta Prime: nice, now to test what it can emulate.
@aboothahiru6354
@aboothahiru6354 2 жыл бұрын
I wish to the see internal components of this rasp-pi (attached rpi to keybaord unit)that shown in the thumbnail of this video
@STORMFIRE07
@STORMFIRE07 2 жыл бұрын
Regarding the last point you raised about making 64 bit OS default cuz the upcoming pis might be the 32 bit OS even more irrelevant and slow, I guess they can add a drop down menu which has a list of pi so users can chose the pi they have, and the website can show them 64bit OS first/by default on top if they choose something like a pi4, but 32bit OS first if they chose something like older pi’s or pi zeros or ones with less than 4GB ram, but I guess that might get a bit complicated for general users
Why Is He Unhappy…?
00:26
Alan Chikin Chow
Рет қаралды 40 МЛН
Gym belt !! 😂😂  @kauermtt
00:10
Tibo InShape
Рет қаралды 17 МЛН
iPhone 15 Pro Max vs IPhone Xs Max  troll face speed test
0:33
low battery 🪫
0:10
dednahype
Рет қаралды 1,2 МЛН
S24 Ultra and IPhone 14 Pro Max telephoto shooting comparison #shorts
0:15
Photographer Army
Рет қаралды 10 МЛН