On Wed, Apr 1, 2015 at 2:36 PM, Kay Sievers <[email protected]> wrote: > On Wed, Apr 1, 2015 at 11:19 PM, Andy Lutomirski <[email protected]> wrote: >> On Wed, Apr 1, 2015 at 1:53 PM, Kay Sievers <[email protected]> wrote: >>> On Wed, Apr 1, 2015 at 10:45 PM, Andy Lutomirski <[email protected]> >>> wrote: >>>> On Apr 1, 2015 12:56 PM, "Kay Sievers" <[email protected]> wrote: >>> >>>>> Do you have an idea why the VM does not accept the custom font? If >>>>> that is something obvious, and we can detect it, we could make >>>>> vconsole-setup check for it. But then again, fixing setfont seems like >>>>> the obvious fix here. >>>> >>>> I assume it's because the VM has no graphical console at all. >>> >>> We check the existence of the corresponding /dev/vcs%i, to check if >>> the tty is allocated where we want to apply the font to. Do these >>> devices exist on the running machine? >> >> Yes: >> >> # ls /dev/vcs* >> /dev/vcs /dev/vcs2 /dev/vcs4 /dev/vcsa1 /dev/vcsa3 >> /dev/vcs1 /dev/vcs3 /dev/vcsa /dev/vcsa2 /dev/vcsa4 >> >> Looking at the code, the vc_screen.c code seems to create those >> devices unconditionally. > > They should only get created when something accesses the corresponding > tty. deallocvt(1) can kill unused ones and the device nodes should > disappear. >
deallocvt doesn't seem to kill those device nodes for me. >>> And what does this say? >>> grep . /sys/class/tty/tty0/active /sys/class/tty/console/active >> >> # grep . /sys/class/tty/tty0/active /sys/class/tty/console/active >> /sys/class/tty/tty0/active:tty1 >> /sys/class/tty/console/active:ttyS0 >> >> vcs1 has, roughly: >> >> early console in decompress_kernel >> Decompressing Linux... Parsing ELF... done. >> Booting the kernel. >> >> Now I'm wondering how that buffer came to be. >> >> In any event, some tracing of the code suggests that I have >> vga_video_type == VIDEO_TYPE_CGA, and that fails "if (vga_video_type < >> VIDEO_TYPE_EGAM)" in vgacon_font_set. >> >> Indeed, /proc/ioports has: >> >> 03d4-03d5 : cga >> >> and dmesg says: >> >> [ 0.000000] Console: colour *CGA 80x25 >> >> I don't see this information in sysfs anywhere. Perhaps checking for >> an active console and detecting -EINVAL from vgacon_font_get would >> work. > > Hmm, yeah, maybe we could try one of the font-related ioctls to find > out if the driver supports that before we spawn setfont. > >> /proc/fb is empty on this VM, so maybe that would help. Grr, this >> stuff is really old and crufty. >> >> The offending qemu command line args appear to be -vga none -display >> none. I assume I have "CGA" because it's the fallback case in >> vgacon.c if nothing matches. > > Hehe, blast from the past. :) If you give kvm a VGA device, it all works fine? I just tried it. setfont succeeds, and the VGA device matches /dev/vcs's contents. --Andy _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
