Re: qemu and Unicode characters on serial console
On Tue, 16 Mar 2021 at 21:08, Francois wrote: > It really looks like it has nothing to do with qemu, it is just the > way it was coded :D Yep; in general QEMU's serial and similar character-device functionality is just a raw stream-of-bytes -- it's up to the guest software what it puts in there and up to the software on the outside how it interprets what it gets... -- PMM
Re: qemu and Unicode characters on serial console
Thanks for your reply! I tee-ed the output into a file and it is really a "?" character coming out of the serial port. Now, checking the code: https://github.com/tianocore/edk2/blob/master/EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOut.c#L484 ``` CHAR8 * EFIAPI SafeUnicodeStrToAsciiStr ( ... if (*Source < 0x80) { *Destination = (CHAR8) *Source; } else { *Destination = '?'; ``` It really looks like it has nothing to do with qemu, it is just the way it was coded :D Cheers On Tue, 16 Mar 2021 at 21:29, Jakob Bohm wrote: > > On 2021-03-14 11:10, Francois wrote: > > Hi qemu! I am wondering if it is possible to get Unicode support > > through a stdio, or pty, serial console. > > I am running qemu from CentOS stream > > qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64 > > My terminal and locale use UTF-8. > > I am booting into the OVMF boot menu below, that lets me change the > > language to French, however characters like é è ç are badly rendered. > > I would expect the UEFI shell "edit" command to support unicode > > characters but I cannot test this either. > > My goal is to use Unicode characters in the boot entries (or "options > > de bottes" as it is funnily translated today) so they look nice. > > > > ``` > > /usr/libexec/qemu-kvm \ > > -m 512M \ > > -net none \ > > -machine q35 \ > > -pflash ./OVMF_CODE.secboot.fd \ > > -pflash ./OVMF_VARS.fd \ > > -serial stdio \ > > -debugcon file:debug.log -global isa-debugcon.iobase=0x402 > > ``` > > > > Cheers > > > You need to consider which character encoding the UEFI BIOS code > assumes for the serial port. > > Obvious possibilities that could all be used with French: > > 1. UTF-8 > 2. ISO8859-1 > 3. ISO8859-15 (same as -1, except the code for the Euro symbol) > 4. MS1252 (Same as -1, but extra characters, including the Euro >symbol on an unused number) > 5. IBM 437 (Used by the oldest IBM BIOS) > 6. IBM 850 (Fewer graphics characters for menus, more accented >letters) > > If the UEFI BIOS uses one of these, but the software processing > the serial output uses a different one, the result is very ugly > MojiBake. > > Enjoy > > Jakob > -- > Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com > Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 > This public discussion message is non-binding and may contain errors. > WiseMo - Remote Service Management for PCs, Phones and Embedded > >
Re: qemu and Unicode characters on serial console
On 2021-03-14 11:10, Francois wrote: Hi qemu! I am wondering if it is possible to get Unicode support through a stdio, or pty, serial console. I am running qemu from CentOS stream qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64 My terminal and locale use UTF-8. I am booting into the OVMF boot menu below, that lets me change the language to French, however characters like é è ç are badly rendered. I would expect the UEFI shell "edit" command to support unicode characters but I cannot test this either. My goal is to use Unicode characters in the boot entries (or "options de bottes" as it is funnily translated today) so they look nice. ``` /usr/libexec/qemu-kvm \ -m 512M \ -net none \ -machine q35 \ -pflash ./OVMF_CODE.secboot.fd \ -pflash ./OVMF_VARS.fd \ -serial stdio \ -debugcon file:debug.log -global isa-debugcon.iobase=0x402 ``` Cheers You need to consider which character encoding the UEFI BIOS code assumes for the serial port. Obvious possibilities that could all be used with French: 1. UTF-8 2. ISO8859-1 3. ISO8859-15 (same as -1, except the code for the Euro symbol) 4. MS1252 (Same as -1, but extra characters, including the Euro symbol on an unused number) 5. IBM 437 (Used by the oldest IBM BIOS) 6. IBM 850 (Fewer graphics characters for menus, more accented letters) If the UEFI BIOS uses one of these, but the software processing the serial output uses a different one, the result is very ugly MojiBake. Enjoy Jakob -- Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10 This public discussion message is non-binding and may contain errors. WiseMo - Remote Service Management for PCs, Phones and Embedded
qemu and Unicode characters on serial console
Hi qemu! I am wondering if it is possible to get Unicode support through a stdio, or pty, serial console. I am running qemu from CentOS stream qemu-kvm-core-4.2.0-35.module_el8.4.0+547+a85d02ba.x86_64 My terminal and locale use UTF-8. I am booting into the OVMF boot menu below, that lets me change the language to French, however characters like é è ç are badly rendered. I would expect the UEFI shell "edit" command to support unicode characters but I cannot test this either. My goal is to use Unicode characters in the boot entries (or "options de bottes" as it is funnily translated today) so they look nice. ``` /usr/libexec/qemu-kvm \ -m 512M \ -net none \ -machine q35 \ -pflash ./OVMF_CODE.secboot.fd \ -pflash ./OVMF_VARS.fd \ -serial stdio \ -debugcon file:debug.log -global isa-debugcon.iobase=0x402 ``` Cheers