主要适配RK3588 Mali610GPU
准备文件
1、Qt6源码
2、必须安装的依赖文件
3、缺失的文件fbdev_window.h
其中第三项比较重要,关系到编译初期能够识别到GPU库。
fbdev_window.h内容如下:
cpp
/*
* This confidential and proprietary software may be used only as
* authorised by a licensing agreement from ARM Limited
* (C) COPYRIGHT 2008-2011 ARM Limited
* ALL RIGHTS RESERVED
* The entire notice above must be reproduced on all authorised
* copies and copies may only be made to the extent permitted
* by a licensing agreement from ARM Limited.
*/
/**
* @file fbdev_window.h
* @brief A window type for the framebuffer device (used by egl and tests)
*/
#ifndef _FBDEV_WINDOW_H_
#define _FBDEV_WINDOW_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef enum
{
FBDEV_PIXMAP_DEFAULT = 0,
FBDEV_PIXMAP_SUPPORTS_UMP = (1<<0),
FBDEV_PIXMAP_ALPHA_FORMAT_PRE = (1<<1),
FBDEV_PIXMAP_COLORSPACE_sRGB = (1<<2),
FBDEV_PIXMAP_EGL_MEMORY = (1<<3) /* EGL allocates/frees this memory */
} fbdev_pixmap_flags;
typedef struct fbdev_window
{
unsigned short width;
unsigned short height;
} fbdev_window;
typedef struct fbdev_pixmap
{
unsigned int height;
unsigned int width;
unsigned int bytes_per_pixel;
unsigned char buffer_size;
unsigned char red_size;
unsigned char green_size;
unsigned char blue_size;
unsigned char alpha_size;
unsigned char luminance_size;
fbdev_pixmap_flags flags;
unsigned short *data;
unsigned int format; /* extra format information in case rgbal is not enough, especially for YUV formats */
} fbdev_pixmap;
#ifdef __cplusplus
}
#endif
#endif
该文件应放置于/usr/include/EGL/路径下方
然后就是准备的源码进行解压,解压完成后执行预编译指令
cpp
./configure -opengl es2
这一步也很重要,估计是3588只支持es2否则也不能正常调用gpu
其余的就是各种三方依赖需要满足对应的版本要求即可。