feat(lvgl): adapt LVGL for opencoreC with SSE2 SIMD blit, hardware tick, and desktop toast IPC

This commit is contained in:
RarDog
2026-09-02 21:44:55 +03:00
parent 74bfa45eea
commit e9d9b8e365
8 changed files with 196 additions and 23 deletions
+3 -2
View File
@@ -28,6 +28,7 @@ COMMON_FLAGS := -Wall -Wextra -O2 -ffreestanding -fno-stack-protector \
CFLAGS := $(COMMON_FLAGS) -std=c11
CXXFLAGS := $(COMMON_FLAGS) -std=c++20 -fno-exceptions -fno-rtti -I$(LIB_DIR)/libipc_cpp/include
GUI_CXXFLAGS := $(filter-out -mno-sse -mno-sse2 -mno-avx, $(CXXFLAGS)) -msse -msse2
# Outputs
KERNEL_BIN := target/x86_64-unknown-none/release/opencore_kernel
@@ -79,7 +80,7 @@ hal: libc
lvgl: $(LVGL_LIB)
$(LVGL_LIB):
$(LVGL_LIB): lib/lvgl/lv_conf.h
@mkdir -p $(BUILD_DIR)/lvgl
@echo "[CC] Compiling LVGL v8.3 Graphics Library..."
@python3 scripts/build_lvgl.py $(CC) "$(CFLAGS)" $(BUILD_DIR)
@@ -106,7 +107,7 @@ servers: libc hal $(LVGL_LIB)
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(PROCMGR) \
$(BUILD_DIR)/procmgr_main.o $(BUILD_DIR)/ipc.o $(LIBC_OBJS)
@# Desktop GUI Server (LVGL v8.3)
@$(CXX) $(CXXFLAGS) -Ilib/lvgl -c $(SERVERS_DIR)/gui_server/main.cpp -o $(BUILD_DIR)/gui_main.o
@$(CXX) $(GUI_CXXFLAGS) -Ilib/lvgl -c $(SERVERS_DIR)/gui_server/main.cpp -o $(BUILD_DIR)/gui_main.o
@$(LD) -T $(CONFIG_DIR)/user.ld -nostdlib -static -o $(GUI_SERVER) \
$(BUILD_DIR)/gui_main.o $(BUILD_DIR)/ipc.o $(NET_OBJS) $(LVGL_LIB) $(LIBC_OBJS)