# Linux Kernel Module Cheat

### 14.2. QEMU graphic mode

Enable graphic mode with:

    ./run --graphic

Outcome: you see a penguin due to CONFIG_LOGO.

For a more exciting GUI experience, see: Section 14.4, “X11 Buildroot”

Text mode is the default due to the following considerable advantages:

- copy and paste commands and stdout output to / from host

- get full panic traces when you start making the kernel crash :-) See also: https://unix.stackexchange.com/questions/208260/how-to-scroll-up-after-a-kernel-panic

- have a large scroll buffer, and be able to search it, e.g. by using tmux on host

- one less window floating around to think about in addition to your shell :-)

- graphics mode has only been properly tested on `x86_64`.

Text mode has the following limitations over graphics mode:

- you can’t see graphics such as those produced by X11 Buildroot

- very early kernel messages such as `early console in extract_kernel` only show on the GUI, since at such early stages, not even the serial has been setup.

`x86_64` has a VGA device enabled by default, as can be seen as:

    ./qemu-monitor info qtree

and the Linux kernel picks it up through the fbdev graphics system as can be seen from:

    cat /dev/urandom > /dev/fb0

flooding the screen with colors. See also: https://superuser.com/questions/223094/how-do-i-know-if-i-have-kms-enabled

- Scroll up in graphic mode

- QEMU Graphic mode arm