NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.43k stars 13.63k forks source link

BIOS interface looks strange when using QXL in QEMU/KVM #180838

Open kuwii opened 2 years ago

kuwii commented 2 years ago

Describe the bug

When set video device to QXL, the BIOS interface looks strange.

Screenshot_20220709_182156

This bring troubles in some cases like unlocking Windows BitLocker because I can hardly see the input.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Related configurations:

    virtualisation.libvirtd.enable = true;
    virtualisation.libvirtd.qemu.swtpm.enable = true;
    virtualisation.libvirtd.qemu.ovmf.enable = true;
    virtualisation.libvirtd.qemu.ovmf.packages = [ pkgs.OVMFFull.fd ];
    services.spice-vdagentd.enable = true;
    
    environment.systemPackages = with pkgs; [
      virt-manager virt-viewer
      spice spice-gtk spice-protocol
      win-virtio win-spice
    ];
  2. Create a virtual machine in virt-manager, with
    • Chipset: Q35
    • Video device: QXL
  3. Power on the virtual machine.

Expected behavior

Should normally show the interface.

Screenshots

Shown in the description.

Additional context

I hit this issue several months ago. And I can repro this on both of my 2 NixOS devices.

They are all using Nvidia driver. Not sure if it is related.

Notify maintainers

Not sure which precisely the package is that causes the issue.

Ping maintainers of qemu_kvm @edolstra @alyssais

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.52, NixOS, 22.11 (Raccoon), 22.11pre390544.b39924fc776`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.9.1`
 - channels(root): `"nixos, nixtension"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`
milahu commented 2 years ago

"tianocore" is from the uefi bios in OVMF ... is this different?

-virtualisation.libvirtd.qemu.ovmf.packages = [ pkgs.OVMFFull.fd ];
+virtualisation.libvirtd.qemu.ovmf.packages = [ pkgs.OVMF.fd ];