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
+13 -5
View File
@@ -522,11 +522,19 @@ static void handle_command(char *cmd) {
printf("%u packets transmitted, %u received, %u%% packet loss\n",
(unsigned int)transmitted, (unsigned int)received,
(unsigned int)(transmitted > 0 ? ((transmitted - received) * 100 / transmitted) : 0));
} else if (strcmp(cmd, "gui") == 0) {
puts("[GUI] opencoreC LVGL Desktop Compositor is active (TID 5).");
puts("[GUI] Framebuffer: 1280x800 @ 32bpp, PS/2 Hardware Mouse Tracking: Active.");
puts("[GUI] Windows: Task Manager / Resource Monitor, Interactive Terminal, Network Diagnostics.");
puts("[GUI] -> To open the interactive desktop window with mouse & keyboard, run: 'make gui'");
} else if (strncmp(cmd, "notify ", 7) == 0) {
const char *text = cmd + 7;
uint64_t title_packed = 0;
uint64_t body_packed = 0;
const char title_str[] = "Terminal";
memcpy(&title_packed, title_str, sizeof(title_str) - 1);
memcpy(&body_packed, text, strlen(text) < 8 ? strlen(text) : 8);
register uint64_t rax __asm__("rax") = SYS_NOTIFY_SEND;
register uint64_t rdi __asm__("rdi") = title_packed;
register uint64_t rsi __asm__("rsi") = body_packed;
__asm__ volatile("syscall" : "+r"(rax) : "r"(rdi), "r"(rsi) : "rcx", "r11", "memory");
printf("[NOTIFY] Dispatched desktop notification to GUI Compositor: '%s'\n", text);
} else if (strncmp(cmd, "write ", 6) == 0) {
const char *msg = cmd + 6;
ipc::Endpoint uart_service(UART_ENDPOINT);