From a8a4d06fac9a66ab5d7e96dab8a5a114a1932a6f Mon Sep 17 00:00:00 2001 From: Jakob Hauser Date: Sun, 13 Oct 2024 12:34:46 +0200 Subject: [PATCH] device-qemu-*: set a default resolution for X11 (MR 5712) Qemu by default starts a GTK window in VGA resolution 640x480. The content adapts to this resolution, thus X11 shows up in resolution 640x480 as well. This resolution causes some handling issues. In Xfce4 the shutdown button of the menu isn't reachable. Even worse in MATE, where the "Apply" button for changing the resolution is out of the screen, making it difficult to change the resolution. The default resolution for X11 can be set by a config file. The Qemu GTK window resolution remains independently at default 640x480. Setting the X11 resolution to default 800x600 mitigates the issue: Most of the screen content becomes accessible while font size and button sizes are still large enough. From this point the user can adjust the resolutions of the Qemu GTK window and X11 content as desired. [ci:skip-build]: already built successfully in CI --- device/main/device-qemu-aarch64/APKBUILD | 13 +++++++++++-- .../device-qemu-aarch64/resolution-qemu-X11.conf | 6 ++++++ device/main/device-qemu-amd64/APKBUILD | 13 +++++++++++-- .../main/device-qemu-amd64/resolution-qemu-X11.conf | 6 ++++++ device/main/device-qemu-riscv64/APKBUILD | 13 +++++++++++-- .../device-qemu-riscv64/resolution-qemu-X11.conf | 6 ++++++ 6 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 device/main/device-qemu-aarch64/resolution-qemu-X11.conf create mode 100644 device/main/device-qemu-amd64/resolution-qemu-X11.conf create mode 100644 device/main/device-qemu-riscv64/resolution-qemu-X11.conf diff --git a/device/main/device-qemu-aarch64/APKBUILD b/device/main/device-qemu-aarch64/APKBUILD index eb2d75caf..4001f8a52 100644 --- a/device/main/device-qemu-aarch64/APKBUILD +++ b/device/main/device-qemu-aarch64/APKBUILD @@ -2,8 +2,8 @@ # Maintainer: Minecrell # Co-Maintainer: Oliver Smith pkgname=device-qemu-aarch64 -pkgver=5 -pkgrel=1 +pkgver=6 +pkgrel=0 pkgdesc="Simulated device in QEMU (aarch64)" url="https://postmarketos.org" arch="aarch64" @@ -16,12 +16,14 @@ subpackages=" $pkgname-kernel-edge:kernel_edge $pkgname-mce $pkgname-sway + $pkgname-x11 " source=" deviceinfo modules-initfs mce-display-blanking.conf + resolution-qemu-X11.conf " options="!check !archcheck" @@ -46,6 +48,12 @@ sway() { mkdir "$subpkgdir" } +x11() { + install_if="$pkgname=$pkgver-r$pkgrel xorg-server" + install -Dm644 "$srcdir"/resolution-qemu-X11.conf \ + "$subpkgdir"/etc/X11/xorg.conf.d/10-resolution-qemu-X11.conf +} + kernel_virt() { pkgdesc="Alpine Virt kernel (minimal, no audio)" depends="linux-virt" @@ -68,4 +76,5 @@ sha512sums=" 90527c2be00f97172f8e9b7508aba706c62e9067c50c93cfa69fbe5940462e9a165f35b9c8dd0efe2b690a839c6069b26d0c8706b7c4114219ef3004ea3dda3e deviceinfo 8129439ec53e76e714b2d3dac97bbe702822d6f6642ea6b631aa26001fec85ca310fbe9eeb04c2bd849145a1137b7934c21b704524f3a98b96b7c6f71c2ca992 modules-initfs 99d32eed6c5cda59e91516e982c5bd5165ff718133e2411a0dbba04e2057d1dfad49a75e5cc67140d0e0adcbe1383671bd2892335929b782a5b19f5472e635ad mce-display-blanking.conf +bfff3ebf11abb43d8ea45e778c19554b1bc8ef9e694d8160daaac0ef906b4d8eda772e5f984033cce52ebddfbbe76e5340c6805e68f967994a3240c1e10c8b5b resolution-qemu-X11.conf " diff --git a/device/main/device-qemu-aarch64/resolution-qemu-X11.conf b/device/main/device-qemu-aarch64/resolution-qemu-X11.conf new file mode 100644 index 000000000..20d74c4ad --- /dev/null +++ b/device/main/device-qemu-aarch64/resolution-qemu-X11.conf @@ -0,0 +1,6 @@ +Section "Screen" + Identifier "Virtual-1" + SubSection "Display" + Modes "800x600" + EndSubSection +EndSection diff --git a/device/main/device-qemu-amd64/APKBUILD b/device/main/device-qemu-amd64/APKBUILD index d583c8dad..a64b98945 100644 --- a/device/main/device-qemu-amd64/APKBUILD +++ b/device/main/device-qemu-amd64/APKBUILD @@ -2,8 +2,8 @@ # Maintainer: Minecrell # Co-Maintainer: Oliver Smith pkgname=device-qemu-amd64 -pkgver=6 -pkgrel=4 +pkgver=7 +pkgrel=0 pkgdesc="Simulated device in QEMU (x86_64)" url="https://postmarketos.org" arch="x86_64" @@ -18,11 +18,13 @@ subpackages=" $pkgname-kernel-none:kernel_none $pkgname-mce $pkgname-sway + $pkgname-x11 " source=" deviceinfo modules-initfs mce-display-blanking.conf + resolution-qemu-X11.conf " options="!check !archcheck" @@ -47,6 +49,12 @@ sway() { mkdir "$subpkgdir" } +x11() { + install_if="$pkgname=$pkgver-r$pkgrel xorg-server" + install -Dm644 "$srcdir"/resolution-qemu-X11.conf \ + "$subpkgdir"/etc/X11/xorg.conf.d/10-resolution-qemu-X11.conf +} + kernel_none() { pkgdesc="No kernel (does not boot! can be used during pmbootstrap testing to save time)" devicepkg_subpackage_kernel $startdir $pkgname $subpkgname @@ -74,4 +82,5 @@ sha512sums=" 74dd746b16f17ce67f6d58b6b86878b6eebaaa473fa36f475074c2c14ed738386c1b5cfcf15ad07b58f94d303799e8a9ed356143061e7854cf38170bef999a0b deviceinfo 29766094e64a7ce881c8e96433203ea538057b8fd1d577fc69b9add6bc1217af04ddf60cbcf82333811c627897eda7537b0b1f862899e1fdfd93403b3f6425d7 modules-initfs 99d32eed6c5cda59e91516e982c5bd5165ff718133e2411a0dbba04e2057d1dfad49a75e5cc67140d0e0adcbe1383671bd2892335929b782a5b19f5472e635ad mce-display-blanking.conf +bfff3ebf11abb43d8ea45e778c19554b1bc8ef9e694d8160daaac0ef906b4d8eda772e5f984033cce52ebddfbbe76e5340c6805e68f967994a3240c1e10c8b5b resolution-qemu-X11.conf " diff --git a/device/main/device-qemu-amd64/resolution-qemu-X11.conf b/device/main/device-qemu-amd64/resolution-qemu-X11.conf new file mode 100644 index 000000000..20d74c4ad --- /dev/null +++ b/device/main/device-qemu-amd64/resolution-qemu-X11.conf @@ -0,0 +1,6 @@ +Section "Screen" + Identifier "Virtual-1" + SubSection "Display" + Modes "800x600" + EndSubSection +EndSection diff --git a/device/main/device-qemu-riscv64/APKBUILD b/device/main/device-qemu-riscv64/APKBUILD index 506ec9353..0f6861dfd 100644 --- a/device/main/device-qemu-riscv64/APKBUILD +++ b/device/main/device-qemu-riscv64/APKBUILD @@ -2,8 +2,8 @@ # Maintainer: Minecrell # Co-Maintainer: Luca Weiss pkgname=device-qemu-riscv64 -pkgver=2 -pkgrel=2 +pkgver=3 +pkgrel=0 pkgdesc="Simulated device in QEMU (riscv64)" url="https://postmarketos.org" arch="riscv64" @@ -14,12 +14,14 @@ subpackages=" $pkgname-kernel-edge:kernel_edge $pkgname-mce $pkgname-sway + $pkgname-x11 " source=" deviceinfo modules-initfs mce-display-blanking.conf + resolution-qemu-X11.conf " options="!check !archcheck" @@ -44,6 +46,12 @@ sway() { mkdir "$subpkgdir" } +x11() { + install_if="$pkgname=$pkgver-r$pkgrel xorg-server" + install -Dm644 "$srcdir"/resolution-qemu-X11.conf \ + "$subpkgdir"/etc/X11/xorg.conf.d/10-resolution-qemu-X11.conf +} + kernel_edge() { pkgdesc="Alpine Edge kernel" depends="linux-edge linux-firmware-none" @@ -54,4 +62,5 @@ sha512sums=" 4e2acace2d7a5b55302e9571eef3e57cbc14c2831a2e0797ef5ff87290aef581a0bf112816c2f113878b9ca57599b66d0e3f8a593e0c08819322ff8d5ea7f351 deviceinfo 8129439ec53e76e714b2d3dac97bbe702822d6f6642ea6b631aa26001fec85ca310fbe9eeb04c2bd849145a1137b7934c21b704524f3a98b96b7c6f71c2ca992 modules-initfs 99d32eed6c5cda59e91516e982c5bd5165ff718133e2411a0dbba04e2057d1dfad49a75e5cc67140d0e0adcbe1383671bd2892335929b782a5b19f5472e635ad mce-display-blanking.conf +bfff3ebf11abb43d8ea45e778c19554b1bc8ef9e694d8160daaac0ef906b4d8eda772e5f984033cce52ebddfbbe76e5340c6805e68f967994a3240c1e10c8b5b resolution-qemu-X11.conf " diff --git a/device/main/device-qemu-riscv64/resolution-qemu-X11.conf b/device/main/device-qemu-riscv64/resolution-qemu-X11.conf new file mode 100644 index 000000000..20d74c4ad --- /dev/null +++ b/device/main/device-qemu-riscv64/resolution-qemu-X11.conf @@ -0,0 +1,6 @@ +Section "Screen" + Identifier "Virtual-1" + SubSection "Display" + Modes "800x600" + EndSubSection +EndSection