Merge pull request #641 from raspberrypi/pi5-embedded

WIP: Pi5 embedded support
This commit is contained in:
maxnet 2023-10-16 23:45:26 +02:00 committed by GitHub
commit bd7bc8e7ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 369 additions and 68 deletions

View file

@ -3,10 +3,11 @@
set -e set -e
BUILDROOT=buildroot BUILDROOT=buildroot
BUILDROOT_TAR=buildroot-20220122.tar.bz2 BUILDROOT_TAR=buildroot-20231002.tar.bz2
if [ ! -e $BUILDROOT ]; then if [ ! -e $BUILDROOT ]; then
tar xjf $BUILDROOT_TAR tar xjf $BUILDROOT_TAR
patch -p0 < buildroot-mesa3d-pi5.patch
fi fi
if [ ! -e $BUILDROOT/.config ]; then if [ ! -e $BUILDROOT/.config ]; then
@ -24,7 +25,7 @@ make -C $BUILDROOT BR2_EXTERNAL="$PWD/imager"
# #
# Copy Linux kernel and initramfs # Copy Linux kernel and initramfs
cp $BUILDROOT/output/images/rootfs.cpio.zst $BUILDROOT/output/images/zImage output cp $BUILDROOT/output/images/rootfs.cpio.zst $BUILDROOT/output/images/Image.gz output
# Raspberry Pi firmware files # Raspberry Pi firmware files
cp $BUILDROOT/output/images/rpi-firmware/start4.elf output cp $BUILDROOT/output/images/rpi-firmware/start4.elf output
cp $BUILDROOT/output/images/rpi-firmware/fixup4.dat output cp $BUILDROOT/output/images/rpi-firmware/fixup4.dat output
@ -36,10 +37,13 @@ touch output/bootcode.bin
mkdir -p output/overlays mkdir -p output/overlays
mv -f output/dwc2-overlay.dtb output/overlays/dwc2.dtbo mv -f output/dwc2-overlay.dtb output/overlays/dwc2.dtbo
mv -f output/vc4-fkms-v3d-pi4-overlay.dtb output/overlays/vc4-fkms-v3d-pi4.dtbo mv -f output/vc4-kms-v3d-pi5-overlay.dtb output/overlays/vc4-kms-v3d-pi5.dtbo
mv -f output/vc4-kms-v3d-pi4-overlay.dtb output/overlays/vc4-kms-v3d-pi4.dtbo mv -f output/vc4-kms-v3d-pi4-overlay.dtb output/overlays/vc4-kms-v3d-pi4.dtbo
mv -f output/disable-bt-overlay.dtb output/overlays/disable-bt.dtbo mv -f output/disable-bt-overlay.dtb output/overlays/disable-bt.dtbo
mv -f output/disable-wifi-overlay.dtb output/overlays/disable-wifi.dtbo mv -f output/disable-wifi-overlay.dtb output/overlays/disable-wifi.dtbo
mv -f output/disable-bt-pi5-overlay.dtb output/overlays/disable-bt-pi5.dtbo
mv -f output/disable-wifi-pi5-overlay.dtb output/overlays/disable-wifi-pi5.dtbo
mv -f output/overlay_map.dtb output/overlays/overlay_map.dtb
echo echo
echo Build complete. Files are in output folder. echo Build complete. Files are in output folder.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,150 @@
diff -urN buildroot/package/mesa3d.orig/0004-Fix-uClibc-build.patch buildroot/package/mesa3d/0004-Fix-uClibc-build.patch
--- buildroot/package/mesa3d.orig/0004-Fix-uClibc-build.patch 2023-10-01 23:05:28.000000000 +0200
+++ buildroot/package/mesa3d/0004-Fix-uClibc-build.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-From 09ce52fe375a6fc1ccf51b6b691aaa2c3f53fbd5 Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd.kuhls@t-online.de>
-Date: Fri, 3 Jun 2022 16:26:03 +0200
-Subject: [PATCH] Fix uClibc build
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes build errors with uClibc and gcc-9.3.0:
-
-../src/gallium/drivers/lima/lima_texture.c:47:15: error: expected
- declaration specifiers or ... before __builtin_offsetof
- 47 | static_assert(offsetof(lima_tex_desc, va) == 24,
- "lima_tex_desc->va offset isn't 24");
-
-../src/egl/main/egldisplay.c: In function _eglGetNativePlatformFromEnv:
- ../src/egl/main/egldisplay.c:101:4: error: implicit declaration of
- function static_assert [-Werror=implicit-function-declaration] 101 |
- static_assert(ARRAY_SIZE(egl_platforms) == _EGL_NUM_PLATFORMS,
-
-../src/util/macros.h:74:4: error: implicit declaration of function
- static_assert [-Werror=implicit-function-declaration]
- 74 | static_assert(cond, #cond); \
- | ^~~~~~~~~~~~~
-
-Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13898
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- src/util/compiler.h | 10 ++++++++++
- src/util/macros.h | 1 +
- 2 files changed, 11 insertions(+)
-
-diff --git a/src/util/compiler.h b/src/util/compiler.h
-index d184ad455af..b5c56807acc 100644
---- a/src/util/compiler.h
-+++ b/src/util/compiler.h
-@@ -36,6 +36,16 @@
-
- #include <assert.h>
-
-+/*
-+ * C11 static_assert() macro
-+ * assert.h only defines that name for C11 and above
-+ */
-+#if !defined(__cplusplus)
-+#ifndef static_assert
-+#define static_assert _Static_assert
-+#endif
-+#endif
-+
- #include "util/macros.h"
-
-
-diff --git a/src/util/macros.h b/src/util/macros.h
-index 22b18303826..8f73ee72693 100644
---- a/src/util/macros.h
-+++ b/src/util/macros.h
-@@ -27,6 +27,7 @@
- #include <stddef.h>
- #include <stdint.h>
- #include <stdio.h>
-+#include "util/compiler.h"
-
- /* Compute the size of an array */
- #ifndef ARRAY_SIZE
---
-2.34.1
-
diff -urN buildroot/package/mesa3d.orig/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch buildroot/package/mesa3d/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch
--- buildroot/package/mesa3d.orig/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch 2023-10-01 23:05:28.000000000 +0200
+++ buildroot/package/mesa3d/0006-meson-ensure-i915-Gallium-driver-includes-Intel-sour.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-From cd861b7f38e448822ce765aee61304d1e0a3a8b5 Mon Sep 17 00:00:00 2001
-From: James Knight <james.d.knight@live.com>
-Date: Thu, 13 Apr 2023 16:38:51 -0400
-Subject: meson: ensure i915 Gallium driver includes Intel sources
-
-Ensure builds flag the use of Intel sources when the i915 Gallium driver
-is configured (`-Dgallium-drivers=i915`). Otherwise, a build may fail if
-other Intel-based configuration options are not enabled:
-
- ./src/gallium/winsys/i915/drm/meson.build:21:0: ERROR: Unknown variable "libintel_common".
-
-Signed-off-by: James Knight <james.d.knight@live.com>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22490>
-
-Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/commit/cd861b7f38e448822ce765aee61304d1e0a3a8b5
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- meson.build | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-(limited to 'meson.build')
-
-diff --git a/meson.build b/meson.build
-index 23d2d965b37..a3e3c5478a8 100644
---- a/meson.build
-+++ b/meson.build
-@@ -245,7 +245,14 @@ with_microsoft_vk = _vulkan_drivers.contains('microsoft-experimental')
- with_any_vk = _vulkan_drivers.length() != 0
-
- with_any_broadcom = with_gallium_vc4 or with_gallium_v3d or with_broadcom_vk
--with_any_intel = with_intel_vk or with_intel_hasvk or with_gallium_iris or with_gallium_crocus or with_intel_tools
-+with_any_intel = [
-+ with_gallium_crocus,
-+ with_gallium_i915,
-+ with_gallium_iris,
-+ with_intel_hasvk,
-+ with_intel_tools,
-+ with_intel_vk,
-+].contains(true)
-
- if with_swrast_vk and not with_gallium_softpipe
- error('swrast vulkan requires gallium swrast')
---
-cgit v1.2.1
-
diff -urN buildroot/package/mesa3d.orig/mesa3d.hash buildroot/package/mesa3d/mesa3d.hash
--- buildroot/package/mesa3d.orig/mesa3d.hash 2023-10-01 23:05:28.000000000 +0200
+++ buildroot/package/mesa3d/mesa3d.hash 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2023-September/000730.html
-sha256 45434ff91a709844130a3174d9c0ef39c6b50725b2bb0c13e736f36134db14ad mesa-23.1.8.tar.xz
-sha512 02dc6f8b10dd3827a2b62fba3035726b1b60ec0c3188817deea2ad14f80f332a37272e9f15c5f653f20cecb14f8ff91697d73c89afc83674c19b686a674b677d mesa-23.1.8.tar.xz
-# License
-sha256 a00275a53178e2645fb65be99a785c110513446a5071ff2c698ed260ad917d75 docs/license.rst
diff -urN buildroot/package/mesa3d.orig/mesa3d.mk buildroot/package/mesa3d/mesa3d.mk
--- buildroot/package/mesa3d.orig/mesa3d.mk 2023-10-01 23:05:28.000000000 +0200
+++ buildroot/package/mesa3d/mesa3d.mk 2023-10-16 22:07:23.863228341 +0200
@@ -4,10 +4,10 @@
#
################################################################################
-# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 23.1.8
-MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
-MESA3D_SITE = https://archive.mesa3d.org
+# gitid that has Pi 5 support
+MESA3D_VERSION = cba898a53059b12b948fba7c69634a033c6dccad
+MESA3D_SITE = https://gitlab.freedesktop.org/mesa/mesa.git
+MESA3D_SITE_METHOD = git
MESA3D_LICENSE = MIT, SGI, Khronos
MESA3D_LICENSE_FILES = docs/license.rst
MESA3D_CPE_ID_VENDOR = mesa3d

View file

@ -1,17 +1,21 @@
CONFIG_LOCALVERSION="-v7l" CONFIG_LOCALVERSION="-v8"
# CONFIG_LOCALVERSION_AUTO is not set # CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE=y
CONFIG_GENERIC_IRQ_DEBUGFS=y CONFIG_GENERIC_IRQ_DEBUGFS=y
CONFIG_NO_HZ=y CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT_VOLUNTARY=y CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_PREEMPT=y
CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_MEMCG=y CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y CONFIG_BLK_CGROUP=y
@ -25,21 +29,28 @@ CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y CONFIG_CGROUP_BPF=y
CONFIG_NAMESPACES=y CONFIG_NAMESPACES=y
CONFIG_USER_NS=y CONFIG_USER_NS=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_BPF_SYSCALL=y
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y CONFIG_PROFILING=y
CONFIG_ARCH_BCM=y CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y CONFIG_ARCH_BCM2835=y
CONFIG_ARM_LPAE=y CONFIG_ARCH_BRCMSTB=y
# CONFIG_CACHE_L2X0 is not set # CONFIG_CAVIUM_ERRATUM_22375 is not set
CONFIG_SMP=y # CONFIG_CAVIUM_ERRATUM_23154 is not set
CONFIG_HIGHMEM=y # CONFIG_CAVIUM_ERRATUM_27456 is not set
CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_COMPAT=y
# CONFIG_ATAGS is not set CONFIG_ARMV8_DEPRECATED=y
CONFIG_SWP_EMULATION=y
CONFIG_CP15_BARRIER_EMULATION=y
CONFIG_SETEND_EMULATION=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" CONFIG_CMDLINE="console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
# CONFIG_SUSPEND is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
@ -50,28 +61,27 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPUFREQ_DT=y CONFIG_CPUFREQ_DT=y
CONFIG_ARM_RASPBERRYPI_CPUFREQ=y CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
CONFIG_VFP=y CONFIG_VIRTUALIZATION=y
CONFIG_NEON=y CONFIG_KVM=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_SUSPEND is not set
CONFIG_PM=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_JUMP_LABEL=y CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_COMPRESS_XZ=y
CONFIG_BLK_DEV_THROTTLING=y CONFIG_BLK_DEV_THROTTLING=y
CONFIG_PARTITION_ADVANCED=y CONFIG_PARTITION_ADVANCED=y
CONFIG_MAC_PARTITION=y CONFIG_MAC_PARTITION=y
CONFIG_CLEANCACHE=y
CONFIG_FRONTSWAP=y
CONFIG_CMA=y
CONFIG_ZSWAP=y CONFIG_ZSWAP=y
# CONFIG_COMPAT_BRK is not set
CONFIG_CMA=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
CONFIG_NET=y CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
CONFIG_UNIX=y CONFIG_UNIX=y
CONFIG_XFRM_USER=y CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_STATISTICS=y
CONFIG_INET=y CONFIG_INET=y
CONFIG_IP_MULTICAST=y CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_ADVANCED_ROUTER=y
@ -94,12 +104,15 @@ CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_PIMSM_V2=y
CONFIG_MPTCP=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y CONFIG_NF_TABLES_NETDEV=y
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_ESP=y
@ -111,6 +124,7 @@ CONFIG_L2TP_V3=y
CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_GVRP=y
CONFIG_NET_SCHED=y CONFIG_NET_SCHED=y
CONFIG_CLS_U32_MARK=y CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH=y
CONFIG_NET_CLS_ACT=y CONFIG_NET_CLS_ACT=y
CONFIG_GACT_PROB=y CONFIG_GACT_PROB=y
@ -126,12 +140,15 @@ CONFIG_MAC80211_MESH=y
CONFIG_RFKILL_INPUT=y CONFIG_RFKILL_INPUT=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEASPM is not set CONFIG_PCIEAER=y
CONFIG_PCI_MSI=y CONFIG_PCIEASPM_POWERSAVE=y
CONFIG_PCIE_BRCMSTB=y CONFIG_PCIE_DPC=y
CONFIG_UEVENT_HELPER=y CONFIG_UEVENT_HELPER=y
CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_BRCMSTB_GISB_ARB is not set
CONFIG_RASPBERRYPI_FIRMWARE=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_OF_CONFIGFS=y CONFIG_OF_CONFIGFS=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
@ -143,6 +160,7 @@ CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_MD=y CONFIG_MD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_BCMGENET=y CONFIG_BCMGENET=y
CONFIG_MACB=y
CONFIG_MICREL_PHY=y CONFIG_MICREL_PHY=y
CONFIG_PPP_FILTER=y CONFIG_PPP_FILTER=y
CONFIG_PPP_MULTILINK=y CONFIG_PPP_MULTILINK=y
@ -175,13 +193,12 @@ CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_INPUT_MISC=y CONFIG_INPUT_MISC=y
CONFIG_BRCM_CHAR_DRIVERS=y CONFIG_BRCM_CHAR_DRIVERS=y
CONFIG_BCM_VCIO=y CONFIG_BCM_VCIO=y
CONFIG_BCM2835_DEVGPIOMEM=y
# CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_SERIAL_8250_DMA is not set # CONFIG_SERIAL_8250_DMA is not set
CONFIG_SERIAL_8250_NR_UARTS=1 CONFIG_SERIAL_8250_NR_UARTS=5
CONFIG_SERIAL_8250_RUNTIME_UARTS=0 CONFIG_SERIAL_8250_RUNTIME_UARTS=0
CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_SHARE_IRQ=y
@ -193,30 +210,33 @@ CONFIG_SERIAL_SC16IS7XX_SPI=y
CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_BUS=y
CONFIG_TTY_PRINTK=y CONFIG_TTY_PRINTK=y
CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM=y
CONFIG_RAW_DRIVER=y
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_I2C=y CONFIG_I2C=y
CONFIG_SPI=y CONFIG_SPI=y
CONFIG_SPI_DW_DMA=y
CONFIG_SPI_SLAVE=y CONFIG_SPI_SLAVE=y
CONFIG_PINCTRL_RP1=y
CONFIG_PINCTRL_BCM2712=y
CONFIG_GPIO_SYSFS=y CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_BCM_VIRT=y CONFIG_GPIO_BCM_VIRT=y
CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_STMPE=y CONFIG_GPIO_STMPE=y
CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_BRCMSTB is not set
CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO=y
CONFIG_THERMAL=y
CONFIG_BCM2711_THERMAL=y CONFIG_BCM2711_THERMAL=y
CONFIG_BCM2835_THERMAL=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_BCM2835_WDT=y CONFIG_BCM2835_WDT=y
CONFIG_MFD_STMPE=y CONFIG_MFD_STMPE=y
CONFIG_STMPE_SPI=y CONFIG_STMPE_SPI=y
CONFIG_MFD_SYSCON=y
CONFIG_MFD_WM5102=y CONFIG_MFD_WM5102=y
CONFIG_MFD_RP1=y
CONFIG_REGULATOR=y CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y CONFIG_REGULATOR_GPIO=y
CONFIG_RC_CORE=y CONFIG_RC_CORE=y
CONFIG_LIRC=y
CONFIG_BPF_LIRC_MODE2=y CONFIG_BPF_LIRC_MODE2=y
CONFIG_LIRC=y
CONFIG_RC_DECODERS=y CONFIG_RC_DECODERS=y
CONFIG_RC_DEVICES=y CONFIG_RC_DEVICES=y
CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_RC=y
@ -224,6 +244,7 @@ CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_VIDEO_AU0828_RC=y CONFIG_VIDEO_AU0828_RC=y
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_VC4_HDMI_CEC=y CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_FB=y CONFIG_FB=y
@ -237,21 +258,23 @@ CONFIG_LOGO=y
CONFIG_SOUND=y CONFIG_SOUND=y
CONFIG_SND_OSSEMUL=y CONFIG_SND_OSSEMUL=y
CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_DESIGNWARE_PCM=y
CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y CONFIG_HIDRAW=y
CONFIG_LOGITECH_FF=y CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y CONFIG_LOGIG940_FF=y
CONFIG_PLAYSTATION_FF=y
CONFIG_SONY_FF=y CONFIG_SONY_FF=y
CONFIG_HID_PID=y CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y CONFIG_USB_HIDDEV=y
CONFIG_USB=y CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_DWCOTG=y CONFIG_USB_DWCOTG=y
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
CONFIG_USB_UAS=y CONFIG_USB_UAS=y
CONFIG_USB_DWC3=y
CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_GENERIC=y
CONFIG_NOP_USB_XCEIV=y CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GADGET=y CONFIG_USB_GADGET=y
@ -297,19 +320,30 @@ CONFIG_ACCESSIBILITY=y
CONFIG_RTC_CLASS=y CONFIG_RTC_CLASS=y
CONFIG_DMADEVICES=y CONFIG_DMADEVICES=y
CONFIG_DMA_BCM2835=y CONFIG_DMA_BCM2835=y
CONFIG_DW_AXI_DMAC=y
CONFIG_DMA_BCM2708=y CONFIG_DMA_BCM2708=y
CONFIG_DMABUF_HEAPS=y CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_HEAPS_SYSTEM=y CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y CONFIG_DMABUF_HEAPS_CMA=y
CONFIG_AUXDISPLAY=y CONFIG_AUXDISPLAY=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y
CONFIG_STAGING=y CONFIG_STAGING=y
CONFIG_STAGING_MEDIA=y CONFIG_STAGING_MEDIA=y
CONFIG_STAGING_MEDIA_DEPRECATED=y
CONFIG_BCM2835_VCHIQ=y CONFIG_BCM2835_VCHIQ=y
CONFIG_COMMON_CLK_RP1=y
CONFIG_COMMON_CLK_RP1_SDIO=y
CONFIG_CLK_RASPBERRYPI=y CONFIG_CLK_RASPBERRYPI=y
CONFIG_MAILBOX=y CONFIG_MAILBOX=y
CONFIG_BCM2835_MBOX=y CONFIG_BCM2835_MBOX=y
# CONFIG_IOMMU_SUPPORT is not set CONFIG_BCM2712_IOMMU=y
CONFIG_RASPBERRYPI_POWER=y CONFIG_RASPBERRYPI_POWER=y
CONFIG_PWM=y
CONFIG_PWM_BRCMSTB=y
CONFIG_PWM_RP1=y
CONFIG_BCM2712_MIP=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_EXT4_FS=y CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS_SECURITY=y
@ -330,7 +364,6 @@ CONFIG_FANOTIFY=y
CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS4_FS=y
CONFIG_FSCACHE=y CONFIG_FSCACHE=y
CONFIG_FSCACHE_STATS=y CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y
CONFIG_CACHEFILES=y CONFIG_CACHEFILES=y
CONFIG_JOLIET=y CONFIG_JOLIET=y
CONFIG_ZISOFS=y CONFIG_ZISOFS=y
@ -344,6 +377,9 @@ CONFIG_JFFS2_SUMMARY=y
CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_XZ=y
CONFIG_PSTORE=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_RAM=y
CONFIG_NFS_FS=y CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y CONFIG_NFS_V4=y
@ -354,7 +390,6 @@ CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y CONFIG_NFS_FSCACHE=y
CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y CONFIG_NFSD_V4=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y CONFIG_CIFS_POSIX=y
@ -380,7 +415,6 @@ CONFIG_KGDB_KDB=y
CONFIG_KDB_KEYBOARD=y CONFIG_KDB_KEYBOARD=y
CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DETECT_HUNG_TASK=y CONFIG_DETECT_HUNG_TASK=y
# CONFIG_RCU_TRACE is not set
CONFIG_LATENCYTOP=y CONFIG_LATENCYTOP=y
CONFIG_FUNCTION_PROFILER=y CONFIG_FUNCTION_PROFILER=y
CONFIG_STACK_TRACER=y CONFIG_STACK_TRACER=y
@ -388,3 +422,4 @@ CONFIG_IRQSOFF_TRACER=y
CONFIG_SCHED_TRACER=y CONFIG_SCHED_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_UPROBE_EVENTS is not set # CONFIG_UPROBE_EVENTS is not set
# CONFIG_STRICT_DEVMEM is not set

View file

@ -153,4 +153,7 @@ CONFIG_AUDIT=n
CONFIG_KALLSYMS=n CONFIG_KALLSYMS=n
CONFIG_USB_DWCOTG=n CONFIG_USB_DWCOTG=n
CONFIG_VIRTUALIZATION=n
CONFIG_KVM=n
# We don't need 32-bit support
CONFIG_COMPAT=n

View file

@ -22,11 +22,11 @@ mkdir -p /var/run
dhcpcd -f /etc/dhcpcd.conf --noarp 2>/dev/null & dhcpcd -f /etc/dhcpcd.conf --noarp 2>/dev/null &
if grep -q debugconsole /proc/cmdline; then if grep -q debugconsole /proc/cmdline; then
/sbin/getty -L ttyAMA0 0 vt100 & /sbin/getty -L console 0 vt100 &
fi fi
if grep -q blockingconsole /proc/cmdline; then if grep -q blockingconsole /proc/cmdline; then
/sbin/getty -L ttyAMA0 0 vt100 /sbin/getty -L console 0 vt100
fi fi
/etc/init.d/S99rpi-imager start /etc/init.d/S99rpi-imager start

View file

@ -0,0 +1 @@
/usr/share/fonts/truetype/droid

View file

@ -1,11 +1,10 @@
BR2_arm=y BR2_aarch64=y
BR2_cortex_a72=y BR2_cortex_a72=y
BR2_ARM_FPU_NEON_VFPV4=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y
# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GCC_ENABLE_LTO=y BR2_OPTIMIZE_2=y
BR2_SSP_NONE=y
BR2_FORTIFY_SOURCE_NONE=y
BR2_INIT_NONE=y BR2_INIT_NONE=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_ROOTFS_MERGED_USR=y BR2_ROOTFS_MERGED_USR=y
@ -14,13 +13,14 @@ BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_IMAGER_PATH)/board/overlay/"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_IMAGER_PATH)/board/post-build.sh" BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_IMAGER_PATH)/board/post-build.sh"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,b42c23e39f9f5ada0c1dba16cadd93d3f376fdbd)/linux-b42c23e39f9f5ada0c1dba16cadd93d3f376fdbd.tar.gz" BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,2a47ccf97c6a91bc56f8cfb387d47f59cc347dd5)/linux-2a47ccf97c6a91bc56f8cfb387d47f59cc347dd5.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_IMAGER_PATH)/board/bcm2711_defconfig_minus_modules" BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_IMAGER_PATH)/board/bcm2711_defconfig_minus_modules"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_IMAGER_PATH)/board/kernel_config_fragment_imager" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_IMAGER_PATH)/board/kernel_config_fragment_imager"
BR2_LINUX_KERNEL_IMAGEGZ=y
BR2_LINUX_KERNEL_ZSTD=y BR2_LINUX_KERNEL_ZSTD=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b bcm2711-rpi-400 bcm2711-rpi-cm4 overlays/dwc2-overlay overlays/vc4-fkms-v3d-pi4-overlay overlays/vc4-kms-v3d-pi4-overlay overlays/disable-bt-overlay overlays/disable-wifi-overlay" BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 broadcom/bcm2711-rpi-cm4 broadcom/bcm2712-rpi-5-b overlays/overlay_map overlays/dwc2-overlay overlays/vc4-kms-v3d-pi4-overlay overlays/vc4-kms-v3d-pi5-overlay overlays/disable-bt-overlay overlays/disable-wifi-overlay overlays/disable-bt-pi5-overlay overlays/disable-wifi-pi5-overlay"
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_XZ=y BR2_PACKAGE_XZ=y
BR2_PACKAGE_MESA3D=y BR2_PACKAGE_MESA3D=y

View file

@ -1,6 +1,6 @@
config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM config BR2_PACKAGE_RPI_FIRMWARE_CUSTOM
bool "rpi-firmware" bool "rpi-firmware"
depends on BR2_arm depends on BR2_arm || BR2_aarch64
help help
RaspberryPi Firmware RaspberryPi Firmware
Pre-compiled binaries of the current bootloader and GPU firmware Pre-compiled binaries of the current bootloader and GPU firmware

View file

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
RPI_FIRMWARE_CUSTOM_VERSION = a585b376a2e7e657287543d196ae1f8881ede559 RPI_FIRMWARE_CUSTOM_VERSION = 7e9c2063fc15274fbc4dab1ca614f9228834d881
RPI_FIRMWARE_CUSTOM_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_CUSTOM_VERSION)) RPI_FIRMWARE_CUSTOM_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_CUSTOM_VERSION))
RPI_FIRMWARE_CUSTOM_LICENSE = BSD-3c RPI_FIRMWARE_CUSTOM_LICENSE = BSD-3c
RPI_FIRMWARE_CUSTOM_LICENSE_FILES = boot/LICENCE.broadcom RPI_FIRMWARE_CUSTOM_LICENSE_FILES = boot/LICENCE.broadcom

View file

@ -0,0 +1,29 @@
diff --git a/src/OptionsPopup.qml b/src/OptionsPopup.qml
index 568d1cd..9e36607 100644
--- a/src/OptionsPopup.qml
+++ b/src/OptionsPopup.qml
@@ -10,13 +10,19 @@ import QtQuick.Controls.Material 2.2
import QtQuick.Window 2.15
import "qmlcomponents"
-Window {
+Popup {
id: popup
width: cl.implicitWidth+cl.spacing
- minimumWidth: width
- maximumWidth: width
- minimumHeight: 125
- height: Math.min(750, cl.implicitHeight)
+ /* Only in embedded version */
+ x: (parent.width-width)/2
+ y: 10
+ height: parent.height-20
+ property string title
+
+ function show() { open() }
+ function raise() { }
+ /* */
+
title: qsTr("Advanced options")
property bool initialized: false

View file

@ -1 +1 @@
quiet console=ttyAMA0,115200 console=tty1 debugconsole quiet console=tty1 console=serial0,115200 debugconsole

View file

@ -1,16 +1,13 @@
[HDMI:0]
hdmi_pixel_freq_limit=200000000
[HDMI:1]
hdmi_pixel_freq_limit=200000000
[all] [all]
kernel=zImage kernel=Image.gz
initramfs rootfs.cpio.zst initramfs rootfs.cpio.zst
disable_overscan=1 disable_overscan=1
enable_uart=1 enable_uart=1
dtoverlay=vc4-fkms-v3d-pi4 dtoverlay=vc4-kms-v3d
dtoverlay=disable-bt dtoverlay=disable-bt
dtoverlay=disable-wifi dtoverlay=disable-wifi
arm_boost=1 arm_boost=1
arm_64bit=1
[cm4] [cm4]
dtoverlay=dwc2,dr_mode=host dtoverlay=dwc2,dr_mode=host

View file

@ -118,6 +118,11 @@ if(${QT}DBus_FOUND AND UNIX AND NOT APPLE)
set(EXTRALIBS ${EXTRALIBS} ${QT}::DBus) set(EXTRALIBS ${EXTRALIBS} ${QT}::DBus)
message("udisks2 support enabled") message("udisks2 support enabled")
endif() endif()
# NOT ${QT}Widgets_FOUND AND
if (UNIX AND NOT APPLE)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBDRM REQUIRED libdrm)
endif()
if(${QT}WinExtras_FOUND) if(${QT}WinExtras_FOUND)
set(EXTRALIBS ${EXTRALIBS} ${QT}::WinExtras) set(EXTRALIBS ${EXTRALIBS} ${QT}::WinExtras)
endif() endif()
@ -352,5 +357,5 @@ else()
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/rpi-imager.metainfo.xml" DESTINATION share/metainfo) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/rpi-imager.metainfo.xml" DESTINATION share/metainfo)
endif() endif()
include_directories(${CURL_INCLUDE_DIR} ${LibArchive_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${LIBLZMA_INCLUDE_DIR}) include_directories(${CURL_INCLUDE_DIR} ${LibArchive_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${LIBLZMA_INCLUDE_DIR} ${LIBDRM_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} PRIVATE ${QT}::Core ${QT}::Quick ${QT}::Svg ${CURL_LIBRARIES} ${LibArchive_LIBRARIES} ${OPENSSL_LIBRARIES} ${ATOMIC_LIBRARY} ${EXTRALIBS}) target_link_libraries(${PROJECT_NAME} PRIVATE ${QT}::Core ${QT}::Quick ${QT}::Svg ${CURL_LIBRARIES} ${LibArchive_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBDRM_LIBRARIES} ${ATOMIC_LIBRARY} ${EXTRALIBS})

View file

@ -22,6 +22,11 @@
#include <QSettings> #include <QSettings>
#include <QFont> #include <QFont>
#include <QFontDatabase> #include <QFontDatabase>
#ifdef QT_NO_WIDGETS
#include <xf86drm.h>
#include <xf86drmMode.h>
#include <QDir>
#endif
#ifndef QT_NO_WIDGETS #ifndef QT_NO_WIDGETS
#include <QtWidgets/QApplication> #include <QtWidgets/QApplication>
#endif #endif
@ -44,6 +49,84 @@ static void consoleMsgHandler(QtMsgType, const QMessageLogContext &, const QStri
} }
#endif #endif
#ifdef QT_NO_WIDGETS
/* Embedded: deal with Pi having multiple DRI devices when vc4-kms (instead of fkms) is used */
bool handleDri()
{
QByteArray driDev;
QDir driDir("/dev/dri");
QStringList entries = driDir.entryList(QDir::System, QDir::Name);
for (const QString &fn : entries)
{
QFile f("/dev/dri/"+fn);
if (f.open(f.ReadWrite))
{
drmModeResPtr resources = drmModeGetResources(f.handle());
if (resources)
{
driDev = "/dev/dri/"+fn.toLatin1();
cerr << "Using " << driDev << endl;
/* Get current resolution to calculate scaling factor while we are at it */
for (int i=0; i<resources->count_connectors; i++)
{
drmModeConnectorPtr connector = drmModeGetConnector(f.handle(), resources->connectors[i]);
if (connector)
{
if (connector->connection != DRM_MODE_DISCONNECTED)
{
drmModeEncoderPtr encoder = drmModeGetEncoder(f.handle(), connector->encoder_id);
if (encoder)
{
drmModeModeInfo crtcMode = {0};
drmModeCrtcPtr crtc = drmModeGetCrtc(f.handle(), encoder->crtc_id);
if (crtc)
{
if (crtc->mode_valid)
{
cerr << "Current mode: connector " << i << " crtc_id " << crtc->crtc_id << " width: " << crtc->width << "px height: " << crtc->height << "px" << endl;
/*if (crtc->height > 720)
{
qputenv("QT_SCALE_FACTOR", QByteArray::number(crtc->height / 720.0, 'f', 2));
}*/
break;
}
drmModeFreeCrtc(crtc);
}
drmModeFreeEncoder(encoder);
}
}
drmModeFreeConnector(connector);
}
}
drmModeFreeResources(resources);
}
f.close();
}
else
{
cerr << "Error opening /dev/dri/"+fn << endl;
}
}
if (driDev.isEmpty())
{
cerr << "No capable /dev/dri device found" << endl;
return false;
}
QFile f("/tmp/qt-kms-config.json");
f.open(f.WriteOnly);
f.write("{ \"device\": \""+driDev+"\", \"hwcursor\": false }\n");
f.close();
qputenv("QT_QPA_EGLFS_KMS_CONFIG", "/tmp/qt-kms-config.json");
return true;
}
#endif
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
for (int i = 1; i < argc; i++) for (int i = 1; i < argc; i++)
@ -62,14 +145,8 @@ int main(int argc, char *argv[])
QCoreApplication::setAttribute(Qt::AA_UseOpenGLES); QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);
#endif #endif
#ifdef QT_NO_WIDGETS #ifdef QT_NO_WIDGETS
{ if ( !handleDri() )
QGuiApplication tmp(argc, argv); return 1;
int h = QGuiApplication::primaryScreen()->geometry().height();
if (h > 720)
{
qputenv("QT_SCALE_FACTOR", QByteArray::number(h / 720.0, 'f', 2));
}
}
QGuiApplication app(argc, argv); QGuiApplication app(argc, argv);