Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: Cannot properly set MacOS screen resolution #1445

Open
1 task done
bcyran opened this issue Sep 1, 2024 · 3 comments
Open
1 task done

bug: Cannot properly set MacOS screen resolution #1445

bcyran opened this issue Sep 1, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@bcyran
Copy link

bcyran commented Sep 1, 2024

I confirm this bug has not already been reported

  • I have searched the issues and this bug has not been reported previously

Describe the bug
There is some kind of mismatch between the resolution set inside of the MacOS VM and resolution displayed by the host viewer. Consider the following examples:

  • --width 1280 --height 720, 1280x720 set in the VM -> Only a rectangle covering the entire screen's width and 1/4 of the screen height is rendered. The rest is just black. In other words only the top 1280 x 180 px are rendered. See attached screenshot at the bottom of the issue.
  • --width 2560 --height 1440, 1280x720 set in the VM -> Whole VM screen is correctly rendered, but everything is huge on my 2560 x 1440 display. Shouldn't it be blurry, though? It's not. See attached screenshot.
  • --width 2560 --height 1440, 2560x1440 set in the VM -> Like in the first case, a bar covering top 1/4 of the screen is rendered. Also, my mouse exits the VM window as soon as I get to half of its width. I can't reach the right half of the window with my mouse.
  • --width 5120 --height 2880, 2560x1440 set in the VM -> The entire screen is correctly rendered but I can only reach the top-left 1/4 of the screen with my mouse. As soon as I cross half of the screen either in width or in height, the mouse exits.

What I desribed happens with --display sdl but I tried gtk and spice without any luck too. The symptoms are a bit different but the VM is unusable in the end. Happends both with MacOS Ventura and Sonoma.

To Reproduce
Steps to reproduce the behavior: Described above.

Expected behavior
I expect the entire VM screen to be visible and reachable using my mouse with the real resolution of my display (2560x1440) set both in the quickemu invocation and inside of the VM.

Quickemu output
Run quickemu or quickemu and include the output of the failure below:

Quickemu output
Quickemu 4.9.6 using /nix/store/7m2rg5j2v4rglga6q4xsarwavk8lbbz2-qemu-9.0.2/bin/qemu-system-x86_64 v9.0.2
- Host:     NixOS 24.11 (Vicuna) running Linux 6.6.47 slimbook
- CPU:      12th Gen Intel(R) Core(TM) i7-12700H
- CPU VM:   host, 1 Socket(s), 4 Core(s), 2 Thread(s)
- RAM VM:   16G RAM
- BOOT:     EFI (macOS), OVMF (OVMF_CODE.fd), SecureBoot (off).
- Disk:     macos-ventura/disk.qcow2 (128G)
- Display:  SDL, VGA, GL (on), VirGL (off) @ (2560 x 1440)
- Sound:    intel-hda (hda-micro)
- ssh:      On host:  ssh user@localhost -p 22220
- 9P:       On guest: sudo mount_9p Public-bazyli
- 9P:       On host:  chmod 777 /home/bazyli/Udostępnione
           Required for macOS integration 👆
- smbd:     On guest: smb://10.0.2.4/qemu
- Network:  User (virtio-net)
- Monitor:  On host:  socat -,echo=0,icanon=0 unix-connect:macos-ventura/macos-ventura-monitor.socket
- Serial:   On host:  socat -,echo=0,icanon=0 unix-connect:macos-ventura/macos-ventura-serial.socket
- Process:  Started macos-ventura.conf as macos-ventura (249639)

System information
Run quickreport and include the output here; if you can't run quickreport,
please provide the output of the following:

Quickreport output
----------------------------------
      Quickemu 4.9.6
----------------------------------
Distro:	NixOS 24.11 (Vicuna)
Kernel:	Linux 6.6.47 x86_64
Memory:	31G
GPU:
- Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c)
----------------------------------
          curl 8.9.0
----------------------------------
Libraries: libcurl/8.9.0 OpenSSL/3.0.14 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.0 nghttp2/1.62.1
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features:  alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
----------------------------------
          QEMU 9.0.2
----------------------------------
Available CPUs:
x86 486                   (alias configured by machine type)
x86 486-v1
x86 Broadwell             (alias configured by machine type)
x86 Broadwell-IBRS        (alias of Broadwell-v3)
x86 Broadwell-noTSX       (alias of Broadwell-v2)
x86 Broadwell-noTSX-IBRS  (alias of Broadwell-v4)
x86 Broadwell-v1          Intel Core Processor (Broadwell)
x86 Broadwell-v2          Intel Core Processor (Broadwell, no TSX)
x86 Broadwell-v3          Intel Core Processor (Broadwell, IBRS)
x86 Broadwell-v4          Intel Core Processor (Broadwell, no TSX, IBRS)
x86 Cascadelake-Server    (alias configured by machine type)
x86 Cascadelake-Server-noTSX  (alias of Cascadelake-Server-v3)
x86 Cascadelake-Server-v1  Intel Xeon Processor (Cascadelake)
x86 Cascadelake-Server-v2  Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES]
x86 Cascadelake-Server-v3  Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX]
x86 Cascadelake-Server-v4  Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX]
x86 Cascadelake-Server-v5  Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, EPT switching, XSAVES, no TSX]
x86 Conroe                (alias configured by machine type)
x86 Conroe-v1             Intel Celeron_4x0 (Conroe/Merom Class Core 2)
x86 Cooperlake            (alias configured by machine type)
x86 Cooperlake-v1         Intel Xeon Processor (Cooperlake)
x86 Cooperlake-v2         Intel Xeon Processor (Cooperlake) [XSAVES]
x86 Denverton             (alias configured by machine type)
x86 Denverton-v1          Intel Atom Processor (Denverton)
x86 Denverton-v2          Intel Atom Processor (Denverton) [no MPX, no MONITOR]
x86 Denverton-v3          Intel Atom Processor (Denverton) [XSAVES, no MPX, no MONITOR]
x86 Dhyana                (alias configured by machine type)
x86 Dhyana-v1             Hygon Dhyana Processor
x86 Dhyana-v2             Hygon Dhyana Processor [XSAVES]
x86 EPYC                  (alias configured by machine type)
x86 EPYC-Genoa            (alias configured by machine type)
x86 EPYC-Genoa-v1         AMD EPYC-Genoa Processor
x86 EPYC-IBPB             (alias of EPYC-v2)
x86 EPYC-Milan            (alias configured by machine type)
x86 EPYC-Milan-v1         AMD EPYC-Milan Processor
x86 EPYC-Milan-v2         AMD EPYC-Milan-v2 Processor
x86 EPYC-Rome             (alias configured by machine type)
x86 EPYC-Rome-v1          AMD EPYC-Rome Processor
x86 EPYC-Rome-v2          AMD EPYC-Rome Processor
x86 EPYC-Rome-v3          AMD EPYC-Rome-v3 Processor
x86 EPYC-Rome-v4          AMD EPYC-Rome-v4 Processor (no XSAVES)
x86 EPYC-v1               AMD EPYC Processor
x86 EPYC-v2               AMD EPYC Processor (with IBPB)
x86 EPYC-v3               AMD EPYC Processor
x86 EPYC-v4               AMD EPYC-v4 Processor
x86 GraniteRapids         (alias configured by machine type)
x86 GraniteRapids-v1      Intel Xeon Processor (GraniteRapids)
x86 Haswell               (alias configured by machine type)
x86 Haswell-IBRS          (alias of Haswell-v3)
x86 Haswell-noTSX         (alias of Haswell-v2)
x86 Haswell-noTSX-IBRS    (alias of Haswell-v4)
x86 Haswell-v1            Intel Core Processor (Haswell)
x86 Haswell-v2            Intel Core Processor (Haswell, no TSX)
x86 Haswell-v3            Intel Core Processor (Haswell, IBRS)
x86 Haswell-v4            Intel Core Processor (Haswell, no TSX, IBRS)
x86 Icelake-Server        (alias configured by machine type)
x86 Icelake-Server-noTSX  (alias of Icelake-Server-v2)
x86 Icelake-Server-v1     Intel Xeon Processor (Icelake)
x86 Icelake-Server-v2     Intel Xeon Processor (Icelake) [no TSX]
x86 Icelake-Server-v3     Intel Xeon Processor (Icelake)
x86 Icelake-Server-v4     Intel Xeon Processor (Icelake)
x86 Icelake-Server-v5     Intel Xeon Processor (Icelake) [XSAVES]
x86 Icelake-Server-v6     Intel Xeon Processor (Icelake) [5-level EPT]
x86 IvyBridge             (alias configured by machine type)
x86 IvyBridge-IBRS        (alias of IvyBridge-v2)
x86 IvyBridge-v1          Intel Xeon E3-12xx v2 (Ivy Bridge)
x86 IvyBridge-v2          Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS)
x86 KnightsMill           (alias configured by machine type)
x86 KnightsMill-v1        Intel Xeon Phi Processor (Knights Mill)
x86 Nehalem               (alias configured by machine type)
x86 Nehalem-IBRS          (alias of Nehalem-v2)
x86 Nehalem-v1            Intel Core i7 9xx (Nehalem Class Core i7)
x86 Nehalem-v2            Intel Core i7 9xx (Nehalem Core i7, IBRS update)
x86 Opteron_G1            (alias configured by machine type)
x86 Opteron_G1-v1         AMD Opteron 240 (Gen 1 Class Opteron)
x86 Opteron_G2            (alias configured by machine type)
x86 Opteron_G2-v1         AMD Opteron 22xx (Gen 2 Class Opteron)
x86 Opteron_G3            (alias configured by machine type)
x86 Opteron_G3-v1         AMD Opteron 23xx (Gen 3 Class Opteron)
x86 Opteron_G4            (alias configured by machine type)
x86 Opteron_G4-v1         AMD Opteron 62xx class CPU
x86 Opteron_G5            (alias configured by machine type)
x86 Opteron_G5-v1         AMD Opteron 63xx class CPU
x86 Penryn                (alias configured by machine type)
x86 Penryn-v1             Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86 SandyBridge           (alias configured by machine type)
x86 SandyBridge-IBRS      (alias of SandyBridge-v2)
x86 SandyBridge-v1        Intel Xeon E312xx (Sandy Bridge)
x86 SandyBridge-v2        Intel Xeon E312xx (Sandy Bridge, IBRS update)
x86 SapphireRapids        (alias configured by machine type)
x86 SapphireRapids-v1     Intel Xeon Processor (SapphireRapids)
x86 SapphireRapids-v2     Intel Xeon Processor (SapphireRapids)
x86 Skylake-Client        (alias configured by machine type)
x86 Skylake-Client-IBRS   (alias of Skylake-Client-v2)
x86 Skylake-Client-noTSX-IBRS  (alias of Skylake-Client-v3)
x86 Skylake-Client-v1     Intel Core Processor (Skylake)
x86 Skylake-Client-v2     Intel Core Processor (Skylake, IBRS)
x86 Skylake-Client-v3     Intel Core Processor (Skylake, IBRS, no TSX)
x86 Skylake-Client-v4     Intel Core Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, no TSX]
x86 Skylake-Server        (alias configured by machine type)
x86 Skylake-Server-IBRS   (alias of Skylake-Server-v2)
x86 Skylake-Server-noTSX-IBRS  (alias of Skylake-Server-v3)
x86 Skylake-Server-v1     Intel Xeon Processor (Skylake)
x86 Skylake-Server-v2     Intel Xeon Processor (Skylake, IBRS)
x86 Skylake-Server-v3     Intel Xeon Processor (Skylake, IBRS, no TSX)
x86 Skylake-Server-v4     Intel Xeon Processor (Skylake, IBRS, no TSX)
x86 Skylake-Server-v5     Intel Xeon Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, EPT switching, no TSX]
x86 Snowridge             (alias configured by machine type)
x86 Snowridge-v1          Intel Atom Processor (SnowRidge)
x86 Snowridge-v2          Intel Atom Processor (Snowridge, no MPX)
x86 Snowridge-v3          Intel Atom Processor (Snowridge, no MPX) [XSAVES, no MPX]
x86 Snowridge-v4          Intel Atom Processor (Snowridge, no MPX) [no split lock detect, no core-capability]
x86 Westmere              (alias configured by machine type)
x86 Westmere-IBRS         (alias of Westmere-v2)
x86 Westmere-v1           Westmere E56xx/L56xx/X56xx (Nehalem-C)
x86 Westmere-v2           Westmere E56xx/L56xx/X56xx (IBRS update)
x86 athlon                (alias configured by machine type)
x86 athlon-v1             QEMU Virtual CPU version 2.5+
x86 core2duo              (alias configured by machine type)
x86 core2duo-v1           Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
x86 coreduo               (alias configured by machine type)
x86 coreduo-v1            Genuine Intel(R) CPU           T2600  @ 2.16GHz
x86 kvm32                 (alias configured by machine type)
x86 kvm32-v1              Common 32-bit KVM processor
x86 kvm64                 (alias configured by machine type)
x86 kvm64-v1              Common KVM processor
x86 n270                  (alias configured by machine type)
x86 n270-v1               Intel(R) Atom(TM) CPU N270   @ 1.60GHz
x86 pentium               (alias configured by machine type)
x86 pentium-v1
x86 pentium2              (alias configured by machine type)
x86 pentium2-v1
x86 pentium3              (alias configured by machine type)
x86 pentium3-v1
x86 phenom                (alias configured by machine type)
x86 phenom-v1             AMD Phenom(tm) 9550 Quad-Core Processor
x86 qemu32                (alias configured by machine type)
x86 qemu32-v1             QEMU Virtual CPU version 2.5+
x86 qemu64                (alias configured by machine type)
x86 qemu64-v1             QEMU Virtual CPU version 2.5+
x86 base                  base CPU model type with no features enabled
x86 host                  processor with all supported host features
x86 max                   Enables all features supported by the accelerator in the current host

Recognized CPUID flags:
3dnow 3dnowext 3dnowprefetch abm ace2 ace2-en acpi adx aes amd-no-ssb
amd-psfd amd-ssbd amd-stibp amx-bf16 amx-complex amx-fp16 amx-int8
amx-tile apic arat arch-capabilities arch-lbr auto-ibrs avic avx avx-ifma
avx-ne-convert avx-vnni avx-vnni-int8 avx2 avx512-4fmaps avx512-4vnniw
avx512-bf16 avx512-fp16 avx512-vp2intersect avx512-vpopcntdq avx512bitalg
avx512bw avx512cd avx512dq avx512er avx512f avx512ifma avx512pf
avx512vbmi avx512vbmi2 avx512vl avx512vnni bmi1 bmi2 bus-lock-detect cid
cldemote clflush clflushopt clwb clzero cmov cmp-legacy cmpccxadd
core-capability cr8legacy cx16 cx8 dca de decodeassists ds ds-cpl dtes64
erms est extapic f16c fb-clear fbsdp-no flush-l1d flushbyasid fma fma4
fpu fsgsbase fsrc fsrm fsrs full-width-write fxsr fxsr-opt fzrm gds-no
gfni hle ht hypervisor ia64 ibpb ibrs ibrs-all ibs intel-pt intel-pt-lip
invpcid invtsc kvm-asyncpf kvm-asyncpf-int kvm-asyncpf-vmexit
kvm-hint-dedicated kvm-mmu kvm-msi-ext-dest-id kvm-nopiodelay
kvm-poll-control kvm-pv-eoi kvm-pv-ipi kvm-pv-sched-yield
kvm-pv-tlb-flush kvm-pv-unhalt kvm-steal-time kvmclock kvmclock
kvmclock-stable-bit la57 lahf-lm lbrv lfence-always-serializing lm lwp
mca mcdt-no mce md-clear mds-no misalignsse mmx mmxext monitor movbe
movdir64b movdiri mpx msr mtrr no-nested-data-bp nodeid-msr npt nrip-save
null-sel-clr-base nx osvw pae pat pause-filter pbe pbrsb-no pcid
pclmulqdq pcommit pdcm pdpe1gb perfctr-core perfctr-nb pfthreshold pge
phe phe-en pks pku pmm pmm-en pn pni popcnt prefetchiti pschange-mc-no
psdp-no pse pse36 rdctl-no rdpid rdrand rdseed rdtscp rsba rtm
sbdr-ssdp-no sep serialize sgx sgx-aex-notify sgx-debug sgx-edeccssa
sgx-exinfo sgx-kss sgx-mode64 sgx-provisionkey sgx-tokenkey sgx1 sgx2
sgxlc sha-ni skinit skip-l1dfl-vmentry smap smep smx spec-ctrl
split-lock-detect ss ssb-no ssbd sse sse2 sse4.1 sse4.2 sse4a ssse3 stibp
stibp-always-on svm svm-lock svme-addr-chk syscall taa-no tbm tce tm tm2
topoext tsc tsc-adjust tsc-deadline tsc-scale tsx-ctrl tsx-ldtrk umip
v-vmsave-vmload vaes vgif virt-ssbd vmcb-clean vme vmx vmx-activity-hlt
vmx-activity-shutdown vmx-activity-wait-sipi vmx-any-errcode
vmx-apicv-register vmx-apicv-vid vmx-apicv-x2apic vmx-apicv-xapic
vmx-cr3-load-noexit vmx-cr3-store-noexit vmx-cr8-load-exit
vmx-cr8-store-exit vmx-desc-exit vmx-enable-user-wait-pause
vmx-encls-exit vmx-entry-ia32e-mode vmx-entry-load-bndcfgs
vmx-entry-load-efer vmx-entry-load-pat vmx-entry-load-perf-global-ctrl
vmx-entry-load-pkrs vmx-entry-load-rtit-ctl vmx-entry-noload-debugctl
vmx-ept vmx-ept-1gb vmx-ept-2mb vmx-ept-advanced-exitinfo
vmx-ept-execonly vmx-eptad vmx-eptp-switching vmx-exit-ack-intr
vmx-exit-clear-bndcfgs vmx-exit-clear-rtit-ctl vmx-exit-load-efer
vmx-exit-load-pat vmx-exit-load-perf-global-ctrl vmx-exit-load-pkrs
vmx-exit-nosave-debugctl vmx-exit-save-efer vmx-exit-save-pat
vmx-exit-save-preemption-timer vmx-flexpriority vmx-hlt-exit vmx-ins-outs
vmx-intr-exit vmx-invept vmx-invept-all-context vmx-invept-single-context
vmx-invept-single-context vmx-invept-single-context-noglobals
vmx-invlpg-exit vmx-invpcid-exit vmx-invvpid vmx-invvpid-all-context
vmx-invvpid-single-addr vmx-io-bitmap vmx-io-exit vmx-monitor-exit
vmx-movdr-exit vmx-msr-bitmap vmx-mtf vmx-mwait-exit vmx-nmi-exit
vmx-page-walk-4 vmx-page-walk-5 vmx-pause-exit vmx-ple vmx-pml
vmx-posted-intr vmx-preemption-timer vmx-rdpmc-exit vmx-rdrand-exit
vmx-rdseed-exit vmx-rdtsc-exit vmx-rdtscp-exit vmx-secondary-ctls
vmx-shadow-vmcs vmx-store-lma vmx-true-ctls vmx-tsc-offset
vmx-tsc-scaling vmx-unrestricted-guest vmx-vintr-pending vmx-vmfunc
vmx-vmwrite-vmexit-fields vmx-vnmi vmx-vnmi-pending vmx-vpid
vmx-wbinvd-exit vmx-xsaves vmx-zero-len-inject vnmi vpclmulqdq waitpkg
wbnoinvd wdt x2apic xcrypt xcrypt-en xfd xgetbv1 xop xsave xsavec
xsaveerptr xsaveopt xsaves xstore xstore-en xtpr

----------------------------------
             CPU
----------------------------------
Architektura:                     x86_64
Tryb(y) pracy CPU:                32-bit, 64-bit
Rozmiary adresów:                 39 bits physical, 48 bits virtual
Kolejność bajtów:                 Little Endian
CPU:                              20
Lista aktywnych CPU:              0-19
ID producenta:                    GenuineIntel
Nazwa modelu:                     12th Gen Intel(R) Core(TM) i7-12700H
Rodzina CPU:                      6
Model:                            154
Wątków na rdzeń:                  2
Rdzeni na gniazdo:                14
Gniazd:                           1
Wersja:                           3
Skalowanie MHz CPU:               26%
CPU max MHz:                      4700,0000
CPU min MHz:                      400,0000
BogoMIPS:                         5376,00
Flagi:                            fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities
Wirtualizacja:                    VT-x
Cache L1d:                        544 KiB (14 instancji)
Cache L1i:                        704 KiB (14 instancji)
Cache L2:                         11,5 MiB (8 instancji)
Cache L3:                         24 MiB (1 instancja)
Węzłów NUMA:                      1
Procesory węzła NUMA 0:           0-19
Podatność Gather data sampling:   Not affected
Podatność Itlb multihit:          Not affected
Podatność L1tf:                   Not affected
Podatność Mds:                    Not affected
Podatność Meltdown:               Not affected
Podatność Mmio stale data:        Not affected
Podatność Reg file data sampling: Mitigation; Clear Register File
Podatność Retbleed:               Not affected
Podatność Spec rstack overflow:   Not affected
Podatność Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
Podatność Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Podatność Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Podatność Srbds:                  Not affected
Podatność Tsx async abort:        Not affected

Screenshots
2024-09-01_12:24:09

2024-09-01_12:29:16

Additional context

  • I'm using Hyprland - I have a feeling this might be relevant. I have to admit I didn't test it on any other (Wayland or otherwise) WM / DE yet. I'm willing to do so if necessary.
  • I'm successfully running both Linux and Windows VMs on the same setup.
  • I'm successfully runnning MacOS VM using setup from the OSX-KVM repo.
@lj3954 lj3954 added the bug Something isn't working label Sep 2, 2024
@socksy
Copy link

socksy commented Sep 27, 2024

I had the same issue, and was able to work around it somewhat to get back to a working resolution (but not able to choose my resolution.

  1. start quickemu with --width 1280 --height 800
  2. log in using keyboard commands and open a terminal/iterm with spotlight
  3. resize terminal window with cmd+- until you get at and move it on the screen. Alternatively make it fullscreen and deal with the fact you won't be able to see what you type
  4. download displayplacer. I used homebrew with brew install displayplacer.
    a. If you don't have brew installed, you could install it by typing the command at the top of https://brew.sh
    b. Or better yet, use sudo systemsetup -setremotelogin on to turn on SSH sharing so you can connect to the guest system from the host and not have to do everything half blind (ssh <user>@localhost -p 22220)
  5. use displayplacer to set the screen to 1280x800, 75hz, scaling=off. I did this:
    displayplacer "id:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF res:1280x800 hz:75 color_depth:4 enabled:true scaling:off origin:(0,0) degree:0"
    
    You can use displayplacer list to double check the device ID and valid resolutions. For me it was mode 14.

This way, the resolution in macOS, the resolution set by quickemu, and the valid resolutions available to macOS via the OVMF vars all match, and now you should be able to see the entire screen again (fuzzily...)

I figure that if you want to have a different resolution than the ones listed with displayplacer list, you need to modify the OVMF vars, which they talk about in foxlet/macOS-Simple-KVM#51 but I haven't managed to get to (didn't try all the suggestions yet though)

@YuvanMichaelVivenzi
Copy link

I'm having this problem too, Makes it worse that you can't set display resolution on the fly.

@Murazaki
Copy link

Murazaki commented Nov 3, 2024

I had the issue and I had just to put scaling off

I called displayplacer list and it gave me the current profile command at the end

% displayplacer list
Persistent screen id: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
Contextual screen id: 1535231424
Serial screen id: s0
Type: MacBook built in screen
Resolution: 2560x1440
Hertz: 85
Color Depth: 4
Scaling: on
Origin: (0,0) - main display
Rotation: 0 - rotate internal screen example (may crash computer, but will be rotated after rebooting): `displayplacer "id:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF degree:90"`
Enabled: true
Resolutions for rotation 0:
  mode 0: res:800x450 hz:85 color_depth:4 scaling:on
  mode 1: res:960x540 hz:85 color_depth:4 scaling:on
  mode 2: res:1024x576 hz:85 color_depth:4 scaling:on
  mode 3: res:1280x720 hz:85 color_depth:4 scaling:on
  mode 4: res:2560x1440 hz:85 color_depth:4 scaling:on <-- current mode
  mode 5: res:1280x720 hz:75 color_depth:4 scaling:on
  mode 6: res:640x480 hz:85 color_depth:4
  mode 7: res:800x600 hz:85 color_depth:4
  mode 8: res:1024x768 hz:85 color_depth:4
  mode 9: res:1280x720 hz:85 color_depth:4
  mode 10: res:1600x900 hz:85 color_depth:4
  mode 11: res:1920x1080 hz:85 color_depth:4
  mode 12: res:2048x1152 hz:85 color_depth:4
  mode 13: res:2560x1440 hz:85 color_depth:4
  mode 14: res:5120x2880 hz:85 color_depth:4
  mode 15: res:2560x1440 hz:75 color_depth:4
 
Execute the command below to set your screens to the current arrangement. If screen ids are switching, please run `displayplacer --help` for info on using contextual or serial ids instead of persistent ids.
 
displayplacer "id:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF res:2560x1440 hz:85 color_depth:4 enabled:true scaling:on origin:(0,0) degree:0"

I just gave it the same profile but with scaling off and it was fixed

displayplacer "id:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF res:2560x1440 hz:85 color_depth:4 enabled:true scaling:off origin:(0,0) degree:0"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants