Language Selection

English French German Italian Portuguese Spanish

Linux Kernel and Linux Foundation

Filed under
Linux
  • Alyssa Rosenzweig: Dissecting the Apple M1 GPU, part II

    The bulk of the new code is responsible for constructing the various command buffers and descriptors resident in shared memory, used to control the GPU’s behaviour. Any state accessible from Metal corresponds to bits in these buffers, so understanding them will be the next major task. So far, I have focused less on the content and more on the connections between them. In particular, the structures contain pointers to one another, sometimes nested multiple layers deep. The bring-up process for the project’s triangle provides a bird’s eye view of how all these disparate pieces in memory fit together.

    As an example, the application-provided vertex data are in their own buffers. An internal table in yet another buffer points each of these vertex buffers. That internal table is passed directly as input to the vertex shader, specified in another buffer. That description of the vertex shader, including the address of the code in executable memory, is pointed to by another buffer, itself referenced from the main command buffer, which is referenced by a handle in the IOKit call to submit a command buffer. Whew!

    In other words, the demo code is not yet intended to demonstrate an understanding of the fine-grained details of the command buffers, but rather to demonstrate there is “nothing missing”. Since GPU virtual addresses change from run to run, the demo validates that all of the pointers required are identified and can be relocated freely in memory using our own (trivial) allocator. As there is a bit of “magic” around memory and command buffer allocation on macOS, having this code working at an early stage gives peace of mind going forward.

  • Apple M1 Open-Source GPU Bring-Up Sees An Early Triangle

    The open-source/Linux Apple M1 work continues to be quite busy this week... The latest is Alyssa Rosenzweig who has been working on reverse-engineering the M1 graphics processor has been able to write some early and primitive code for rendering a triangle.

    Alyssa Rosenzweig of Panfrost fame has been working to reverse engineer the Apple M1 graphics as part of the Asahi Linux effort with developer Marcan.

  • Linux 5.12 Set To See Support For The Nintendo 64 - Phoronix

    It's taken nearly twenty five years but the mainline Linux kernel this year will be able to boot on the Nintendo 64 game console... It's looking like the Nintendo 64 support will be merged with the upcoming Linux 5.12 kernel.

    Back on Christmas we wrote about a new Linux kernel port to the Nintendo 64. The port was done by longtime open-source developer Lauri Kasanen and done for his own personal satisfaction with being unsure if there would be any interest in having the code upstreamed into the Linux kernel.

  • Implementing a performance boosting algorithm in Coccinelle

    Last year, from June to September, I worked on the kernel development tool Coccinelle under Collabora. I implemented a performance boosting algorithm for one of Coccinelle's use cases. Here's a look at this work.

    What is Coccinelle?

    Coccinelle is a tool used to refactor C source code. It's used for development in the Linux Kernel. You write an abstract patch (called a Semantic patch in Coccinelle terms), basically to remove a few lines of code and add some, to make a tree-wide change.

  • Blacks In Technology Partners With The Linux Foundation To Offer $100,000 Worth Of Scholarships
  • Linux Foundation Launches Open Source Management Training Series

    The training courses are aimed at helping executives, managers, and software developers “understand and articulate the basic concepts for building effective open source practices within their organization. It is also helpful for a leadership audience responsible for setting up effective program management of open source in their organization,” the website states.

On scholarships...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

Small Image Tools that Pack a Real Punch

The spotlight usually focuses on the heavyweight Linux graphics tools such as GIMP, Shotwell, digiKam, Inkscape, and Krita. However, there are many other open source graphics tools that merit attention. Linux offers a vast collection of open source small utilities that perform functions ranging from the obvious to the bizarre. It is the quality and selection of these tools that help Linux stand out as a productive environment. A good utility cooperates with other applications, integrating seamlessly. Although command-line tools are very useful for updating, configuring, and repairing a system, their benefits are not only confined to system administration. The majority of the applications featured in this article are command-line tools. They are very light on system resources, fast and efficient, don’t rely on a windowing system, and are great for integrating with other applications and scripting. The term lightweight is a label attached to computer software which is relatively simpler or faster than its counterparts. Feature bloat is endemic in software especially commercial software. Often, the easiest way to persuade users to upgrade to the latest version is to add new spangly features. This happens with open source software (to a lesser degree), and open source graphics software is not immune to feature bloat. Well, there is no feature bloat here! To provide an insight into the quality of software that is available, we have compiled a list of small image tools that are incredibly useful. Read more

Debian: Rejections, LTS Work, and Bugfixes

  • Thorsten Alteholz: My Debian Activities in February 2021

    FTP master This month I accepted 162 and rejected 28 packages, which is again a small increase compared to last month. The overall number of packages that got accepted was 291. Debian LTS This was my eightieth month that I did some work for the Debian LTS initiative, started by Raphael Hertzog at Freexian.

  • RCBW 21.9 – jwiltshire.org.uk

    A recent upload of electrum suffers from the serious bug #981374. On the face of it this is just a missing package dependency: can you help with testing and preparing an updated package to fix this? You don’t need to be a Debian Developer to get stuck into this one!

Videos and Shows: KDE Community Edition PinePhone and This Week in Linux

  • KDE Community Edition PinePhone Unboxing and First Try! - YouTube

    In this video I'm "unboxing" (or, rather, showing the box and its contents) of the pinephone, and trying it for my first time!

  • This Week in Linux 141: GRUB 2 Security Flaw, Linux Mint to Force Updates?, Valve’s Steam Link

    On this episode of This Week in Linux, we’re going to try something different with the show. Let me know what you think of the changes. This episode is completely stacked with exciting news, we’ve got a ton of Distro News from Ubuntu, openSUSE, Linux Mint, SystemRescue, IPFire, and even Linux From Scratch. A vulnerability was found in GRUB 2 that lets someone bypass Secure Boot so we’ll talk about that and just how bad is it? The EU announced some great news related to Right to Repair. Valve has announced that Steam Link is now available on Linux and it’s a real game changer. We’ve also got some media production news to check out this week from Blender, Ardour and a new synthesizer called Vital. All that and much more on Your Weekly Source for Linux GNews!

Hands-On with Raspup on Raspberry Pi 4: Puppy Linux for Tinkerers

If you never heard of Raspup before, let me tell you that it’s a Debian-based GNU/Linux distribution built from the Woof-CE build system that was originally developed by Barry Kauler, the creator of Puppy Linux, and binary compatible with Raspbian (the official Raspberry Pi OS). As such, Raspup is a Puppy Linux port for Raspberry Pi. Raspup was created by Michael Amadio and it’s designed to run on ARMv7l hardware, specifically on the Raspberry Pi Zero, Raspberry Pi 1, Raspberry Pi 2, Raspberry Pi 3, Raspberry Pi 3+, and Raspberry Pi 4 single-board computers (SBCs). Read more