NixOS on ARM/PINE64 ROCKPro64: Difference between revisions
imported>Thra11 Add note explaining that addr_ramdisk_r needs to be increased to boot the mainline kernel |
imported>Thra11 Add section describing how to get the panfrost GPU driver to work |
||
Line 76: | Line 76: | ||
* [https://github.com/ayufan-rock64/linux-mainline-kernel ayufan-rock64/linux-mainline-kernel] mainline based, with potentially fewer hardware features supported. This kernel is not based on a kernel stable branch, so it may have more bugs (unrelated to the hardware). {{note|The kernel image built from ayufan-rock64/linux-mainline-kernel is too large to fit into the default memory layout defined in the rockpro64 u-boot. This means that, when unpacked, the kernel will overwrite the beginning of the initrd in memory, rendering the initrd unusable and causing the boot to fail. This can be fixed by setting the u-boot environment variable, <code>addr_ramdisk_r</code> to a larger value, either by interrupting u-boot, or by patching the ubootRockPro64 sources to change the default.}} | * [https://github.com/ayufan-rock64/linux-mainline-kernel ayufan-rock64/linux-mainline-kernel] mainline based, with potentially fewer hardware features supported. This kernel is not based on a kernel stable branch, so it may have more bugs (unrelated to the hardware). {{note|The kernel image built from ayufan-rock64/linux-mainline-kernel is too large to fit into the default memory layout defined in the rockpro64 u-boot. This means that, when unpacked, the kernel will overwrite the beginning of the initrd in memory, rendering the initrd unusable and causing the boot to fail. This can be fixed by setting the u-boot environment variable, <code>addr_ramdisk_r</code> to a larger value, either by interrupting u-boot, or by patching the ubootRockPro64 sources to change the default.}} | ||
{{note|Keep in mind that using non-upstream forks of the kernel always incurs some security risk.}} | {{note|Keep in mind that using non-upstream forks of the kernel always incurs some security risk.}} | ||
== Panfrost GPU Driver == | |||
The RockPro64's GPU is supported by the open source Panfrost driver. The downstream ayufan-rock64/linux-mainline-kernel is known to work. The mainline kernel may also work, but has not been tested. At the time of writing, support has been added to the required userspace libraries, but the changes have not yet been released. It is therefore necessary to build libdrm, mesa, mesa-glu and kmscube from their respective git sources. | |||
== Resources == | == Resources == | ||
* [https://www.pine64.org/?page_id=61454 Official product page] | * [https://www.pine64.org/?page_id=61454 Official product page] |