Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Android Google

Google Plans RISC-V Android Tools In 2024, Wants Developers To 'Be Ready' (arstechnica.com) 47

An anonymous reader quotes a report from Ars Technica: Android is slowly entering the RISC-V era. So far we've seen Google say it wants to give the up-and-coming CPU architecture "tier-1" support in Android, putting RISC-V on equal footing with Arm. Qualcomm has announced the first mass-market RISC-V Android chip, a still-untitled Snapdragon Wear chip for smartwatches. Now Google has announced a timeline for developer tools via the Google Open Source Blog. The last post is titled "Android and RISC-V: What you need to know to be ready."

Getting the Android OS and app ecosystem to support a new architecture is going to take an incredible amount of work from Google and developers, and these tools are laying the foundation for that work. First up, Google already has the "Cuttlefish" virtual device emulator running, including a gif of it booting up. This isn't the official "Android Emulator" -- which is targeted at app developers doing app development -- Cuttlefish is a hardware emulator for Android OS development. It's the same idea as the Android Emulator but for the bottom half of the tech stack -- the kernel, framework, and hardware bits. Cuttlefish lets Google and other Android OS contributors work on a RISC-V Android build without messing with an individual RISC-V device. Google says it's working well enough now that you can download and emulate a RISC-V device today, though the company warns that nothing is optimized yet.

The next step is getting the Android Emulator (for app developers) up and running, and Google says: "By 2024, the plan is to have emulators available publicly, with a full feature set to test applications for various device form factors!" The nice thing about Android is that most app code is written with no architecture in mind -- it's all just Java/Kotlin. So once the Android RunTime starts spitting out RISC-V code, a lot of app code should Just Work. That means most of the porting work will need to go into things written in the NDK, the native developer kit, like libraries and games. The emulator will still be great for testing, though.

This discussion has been archived. No new comments can be posted.

Google Plans RISC-V Android Tools In 2024, Wants Developers To 'Be Ready'

Comments Filter:
  • by ZipNada ( 10152669 ) on Tuesday October 31, 2023 @04:08PM (#63969864)

    It seems to me that the main tasks will be rewriting device drivers for all the hardware components in the phones, and reworking the memory management. I wonder how much assembler there is in Android OS?

    • by caseih ( 160668 )

      Actually there is very little reworking required. Linux is extremely portable and already runs on RISC V. It's mostly a tooling thing. Compilers are already there. So it's mostly a matter of setting RISC V as the target platform and hit make. There are no doubt small amounts of assembly in the Android Runtime VM, but that's already been ported.

      Android has always had OEM-supplied binary firmware blobs to interface with the GPU and locked bootloaders. This is no different on RISC V.

      Probably 90% of the apps o

    • I wonder how much assembler there is in Android OS?

      Not much, it's mostly in the Linux Kernel.

    • Android is just a userland on the Linux kernel. Most stuff will likely just require a recompile, although having to deal with new SBC drivers will be what the engineers will have to deal with.

  • Which variant of RISC-V should we expect to code against? Obviously some flavor of RV64I, but it seems like we still have some pretty big differences between vendors. Admittedly the worst problems are below user space and really only matter to kernel developers. But I still feel like R5 is still a tough target for app developers to reliably produce compatible binaries. I guess what I'm hoping for is a stricter spec kind of like ARM has for Aarch64 SBSA (Server Base System Architecture).

    P.S. I love R5. I've

    • Based on Qualcomm's R5 chip apparently. Mostly they're pointing at RISC-V Software Ecosystem's [riseproject.dev] compiler offerings and indicating let the compiler handle it.

      But I still feel like R5 is still a tough target for app developers to reliably produce compatible binaries

      Well it's just Qualcomm at the moment, so there's little reason for portable for the moment. But I do know that SiFive and others that have R5 chips are joined in with RISE, so maybe they've got a point about trust the compiler? I don't know, a lot of the stuff on the site doesn't look to be updated and the documentation indicates:

      Our WG does not have a recurring meeting; instead we try to handle RISE specific items via email and the project specific items in the project related meetings

      So I guess you need

      • and indicating let the compiler handle it.

        That's the head scratcher to me. There are a ton of different compiler options that control parameters and instructions in a RISC-V toolchain. And the Embedded (E) variants can get pretty out there with a different number of general purpose registers and no GPU. But we can safely ignore (E) variants if it is for a reasonably portable Android BSP.

        Well it's just Qualcomm at the moment, so there's little reason for portable for the moment.

        So Google didn't learn their lesson from NVIDIA's 64-bit ARM ( Nexus 9's Denver CPU) that was a slightly older rev than what ended up being commonplace by the end o

        • So Google didn't learn their lesson from NVIDIA's 64-bit ARM

          Muwahahahahaha. Do they ever?

          Maybe if I were still on a chip bring-up team I'd be more deeply involved in RISE

          Agreed. I'd love to see R5 but I'm too old for that ground laying work. I'm a bit bias towards OpenPOWER since I'm z and i machines for a living (see aforementioned old), but IBM still has the lion's share of say in the spec that it feels less open than R5.

          but it also will probably do what Google feels best

          I mean that's what happened to the web so, yeah pretty much agree there too.

    • P.S. I love R5. I've been slowly porting my hobby projects to an Allwinner D1 board (Mango Pi MQ Pro).

      What is great about it?

    • by AmiMoJo ( 196126 )

      You shouldn't have to worry about which variant of RISC-V you are targeting for most apps. They compile to Kotlin byte code, not machine code. During installation the byte code is compiled into appropriate machine code for your device.

      You can use compiled C code as well, in which case you can provide multiple variants and the Play Store will pick the right one for the user's device.

      • NDK is still a thing on Android and a product requirement that can't be ignored.

        A working Bionic runtime that is binary compatible with AOSP is also very desirable. We're going to see some de facto standard for RISC-V binaries or something explicit like RISE hit the Android ecosystem for this to be a viable platform.

        You can use compiled C code as well, in which case you can provide multiple variants and the Play Store will pick the right one for the user's device.

        You can't identify them as there is a serious issue with describing a particular RISC-V implementation. It's accurately described by the set of compiler parameters you built your toolchain with,

        • eh?
          specific ABI differences in the same hardware have always been specified in the -march.
          there are like 800 arm -marches.
  • The team at Pine64 already made a Linux capable RISC-V tablet. Obviously not the top end of large tablets, but not too expensive either. Software is not really ready, so it is only suitable for OS developers.

    Here is a link to the store page:
    Pine64 - tablets store page [pine64.com]

    They also have a Wiki page on the hardware:
    Pine64 - RISC-V tablet Wiki page [pine64.org]


    Now I don't know if that is a stable tablet, (meaning hardware reliable whence the OS is complete enough). Nor do I think it will be as fast as most tablets o
  • How about they fix their stupid OS so that it doesn't hiccup and stutter when just scrolling a heavy website, especially as the phone ages and more apps get installed? They just brute forced the problem with high CPU speeds but the OS is so crude. Its update methods, its privacy protections, its UI priority. They're so god dang lazy to not be willing to redo the architecture it after all these years. I remember Android fanboys getting so hyped over Fuschia because it was supposed to be a legitimately fa

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (10) Sorry, but that's too useful.

Working...