NVIDIA JetPack has continuously evolved to offer cutting-edge software tailored to the growing needs of edge AI and robotic developers. With each release,...
NVIDIA JetPack has continuously evolved to offer cutting-edge software tailored to the growing needs of edge AI and robotic developers. With each release, JetPack has enhanced its performance, introduced new features, and optimized existing tools to deliver increased value to its users. This means that your existing Jetson Orin-based products experience performance optimizations by upgrading to…
The Direct Rendering Manager (DRM) subsystem updates have been submitted for the Linux 6.13 merge window in bringing many updates to the open-source kernel graphics/display drivers as well as the accelerator subsystem...
Linus Torvalds just merged the change to the Linux 6.13 kernel that goes ahead and deletes the ReiserFS file-system from the source tree. Removing ReiserFS from the Linux tree lightens the kernel by 32.8k lines of code...
Mesa 24.3 has managed to make it out today, one week ahead of the previous release plans due to the lack of any major blocker bugs appearing. Mesa 24.3 has a lot of new feature work on the contained open-source Vulkan drivers as well as evolutionary improvements to their OpenGL drivers and other user-space 3D driver code...
Raspberry Pi OS comes with Python pre-installed, and you need to use its virtual environments to install packages. The latest issue of The MagPi, out today, features this handy tutorial, penned by our documentation lead Nate Contino, to get you started.
Raspberry Pi OS comes with Python 3 pre-installed. Interfering with the system Python installation can cause problems for your operating system. When you install third-party Python libraries, always use the correct package-management tools.
On Linux, you can install python dependencies in two ways:
use apt to install pre-configured system packages
use pip to install libraries using Python’s dependency manager in a virtual environment
Install Python packages using apt
Packages installed via apt are packaged specifically for Raspberry Pi OS. These packages usually come pre-compiled, so they install faster. Because apt manages dependencies for all packages, installing with this method includes all of the sub-dependencies needed to run the package. And apt ensures that you don’t break other packages if you uninstall.
For instance, to install the Python 3 library that supports the Raspberry Pi Build HAT, run the following command:
$ sudo apt install python3-build-hat
To find Python packages distributed with apt, use apt search. In most cases, Python packages use the prefix python- or python3-: for instance, you can find the numpy package under the name python3-numpy.
Install Python libraries using pip
In older versions of Raspberry Pi OS, you could install libraries directly into the system version of Python using pip. Since Raspberry Pi OS Bookworm, users cannot install libraries directly into the system version of Python.
Instead, install libraries into a virtual environment (venv). To install a library at the system level for all users, install it with apt.
Attempting to install a Python package system-wide outputs an error similar to the following:
$ pip install buildhat
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Python users have long dealt with conflicts between OS package managers like apt and Python-specific package management tools like pip. These conflicts include both Python-level API incompatibilities and conflicts over file ownership.
Starting in Raspberry Pi OS Bookworm, packages installed via pip must be installed into a Python virtual environment (venv). A virtual environment is a container where you can safely install third-party modules so they won’t interfere with your system Python.
Use pip with virtual environments
To use a virtual environment, create a container to store the environment. There are several ways you can do this depending on how you want to work with Python:
per-project environments
Many users create separate virtual environments for each Python project. Locate the virtual environment in the root folder of each project, typically with a shared name like env. Run the following command from the root folder of each project to create a virtual environment configuration folder:
$ python -m venv env
Before you work on a project, run the following command from the root of the project to start using the virtual environment:
$ source env/bin/activate
You should then see a prompt similar to the following:
$ (.env) $
When you finish working on a project, run the following command from any directory to leave the virtual environment:
$ deactivate
per-user environments
Instead of creating a virtual environment for each of your Python projects, you can create a single virtual environment for your user account. Activate that virtual environment before running any of your Python code. This approach can be more convenient for workflows that share many libraries across projects.
When creating a virtual environment for multiple projects across an entire user account, consider locating the virtual environment configuration files in your home directory. Store your configuration in a folder whose name begins with a period to hide the folder by default, preventing it from cluttering your home folder.
Use the following command to create a virtual environment in a hidden folder in the current user’s home directory:
$ python -m venv ~/.env
Run the following command from any directory to start using the virtual environment:
$ source ~/.env/bin/activate
You should then see a prompt similar to the following:
$ (.env) $
To leave the virtual environment, run the following command from any directory:
$ deactivate
Create a virtual environment
Run the following command to create a virtual environment configuration folder, replacing <env-name> with the name you would like to use for the virtual environment (e.g. env):
$ python -m venv <env-name>
Enter a virtual environment
Then, execute the bin/activate script in the virtual environment configuration folder to enter the virtual environment:
$ source <env-name>/bin/activate
You should then see a prompt similar to the following:
$ (<env-name>) $
The (<env-name>) command prompt prefix indicates that the current terminal session is in a virtual environment named <env-name>.
To check that you’re in a virtual environment, use pip list to view the list of installed packages:
$ (<env-name>) $ pip list
Package Version
---------- -------
pip 23.0.1
setuptools 66.1.1
The list should be much shorter than the list of packages installed in your system Python. You can now safely install packages with pip. Any packages you install with pip while in a virtual environment only install to that virtual environment. In a virtual environment, the python or python3 commands automatically use the virtual environment’s version of Python and installed packages instead of the system Python.
Exit a virtual environment
To leave a virtual environment, run the following command:
$ (<env-name>) $ deactivate
Use the Thonny editor
We recommend Thonny for editing Python code on the Raspberry Pi.
By default, Thonny uses the system Python. However, you can switch to using a Python virtual environment by clicking on the interpreter menu in the bottom right of the Thonny window. Select a configured environment or configure a new virtual environment with Configure interpreter.
The MagPi #148 out NOW!
You can grab the new issue right now from Tesco, Sainsbury’s, Asda, WHSmith, and other newsagents, including the Raspberry Pi Store in Cambridge. It’s also available at our online store, which ships around the world. You can also get it via our app on Android or iOS.
You can also subscribe to the print version of The MagPi. Not only do we deliver it globally, but people who sign up to the six- or twelve-month print subscription get a FREE Raspberry Pi Pico W!
In recent years, tools such as the FlipperZero have become quite popular amongst hobbyists and security professionals alike for their small size and wide array of hacking tools. Inspired by the functionality of the FlipperZero, Project Hub user ‘andreockx’ created a similar multi-radio tool named the CapibaraZero, which has the same core abilities and even a little more.
The project uses an Arduino Nano ESP32 as its processor and as a way to provide Wi-Fi, Bluetooth Low-Energy, and human interface features. The chipset can scan for nearby Wi-Fi networks, present fake captive portals, prevent other devices from receiving IP addresses through DHCP starvation, and even carry out ARP poisoning attacks. Andre’s inclusion of a LoRa radio module further differentiates his creation by letting it transmit information in the sub-GHz spectrum over long distances. And lastly, the PN532 RFID module can read encrypted MiFare NFC tags and crack them through brute force.
This collection of the Nano ESP32, wireless radios, and a LiPo battery + charging module were all attached to a custom PCB mainboard while five additional buttons were connected via secondary daughterboard before the entire assembly was placed into a 3D printed case.
SoundSlide is an open-source hardware USB-C adapter that adds a capacitive touch interface to your laptop or keyboard PC in order to control the volume without having to reach out to the volume keys on the keyboard that may require Alt or Fn presses. SoundSlide is meant to be more intuitive than pressing keys and works without drivers with macOS, Windows, and Linux. At just 20.9 x 6.9 x 3.5 mm in size excluding the USB Type-C port, you can leave it connected to your laptop when you move around or put the laptop in your backpack. The SoundSlide relies on the touch interface from the Microchip SAM D11 Arm Cortex-M0+ microcontroller, and the company behind the project – Drake Labs – has made the firmware, schematics (PDF/WebP), and a command-line interface written on Go available on GitHub. You can check out how it works on a laptop in the [...]
As developers and platform engineers seek greater performance, efficiency, and scalability for their workloads, Arm-based cloud services provide a powerful and trusted solution. At KubeCon NA 2024, we had the pleasure of meeting many of these developers face-to-face to showcase Arm solutions as they migrate to Arm.
Today, all major hyperscalers, including Amazon Web Services (AWS), Google Cloud, Microsoft Azure and Oracle Cloud Infrastructure (OCI), offer Arm-based servers optimized for modern cloud-native applications. This shift offers a significant opportunity for organizations to improve price-performance ratios, deliver a lower total cost of ownership (TCO), and meet sustainability goals, while gaining access to a robust ecosystem of tools and support.
At KubeCon NA, it was amazing to hear from those in the Arm software ecosystem share their migration stories and the new possibilities they’ve unlocked.
Arm from cloud to edge at KubeCon
Building on Arm unlocks a wide range of options from cloud to edge. It enables developers to run their applications seamlessly in the cloud, while tapping into the entire Arm software and embedded ecosystem and respective workflows.
Arm-based servers are now integrated across leading cloud providers, making them a preferred choice for many organizations looking to enhance their infrastructure. At KubeCon NA 2024, attendees learned about the latest custom Arm compute offerings available from major cloud service providers including:
AWS Graviton series for enhanced performance and energy efficiency;
Microsoft Azure Arm-based VMs for scalable, cost-effective solutions;
Google Cloud’s Tau T2A instances for price-performance optimization; and
OCI Ampere A1 Compute for flexible and powerful cloud-native services.
Ampere showcased their Arm-based hardware in multiple form factors across different partner booths at the show to demonstrate how the Arm compute platform is enabling server workloads both in the cloud and on premises.
System76 ‘s Thelio Astra, an Arm64 developer desktop, featuring Ampere Altra processors, was also prominently displayed in booths across the KubeCon NA show floor. The workstation is streamlining developer workflows for Linux development and deployment across various markets, including automotive and IoT.
During the show, the Thelio Astra showcased its IoT capabilities by aggregating and processing audio sensor data from Arduino devices to assess booth traffic. This demonstrated cloud-connected IoT workloads in action.
Migrating to Arm has never been easier
Migrating workloads to Arm-based servers is more straightforward than ever. Today, 95% of graduated CNCF (Cloud Native Computing Foundation) projects are optimized for Arm, ensuring seamless, efficient, and high-performance execution.
Companies of all sizes visited the Arm booth at KubeCon NA to tell us about their migration journey and learn how to take advantage of the latest developer technologies. They included leading financial institutions, global telecommunications providers and large retail brands.
For developers ready to add multi-architecture support to their deployments, we demonstrated a new tool – kubearchinspect – that can be deployed on a Kubernetes cluster and scan for container images to check for Arm compatibility. Check out our GitHub repo to get started and how to validate Arm support for your container images.
Hundreds of independent software vendors (ISVs) are enabling their applications and services on Arm, with developers easily monitoring application performance and managing their workloads via the Arm Software Dashboard.
For developers, the integration of GitHub Actions, GitHub Runners, and the soon to be available Arm extension for GitHub Copilot, means a seamless cloud-native CI/CD workflow is now fully supported on Arm. Graduated projects can scale using cost-effective Arm runners, while incubating projects benefit from lower pricing and improved support from open-source Arm runners.
Extensive Arm ecosystem and Kubernetes support
As Kubernetes continues to grow, with 5.6 million developers worldwide, expanding the contributor base is essential to sustaining the cloud-native community and supporting its adoption in technology stacks. Whether developers are using AWS EKS, Azure AKS, or OCI’s Kubernetes service, Arm is integrated to provide native support. This enables the smooth deployment and management of containerized applications.
Scaling AI workloads and optimizing complex inference pipelines can be challenging across different architectures. Developers can deploy their AI models across distributed infrastructure, seamlessly integrating with the latest AI frameworks to enhance processing efficiency.
Through a demonstration at the Arm booth, Pranay Bhakre, a Principal Solutions Engineer at Arm, showcased AI over Kubernetes. This brought together Kubernetes, Prometheus and Grafana open-source projects into a power-efficient real-time, scalable, sentiment analysis application. More information about how to enable real-time sentiment analysis on Arm Neoverse-based Kubernetes clusters can be found in this Arm Community blog.
Additionally, at Kubecon 2024, we launched a pilot expansion of our “Works on Arm” program into the CNCF community. This offers comprehensive resources to help scale and optimize cloud-native projects on the Arm architecture. Developers can click here to take a short survey and request to be included in this new initiative.
Switch to Arm for smarter deployment and scalable performance
As demonstrated at KubeCon 2024, Arm is transforming cloud-native deployment and accelerating the developer migration to Arm.
In fact, now is the perfect time to harness Arm-based cloud services for better performance, lower costs, and scalable flexibility. Developers can start building or migrating today to deploy smarter, optimized cloud-native applications on Arm, for Arm.
Developers are welcome to join us at KubeCon Europe in April 2025 to learn more about our latest advancements in platform engineering and cloud-native technologies.
The Pine64 November update introduces the PineCam, a successor to the PineCube IP camera. With a redesigned structure and enhanced features, the PineCam is aimed at applications like monitoring, video streaming, and hardware experimentation. The device is built on the SG2000 System-on-Chip from the Oz64 single board computer covered in October. This SoC combines two […]
The four pull requests adding various SoC and board/platform support have now been merged for the Linux 6.13 kernel. This includes support for many older Apple iPad/iPhones, supporting another SoC with a combination of RISC-V and ARM cores, and a wide variety of other mostly ARM hardware support...
Zrythm 1.0 released today as a big milestone for this open-source digital audio workstation (DAW) software that caters from professional users down to beginners...
WordPress 6.7.1 is a fast-follow release with a strict focus on bugs introduced in WordPress 6.7. The next major release will be version 6.8, planned for April 2025.
If you have sites that support automatic background updates, the update process will begin automatically.
WordPress 6.7.1 would not have been possible without the contributions of the following people. Their asynchronous coordination to deliver maintenance fixes into a stable release is a testament to the power and capability of the WordPress community.
On top of an exciting Vulkan spec update out today, The Khronos Group has announced the Slang Initiative based on NVIDIA's open-source Slang compiler code...
At Docker, we’re continuously enhancing Docker Desktop to meet the evolving needs of enterprise users. Since Docker Desktop 4.23, where we reduced startup time by 75%, we’ve made significant investments in both performance and stability. These improvements are designed to deliver a faster, more reliable experience for developers across industries. (Read more about our previous performance milestones.)
In this post, we walk through the latest performance enhancements.
Latest performance enhancements
Boost performance with Docker VMM on Apple Silicon Mac
Apple Silicon Mac users, we’re excited to introduce Docker Virtual Machine Manager (Docker VMM) — a powerful new virtualization option designed to enhance performance for Docker Desktop on M1 and M2 Macs. Currently in beta, Docker VMM gives developers a faster, more efficient alternative to the existing Apple Virtualization Framework for many workflows (Figure 1). Docker VMM is available starting in the Docker Desktop 4.35 release.
Why try Docker VMM?
If you’re running native ARM-based images on Docker Desktop, Docker VMM offers a performance boost that could make your development experience smoother and more efficient. With Docker VMM, you can:
Experience faster operations: Docker VMM shows improved speeds on essential commands like git status and others, especially when caches are built up. In our benchmarks, Docker VMM eliminates certain slowdowns that can occur with the Apple Virtualization framework.
Enjoy flexibility: Not sure if Docker VMM is the right fit? No problem! Docker VMM is still in beta, so you can switch back to the Apple Virtualization framework at any time and try Docker VMM again in future releases as we continue optimizing it.
What about emulated Intel images?
If you’re using Rosetta to emulate Intel images, Docker VMM may not be the ideal choice for now, as it currently doesn’t support Rosetta. For workflows requiring Intel emulation, the Apple Virtualization framework remains the best option, as Docker VMM is optimized for native Arm binaries.
Key benchmarks: Real-world speed gains
Our testing reveals significant improvements when using Docker VMM for common commands, including git status:
Initial git status: Docker VMM outperforms, with the first run significantly faster compared to the Apple Virtualization framework (Figure 2).
Subsequent git status: With Docker VMM, subsequent runs are also speedier due to more efficient caching (Figure 3).
With Docker VMM, you can say goodbye to frustrating delays and get a faster, more responsive experience right out of the gate.
Say goodbye to QEMU
For users who may have relied on QEMU, note that we’re transitioning it to legacy support. Docker VMM and Apple Virtualization Framework now provide superior performance options, optimized for the latest Apple hardware.
Docker Desktop for Windows on Arm
For specific workloads, particularly those involving parallel computing or Arm-optimized tasks, Arm64 devices can offer significant performance benefits. With Docker Desktop now supporting Windows on Arm, developers can take advantage of these performance boosts while maintaining the familiar Docker Desktop experience, ensuring smooth, efficient operations on this architecture.
Synchronized file shares
Unlike traditional file-sharing mechanisms that can suffer from performance degradation with large projects or frequent file changes, the synchronized file shares feature offers a more stable and performant alternative. It uses efficient synchronization processes to ensure that changes made to files on the host are rapidly reflected in the container, and vice versa, without the bottlenecks or slowdowns experienced with older methods.
This feature is a major performance upgrade for developers who work with shared files between the host and container. It reduces the performance issues related to intensive file system operations and enables smoother, more responsive development workflows. Whether you’re dealing with frequent file changes or working on large, complex projects, synchronized file sharing improves efficiency and ensures that your containers and host remain in sync without delays or excessive resource usage.
Key highlights of synchronized file sharing include:
Selective syncing: Developers can choose specific directories to sync, avoiding unnecessary overhead from syncing unneeded files or directories.
Faster file changes: It significantly reduces the time it takes for changes made in the host environment to be recognized and applied within containers.
Improved performance with large projects: This feature is especially beneficial for large projects with many files, as it minimizes the file-sharing latency that often accompanies such setups.
Cross-platform support: Synchronized file sharing is supported on both macOS and Windows, making it versatile across platforms and providing consistent performance.
The synchronized file shares feature is available in Docker Desktop 4.27 and newer releases.
GA for Docker Desktop on Red Hat Enterprise Linux (RHEL)
Red Hat Enterprise Linux (RHEL) is known for its high-performance capabilities and efficient resource utilization, which is essential for developers working with resource-intensive applications. Docker Desktop on RHEL enables enterprises to fully leverage these optimizations, providing a smoother, faster experience from development through to production. Moreover, RHEL’s robust security framework ensures that Docker containers run within a highly secure, certified operating system, maintaining strict security policies, patch management, and compliance standards — vital for industries like finance, healthcare, and government.
Continuous performance improvements in every Docker Desktop release
At Docker, we are committed to delivering continuous performance improvements with every release. Recent updates to Docker Desktop have introduced the following optimizations across file sharing and network performance:
Advanced VirtioFS optimizations: The performance journey continued in Docker Desktop 4.33 with further fine-tuning of VirtioFS. We increased the directory cache timeout, optimized host change notifications, and removed extra FUSE operations related to security.capability attributes. Additionally, we introduced an API to clear caches after container termination, enhancing overall file-sharing efficiency and container lifecycle management.
Faster read and write operations on bind mounts. In Docker Desktop 4.32, we further enhanced VirtioFS performance by optimizing read and write operations on bind mounts. These changes improved I/O throughput, especially when dealing with large files or high-frequency file operations, making Docker Desktop more responsive and efficient for developers.
Enhanced caching for faster performance: Continuing with performance gains, Docker Desktop 4.31 brought significant improvements to VirtioFS file sharing by extending attribute caching timeouts and improving invalidation processes. This reduced the overhead of constant file revalidation, speeding up containerized applications that rely on shared files.
Why these updates matter for you
Each update to Docker Desktop is focused on improving speed and reliability, ensuring it scales effortlessly with your infrastructure. Whether you’re using RHEL, Apple Silicon, or Windows Arm, these performance optimizations help you work faster, reduce downtime, and boost productivity. Stay current with the latest updates to keep your development environment running at peak efficiency.
Share your feedback and help us improve
We’re always looking for ways to enhance Docker Desktop and make it the best tool for your development needs. If you have feedback on performance, ideas for improvement, or issues you’d like to discuss, we’d love to hear from you. If you have feedback on performance, ideas for improvement, or issues you’d like to discuss, we’d love to hear from you. Feel free to reach out and schedule time to chat directly with a Docker Desktop Product Manager via Calendly.
This month we are announcing a couple of new products including a SBC and a successor to the PineCube. We have updates to share about the PineNote and the PineDio USB adapter this month along with a talk by one of our community members Dsimic.
After shifting my career from a product security program manager to chief architect, it was time for me to dip my toes into artificial intelligence (AI)—until that moment, I was pretty much a prompt operator.Why train my own models? Sometimes you have confidential, regulated or restricted information that can’t be uploaded to other third-party platforms (well, your data might end up training their model). Or, you might want to have tighter control over various aspects of your model.Think of a provider uploading your data into an external platform—there are lots of risks involved, like le
Ahead of the upcoming freeze for Wine 10.0, VKD3D 1.14 is now available for this prominent Wine component that allows Direct3D 12 to be implemented over the Vulkan API for enhancing Windows games/apps running on Linux and other platforms...
At Seeed Studio, we know how frustrating it can be to deal with stock shortages and long shipping times. That’s why we’re excited to announce major improvements to the availability of the SenseCAP T1000-E, our compact and powerful tracker designed for Meshtastic users.
With its pocket-sized design, low-power performance, and integration of Semtech’s LR1110 (863-928 MHz), Nordic’s nRF52840, and Mediatek’s AG3335 GPS module, the T1000-E delivers precise positioning and reliable communication for adventurers and professionals alike.
Now with Local Warehouse Pre-Order Options
We’ve listened to your feedback and worked hard to ensure that availability is no longer an obstacle. Here’s how you can get your hands on the T1000-E faster:
Local Warehouse Pre-Orders: View stock arrival times at our US or DE warehouses, place a pre-order, and secure your product before it sells out.
CN Warehouse for Immediate Shipping: Need it right away? Order from our CN warehouse, which ships immediately. For US customers, orders under $800 do not require customs clearance, making this option even more convenient.
If shipping costs seem high due to your location, you can also explore alternative purchase channels such as Amazon or AliExpress for more options.
Special Offers You Don’t Want to Miss
To make your shopping experience even better, we’re offering exciting promotions:
Buy 2, Get 2 Free: Add 2 T1000-E Trackers and 2 Snap Hooks to your cart, and the snap hooks are FREE at checkout (a $3.98 value).
Thanksgiving Deals: Over 200 products are on sale with discounts, Buy 2 Get 1 Free offers, and flash sales happening now!
Your Feedback Shapes Our Service
Your suggestions have inspired many of these changes. From addressing concerns about stock availability to offering pre-order options, we’ve taken your input seriously and will continue improving our services.
We’re always here to assist you. If you encounter any issues or have questions about the T1000-E, feel free to reach out:
Shop the SenseCAP T1000-E today and enjoy the convenience of our enhanced availability and exclusive offers. Your support drives us to do better, and we’re excited to help you take your projects to the next level!