Skip to content

Comments

qemu: 6.1.0 -> 6.2.0#146526

Merged
alyssais merged 2 commits intoNixOS:stagingfrom
alyssais:qemu-6.2.0
Jan 20, 2022
Merged

qemu: 6.1.0 -> 6.2.0#146526
alyssais merged 2 commits intoNixOS:stagingfrom
alyssais:qemu-6.2.0

Conversation

@alyssais
Copy link
Member

@alyssais alyssais commented Nov 18, 2021

This is a draft because QEMU 6.2.0 isn't out yet — currently this PR is updating to a release candidate. I'm trying it this way because last time the QEMU update was delayed for weeks because of Darwin issues. I'm hoping that by opening the PR early, we can identify issues like that in advance, and then be ready to go when the final release comes out. QEMU 6.2.0 has now been released!

QEMU now supports automatically detecting which audio drivers to build, so we don't need to pass --audio-drv-list anymore.

pkgsMusl.qemu* doesn't build at the moment because of dependency issues, but with a lot of hacks I was able to do enough of a build to be confident the changes to patches etc. are correct for Musl.

TODO

Motivation for this change
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 21.11 Release Notes (or backporting 21.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

@ofborg ofborg bot requested a review from edolstra November 18, 2021 19:58
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Nov 18, 2021
@alyssais
Copy link
Member Author

@ofborg test simple cage cagebreak cloud-init os-prober sway virtualbox

(Apart from "simple", these are all the tests that use custom QEMU options, so probably give us a good spread of functionality.)

@Synthetica9
Copy link
Member

Synthetica9 commented Nov 20, 2021

I'm hoping that by opening the PR early, we can identify issues like that in advance, and then be ready to go when the final release comes out.

Good, we've done that for sway the last few releases and it worked really well to work out the kinks.

(maybe we should officially encourage this workflow somewhere?)

@alyssais
Copy link
Member Author

alyssais commented Nov 23, 2021

We should have Meson ≥0.58.2 (with 0.59.2 recommended). Otherwise, QEMU will use its own internal Meson, which doesn't have our patches.

@alyssais
Copy link
Member Author

#147210 will make it a build failure to use an incompatible Meson version with QEMU.

@alyssais alyssais force-pushed the qemu-6.2.0 branch 2 times, most recently from 9a18991 to e570208 Compare November 25, 2021 00:53
mschwaig added a commit to mschwaig/nixpkgs that referenced this pull request Nov 30, 2021
The flag -cpu max leaves QEMU 6.1.0 stuck on some systems,
for example when /dev/kvm is not read-writable.
This does not happen with -cpu qemu64.

Getting stuck like that is a regression in 6.1.0 not yet present in 6.0.0
and should be fixed with 6.2.0 according to early testing with rc1.

We should consider reverting this change when we merge QEMU 6.2.0.
See NixOS#146526.

fixes NixOS#141596
alyssais pushed a commit that referenced this pull request Nov 30, 2021
The flag -cpu max leaves QEMU 6.1.0 stuck on some systems,
for example when /dev/kvm is not read-writable.
This does not happen with -cpu qemu64.

Getting stuck like that is a regression in 6.1.0 not yet present in 6.0.0
and should be fixed with 6.2.0 according to early testing with rc1.

We should consider reverting this change when we merge QEMU 6.2.0.
See #146526.

fixes #141596
github-actions bot pushed a commit that referenced this pull request Nov 30, 2021
The flag -cpu max leaves QEMU 6.1.0 stuck on some systems,
for example when /dev/kvm is not read-writable.
This does not happen with -cpu qemu64.

Getting stuck like that is a regression in 6.1.0 not yet present in 6.0.0
and should be fixed with 6.2.0 according to early testing with rc1.

We should consider reverting this change when we merge QEMU 6.2.0.
See #146526.

fixes #141596

(cherry picked from commit abbe8cb)
alyssais pushed a commit that referenced this pull request Dec 1, 2021
The flag -cpu max leaves QEMU 6.1.0 stuck on some systems,
for example when /dev/kvm is not read-writable.
This does not happen with -cpu qemu64.

Getting stuck like that is a regression in 6.1.0 not yet present in 6.0.0
and should be fixed with 6.2.0 according to early testing with rc1.

We should consider reverting this change when we merge QEMU 6.2.0.
See #146526.

fixes #141596

(cherry picked from commit abbe8cb)
@github-actions github-actions bot added the 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS label Dec 2, 2021
@Synthetica9
Copy link
Member

#144779 targets staging while this targets master, shouldn't this also target staging if this is dependent on that?

@alyssais
Copy link
Member Author

alyssais commented Dec 2, 2021

I think changing the base branch would be premature at this point. It's entirely possible #144779 will already be in staging-next or even master by the time this is ready to merge.

@alyssais alyssais force-pushed the qemu-6.2.0 branch 5 times, most recently from cfabc46 to f6e42e8 Compare December 15, 2021 17:51
@zowoq
Copy link
Contributor

zowoq commented Jan 4, 2022

Can we move forward with this by using pkgs.meson_0_60?

@Synthetica9
Copy link
Member

Can we move forward with this by using pkgs.meson_0_60?

Resolved the merge conflict, rebased on master, and using meson_0_60. All NixOS tests I tried still worked, which is a good sign I think. Rebase available at https://github.com/Synthetica9/nixpkgs/commits/qemu-6.2.0

@alyssais
Copy link
Member Author

alyssais commented Jan 4, 2022

I don't think meson_0_60 should have been added, and I'd rather wait for #144779 so fixing the mess of Meson versions we now have doesn't become even more complicated.

@alyssais alyssais force-pushed the qemu-6.2.0 branch 2 times, most recently from 6f357b6 to 4631032 Compare January 11, 2022 14:42
@alyssais alyssais changed the base branch from master to staging January 11, 2022 14:43
@alyssais
Copy link
Member Author

The Meson issues should be resolved now, so once OfBorg is happy I'll undraft.

@alyssais alyssais marked this pull request as ready for review January 11, 2022 22:52
QEMU now supports automatically detecting which audio drivers to
build, so we don't need to pass --audio-drv-list anymore.

pkgsMusl.qemu* doesn't build at the moment because of dependency
issues, but with a lot of hacks I was able to do enough of a build to
be confident the changes to patches etc. are correct for Musl.
This reverts commit af180d5.

The bug we were working around with this change has been fixed in QEMU
6.2.0.
@alyssais
Copy link
Member Author

Now that (x86_64) Darwin stdenv is unbroken:

@NixOS/darwin-maintainers call for Darwin testing, since I know QEMU is an important package, and Darwin caused such a big problem last QEMU upgrade, and OfBorg can't even build staging without timing out.

It looks like aarch64-darwin stdenv still doesn't work, but there's nothing I can do about that, and we can't hold upgrades forever because of platforms that are broken further up the dependency tree. If you want to test a platform with broken dependencies, you could try to cherry-pick the upgrade onto master (which I hope is working), but you'd also have to cherry-pick the Meson bump, which might be tricky because it ended up being split over multiple PRs.

Copy link
Member

@veprbl veprbl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works fine on x86_64-darwin when af89fb2 is applied to saging-next

@alyssais alyssais merged commit 464d610 into NixOS:staging Jan 20, 2022
@zowoq zowoq mentioned this pull request Feb 7, 2022
13 tasks
@alyssais alyssais deleted the qemu-6.2.0 branch March 21, 2022 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Virtualized hosts failing to start guest VM after qemu update 6.0.0 -> 6.1.0

4 participants