diff --git a/src/osdep/amiberry_gui.cpp b/src/osdep/amiberry_gui.cpp index a7617b463..9423932ca 100644 --- a/src/osdep/amiberry_gui.cpp +++ b/src/osdep/amiberry_gui.cpp @@ -544,6 +544,10 @@ void gui_display(int shortcut) //rawinput_alloc(); struct AmigaMonitor* mon = &AMonitors[0]; SDL_SetWindowGrab(mon->amiga_window, SDL_TRUE); + if (kmsdrm_detected && amiga_surface != nullptr) + { + target_graphics_buffer_update(mon->monitor_id, true); + } fpscounter_reset(); //screenshot_free(); //write_disk_history(); diff --git a/src/osdep/gui/main_window.cpp b/src/osdep/gui/main_window.cpp index 6e73c8a94..07c0e79ad 100644 --- a/src/osdep/gui/main_window.cpp +++ b/src/osdep/gui/main_window.cpp @@ -346,6 +346,10 @@ void amiberry_gui_init() SDL_FreeSurface(icon_surface); } } + else if (kmsdrm_detected) + { + SDL_SetWindowSize(mon->gui_window, GUI_WIDTH * amiberry_options.window_scaling, GUI_HEIGHT * amiberry_options.window_scaling); + } if (mon->gui_renderer == nullptr) { @@ -355,6 +359,8 @@ void amiberry_gui_init() // make the scaled rendering look smoother (linear scaling). SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); + // Disable integer scaling for the GUI + SDL_RenderSetIntegerScale(mon->gui_renderer, SDL_FALSE); gui_texture = SDL_CreateTexture(mon->gui_renderer, gui_screen->format->format, SDL_TEXTUREACCESS_STREAMING, gui_screen->w, gui_screen->h);