Most active commenters
  • kragen(9)
  • crc_(3)
  • yjftsjthsd-h(3)

←back to thread

122 points rickcarlino | 22 comments | | HN request time: 0.001s | source | bottom
1. kragen ◴[] No.45655604[source]
Ilo/Konilo is pretty cool, but I already knew that. What I didn't know about was qemu-system -nographic.

Any idea why crc is specifying a custom BIOS image? QEMU comes with a default one, right? Questions like these make me wish asciinema supported recording voiceovers.

I'm guessing that the slow text screen updates are some kind of an artifact of unoptimized UEFI implementation, and/or QEMU, because I'm pretty sure Konilo is a lot snappier than this running under Linux, even though the Ilo implementation is not a highly optimized virtual machine.

replies(2): >>45655990 #>>45662230 #
2. crc_ ◴[] No.45655990[source]
I'm not well versed in qemu's various options. When I didn't specify a BIOS image, it seems to be using SeaBIOS, not UEFI, and hangs on "Booting from Hard Disk...". I should be able to start doing proper videos soon; I've been slowly working towards that.

I can say that the display & overall performance is noticeably faster on the two actual computers I tested on than under qemu on my Linux system.

replies(3): >>45656002 #>>45656227 #>>45663278 #
3. kragen ◴[] No.45656002[source]
Thanks!

It makes sense that it would default to using SeaBIOS; QEMU has a lot of options whose defaults were more reasonable 20 years ago.

replies(1): >>45657350 #
4. deivid ◴[] No.45656227[source]
you probably should set the serial port speed
replies(1): >>45657432 #
5. yjftsjthsd-h ◴[] No.45657350{3}[source]
This is a minor pet peeve of mine, actually. I would understand if qemu defaulted to BIOS booting, though I'd prefer that it try UEFI then fall back to BIOS/CSM at this point, but it's actively difficult to do UEFI on qemu; you have to actively feed it the ROM by path, and last I tried you had to include a -pflash for writable storage even if you weren't doing anything with it (thankfully this appears to have been fixed). I really wish they just let you do something like -boot-firmware=uefi,bios or such. (And again, in 2025 I really think UEFI should just be the default, with fallback to CSM/BIOS for backwards compat)
replies(2): >>45657413 #>>45660493 #
6. kragen ◴[] No.45657413{4}[source]
Maybe we should have new command names with defaults that are reasonable this decade, keeping qemu-system-i386 and the like for backwards compatibility?
replies(1): >>45657509 #
7. kragen ◴[] No.45657432{3}[source]
Oh, I didn't realize -nographic was using a serial port. That's probably why it's slow!
replies(1): >>45662196 #
8. yjftsjthsd-h ◴[] No.45657509{5}[source]
Like apt vs apt-get? Yeah, I could potentially go for that. Although in the case of qemu I'm not entirely convinced that we need to go that far because I think it would only take small tweaks to make the existing tool friendlier.
replies(1): >>45657540 #
9. kragen ◴[] No.45657540{6}[source]
Yeah, exactly.

I don't think you can make those small tweaks without breaking tens of thousands of users' production setups which depend on those defaults.

10. pm215 ◴[] No.45660493{4}[source]
The countervailing force here is the desire for command line backwards compatibility. Every time you change a default to be something that makes more sense today, you break the existing working setups of some unknown number of people...

The approach the project has settled on is to say that providing user friendly defaults should be the job of a "management layer" piece of software like libvirt, and QEMU proper should concentrate on providing flexible and orthogonal options which that other software can use to tell it what to do.

replies(1): >>45662615 #
11. ddingus ◴[] No.45662196{4}[source]
It may default to 9600... tons of devices will fall back to that, given no other instruction
replies(1): >>45662949 #
12. coolcoder613 ◴[] No.45662230[source]
There are actually two similar options, one is -nographic, which simply shows the serial terminal, and the other is -display curses, which will show the VGA text mode console on the terminal.
replies(2): >>45662943 #>>45667900 #
13. yjftsjthsd-h ◴[] No.45662615{5}[source]
Does qemu make an effort to preserve backwards compatibility with its cli? Because I have distinct memories of getting caught by them changing the way multiple parts of their command line work.

But in this case, my suggestions should be fairly backwards compatible; retaining the default of BIOS but adding a simple `--firmware uefi` option would change nothing for existing users, and even defaulting to `--firmware uefi,bios` should be mostly compatible since it just tries UEFI and then promptly falls back to BIOS.

replies(2): >>45662998 #>>45673997 #
14. kragen ◴[] No.45662943[source]
I suspect that for my purposes both of them will be useful. Thank you! I should go back and read the QEMU man page; groff -man -Tpdf <(gzip -dc /usr/share/man/man1/qemu-system.1.gz) generates a PDF of only 68 pages.
15. kragen ◴[] No.45662949{5}[source]
Yeah, that was my inference. It looked like about 9600.
16. kragen ◴[] No.45662998{6}[source]
Pretty sure they do, but I agree that adding `--firmware uefi` would be fine.
17. maxdamantus ◴[] No.45663278[source]
> I can say that the display & overall performance is noticeably faster on the two actual computers I tested on than under qemu on my Linux system.

You'd probably want to use `-enable-kvm` so it's not doing full software emulation. Assuming you're running this on another x86-64 machine.

replies(1): >>45667832 #
18. crc_ ◴[] No.45667832{3}[source]
Thanks; I'll start doing that when running on Linux. (I had missed this, as my main dev box is running OpenBSD which doesn't have kvm)
replies(1): >>45667975 #
19. crc_ ◴[] No.45667900[source]
With this, I wasn't seeing any output with -display curses. It does work with -nographic or using a vnc connection to qemu's display, as well as on the two physical machines I currently have access to.
replies(1): >>45674972 #
20. kragen ◴[] No.45667975{4}[source]
I'm surprised to see that tcg (TCG, the tiny code generator, the original QEMU) is still the default accel, even when KVM could be used instead.
21. pm215 ◴[] No.45673997{6}[source]
Yeah, we do try to maintain at least some back compat. Some things go through a deprecate-and-drop cycle, but that is more often driven by "the old thing is a pain to maintain internally" than by "the new thing is more user friendly".

New top level command line options are rare these days, and magic "do what I mean" options also rare: we tend to prefer "tell us specifically what you want".

22. coolcoder613 ◴[] No.45674972{3}[source]
That would probably be because it is using UEFI text mode rather than VGA text mode.