Announcement

Collapse
No announcement yet.

MSM+Freedreno Driver Stack Adding Support For The Adreno 510 GPU

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • MSM+Freedreno Driver Stack Adding Support For The Adreno 510 GPU

    Phoronix: MSM+Freedreno Driver Stack Adding Support For The Adreno 510 GPU

    While the MSM+Freedreno open-source graphics driver stack already supports the Adreno 500 and 600 series, one of the GPUs not seeing support until now was the basic Adreno 510. Kernel patches are pending for A510 enablement while the Mesa support was already merged...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Us it possible to test current support by booting a traditional image via eg TWRP?

    I have an old phone lying around that I would like to try this with, but I cannot see how traditional linux can be booted instead of n android image.

    Comment


    • #3
      if you have an unlocked bootloader, you can pack kernel/dtb/initrd into a boot.img and boot that w/ fastboot. Here is an example script:
      Code:
      #!/bin/sh
      
      #mkbootimg=$skales/mkbootimg
      mkbootimg=mkbootimg
      kernel=$HOME/src/linux/aarch64
      initrd="initrd-f30.img"
      fs="/dev/sda3"
      
      cmdline="root=$fs rw rootwait console=tty0 console=ttyMSM0,115200n8 text"
      
      # enable some debug:
      #cmdline="$cmdline drm.debug=31 debug"
      
      cmdline="$cmdline loglevel=10"
      cmdline="$cmdline earlycon=serial,ttyMSM0,115200,n8"
      
      tmp=/tmp/appended.$RANDOM
      
      rm -f $tmp
      cat $kernel/arch/arm64/boot/Image.gz >> $tmp
      cat $kernel/arch/arm64/boot/dts/qcom/apq8016-sbc.dtb >> $tmp
      
      rm -f boot-db410c.img
      $mkbootimg --kernel $tmp \
              --ramdisk $initrd \
              --output boot-db410c.img \
              --pagesize 2048 \
              --base 0x8000000 \
              --cmdline "$cmdline"
      If it is a phone that no one has enabled upstream, you'll need to create a dt .dts file for the device. But at least if other phones with same SoC are supported, there should be a lot that can be reused.. if not, I'd plan on more work (porting low level platform drivers for things like clocks/pinctl/etc, and core SoC .dtsi file)

      Comment


      • #4
        TWRP and Android 10 both worked nice on the Xperia X and X Compact (MSM8956) but, as Rob said, if you wish to try a device that's not upstreamed yet, you'll either have to wait a lil or create your own device-trees.

        If your phone is MSM8956, MSM8976 or APQ variants of these, then you may want to look around in the kernel mailing lists to get what you need... or if it's one of these two Sony devices, then a little Google search will make you find the right GitHub user having a very very dirty (lots of early code and cr**) kernel-upstream GIT repository with some branch in a "working" state.


        Good luck!

        P.S.: Nice to see this kind of interest on Adreno 510!

        Comment


        • #5
          the phone i want to play with is a few years old now. GSMArena shows the SOC Details as:
          Chipset Qualcomm MSM8916 Snapdragon 410 (28 nm)
          CPU Quad-core 1.2 GHz Cortex-A53
          GPU Adreno 306
          I think most of the drivers are upstreamed but a few others aren't, based on the unofficial lineageOS support for it.

          Is there a simpler guide out there how to do this with traditional linux? I downloaded an arm linux image from Fedora, but unzipping it there is no boot.img etc.

          The last time I played around with such devices was a few years ago with a HP Touchpad (which i still have somewhere. Great sturdy device), so trying to re-learn and jump to a traditional linux at the same time instead of android etc.

          Comment


          • #6
            Originally posted by You- View Post
            the phone i want to play with is a few years old now. GSMArena shows the SOC Details as:
            Chipset Qualcomm MSM8916 Snapdragon 410 (28 nm)
            CPU Quad-core 1.2 GHz Cortex-A53
            GPU Adreno 306
            I think most of the drivers are upstreamed but a few others aren't, based on the unofficial lineageOS support for it.

            Is there a simpler guide out there how to do this with traditional linux? I downloaded an arm linux image from Fedora, but unzipping it there is no boot.img etc.

            The last time I played around with such devices was a few years ago with a HP Touchpad (which i still have somewhere. Great sturdy device), so trying to re-learn and jump to a traditional linux at the same time instead of android etc.
            so good news is that 8916 is has been pretty well supported upstream for at least a couple years.. but no idea if some work has been done on your particular device.. so there might still be some (mostly dt) porting work.. but at least it isn't starting from scratch.

            For traditional desktop distro like fedora, you'll have to build your own boot.img with something similar to the script I posted earlier, since they aren't going to support out of the box the android boot chain. (There is chain-loaded u-boot support for db410c, which uses the same 8x16 SoC.. and via efi_loader in u-boot supports the more standardized UEFI->grub->distro boot chain.. but one of the phone oriented distros might have better support for the "android"ish boot chain).

            Comment

            Working...
            X