Date: Mon, 15 May 2023 08:41:19 -0400 From: Oleg Lelchuk <oleglelchuk@gmail.com> To: Toomas Soome <tsoome@me.com> Cc: Warner Losh <imp@bsdimp.com>, Ed Maste <emaste@freebsd.org>, Emmanuel Vadot <manu@bidouilliste.com>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: Why doesn't the EFI boot loader want to display the graphical orb logo in its boot menu on an Asus Prime 7590-P motherboard? Message-ID: <CA%2BGqWgs9-H%2BZpOTRe=kXd%2Bx1WRSfzkCDfKe2F-2ZV0vN=NE87Q@mail.gmail.com> In-Reply-To: <4AC4F6EE-CE18-4D67-A7F7-9328DAB3E1AB@me.com> References: <CA%2BGqWgudMq%2BeV5OJzuC_zR1Osdrak70PmOpFJqLMk3aDE0wy8w@mail.gmail.com> <3B658415-3AD0-4E8B-8CBE-F13FA70CBDC8@me.com> <20230512070557.859671981b7c616c0da7d666@bidouilliste.com> <CA%2BGqWguYpkm17xTQKN3qgyACpG7MkHPK3jJz=f9tx=zovvaNMA@mail.gmail.com> <4F0D21B1-58B6-413D-8499-11AF0E338C78@me.com> <CA%2BGqWguPT8uxtGhbWBw4kmR34jC7kG-DSMT0SuEm02smaigoEA@mail.gmail.com> <B8A678CB-8E2C-4A4C-852C-3E66C2C3B4B4@me.com> <CA%2BGqWgta5%2B-POUk88Z%2B-_FtcJouvLZpu5vYQ6kfX1DGwwjeCXw@mail.gmail.com> <CAPyFy2A4cW4SnFLEypM31JMDJT=A=vMh%2BW5g%2BO2gigf5OWDKrA@mail.gmail.com> <CA%2BGqWgsviBD_B_OQHERZd4J6S0chT-F=Rz0kExtUWq9t6QV_dA@mail.gmail.com> <CA%2BGqWgumZtyVJTbyfMf2bLypK1Ndw1L1AcQ7LTjnCtvRwAtJtA@mail.gmail.com> <CANCZdforzzd6kwQZ7RVctB5MG1=BU86ot7vBGydCek%2BUV44JOw@mail.gmail.com> <CA%2BGqWgsfVxvEduT_ncD%2BMKWDw9r8LqADF0wGsuZS8xt8V0p_-w@mail.gmail.com> <CA%2BGqWgucZuH5jc7xGUs_GPmebPzacHdH%2BWdh7qn2X8qnBm6uLQ@mail.gmail.com> <4AC4F6EE-CE18-4D67-A7F7-9328DAB3E1AB@me.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000003221d105fbbac64a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I got it. On Mon, May 15, 2023, 8:32 AM Toomas Soome <tsoome@me.com> wrote: > > > On 15. May 2023, at 15:22, Oleg Lelchuk <oleglelchuk@gmail.com> wrote: > > Adding screen.font=3D"16=C3=9732" to loader.conf fixed that tiny issue me= ntioned > in the previous email message... I find it a bit surprising that I only h= ad > to make one tiny change to the source code of stand to make the graphical > logo appear, to start playing with the EFI resolution, and etc. > > > The font size/resolution is difficult topic. The implementation itself ca= n > choose =E2=80=9Cgood enough=E2=80=9D variant and then some people are hap= py and some people > are unhappy. > > The current loader UI is built on terminal dimensions (which depend on > glyph size and resolution), and there the traditional assumption is that = we > have 80x24 terminal. With different fonts and depending on how much scree= n > space we want to leave unused, we can get different dimensions for termin= al. > > And since there is quite a variation of displays, the challenge is to get > decent enough visual on most commonly used displays - so there can be > pressure to use fixed resolution etc. And this is also the reason, why yo= u > see very simple boot screens with something like spinning wheel on some > other systems. > > rgds, > toomas > > > On Sun, May 14, 2023, 8:58 AM Oleg Lelchuk <oleglelchuk@gmail.com> wrote: > >> Okay, so I edited /usr/src/stand/efi/loader/main.c , and I replaced >> ConOut with ConIn in this line: rv =3D efi_global_getenv("ConIn", buf, &= sz); >> . Now I am able to see the beautiful graphical logo in the efi boot menu= ! >> But why are the boot menu and the logo shown in the top left corner of m= y >> computer screen? My monitor is 1080p and the setting >> efi_max_resolution=3D1080p in loader.conf only affects what happens afte= r the >> kernel starts booting up, but it doesn't affect what happens before it: = the >> boot menu and the logo remain in the top left corner of the screen. Why = is >> this the case? You can see the photo in the provided attachment... And >> thank you, guys, for your work! >> >> On Sat, May 13, 2023 at 9:35=E2=80=AFAM Warner Losh <imp@bsdimp.com> wro= te: >> >>> >>> >>> On Sat, May 13, 2023, 6:26 AM Oleg Lelchuk <oleglelchuk@gmail.com> >>> wrote: >>> >>>> I've been reading the documentation for loader.efi and it says this: >>>> "If there is no ConOut variable, both serial and video are attempted. >>>> loader.efi uses the "efi" console for the video (which may or may >>>> not >>>> work) and "comconsole" for the serial on COM1 at the default baud >>>> rate. >>>> The kernel will use a dual console, with the video console primar= y >>>> if a >>>> UEFI graphics device is detected, or the serial console as primar= y >>>> if >>>> not." >>>> I find this language confusing because I don't know what is meant by "= a >>>> UEFI graphics device". In my situation, is my Intel Integrated Graphic= s >>>> card an UEFI graphics device? Does it mean that once i915kms is loaded= , I >>>> no longer deal with UEFI graphics? I think lots of people whose native >>>> language is English will find the documentation describing loader.efi >>>> confusing. The documentation page also mentions this: "BUGS >>>> Systems that do not have a ConOut variable set are not conformant >>>> with >>>> the standard, and likely have unexpected results." But I think yo= u >>>> guys already implied that the UEFI specification doesn't mandate havin= g >>>> such a variable. >>>> >>> >>> That's unclear. The standard refers to it many times. Earlier versions >>> especially. It doesn't say it's optional, unlike some other variables. = Yet >>> later versions don't say it's mandatory. I've yet to own or use a syst= em >>> without it... such systems exist but they are quite new... >>> >>> Warner >>> >>> On Fri, May 12, 2023 at 7:55=E2=80=AFPM Oleg Lelchuk <oleglelchuk@gmail= .com> >>>> wrote: >>>> >>>>> I got it. Thanks. >>>>> >>>>> On Fri, May 12, 2023 at 7:45=E2=80=AFPM Ed Maste <emaste@freebsd.org>= wrote: >>>>> >>>>>> On Fri, 12 May 2023 at 09:26, Oleg Lelchuk <oleglelchuk@gmail.com> >>>>>> wrote: >>>>>> > >>>>>> > I don't want to go through the hassle of filling a bug with my >>>>>> vendor. I will just wait for you, guys, to update the stand implemen= tation. >>>>>> Thank you for explaining to me what causes this issue. >>>>>> >>>>>> This issue is tracked in PR 265980 if you want to follow it. >>>>>> https://bugs.freebsd.org/265980 >>>>>> >>>>> > --0000000000003221d105fbbac64a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">I got it.</div><br><div class=3D"gmail_quote"><div dir=3D= "ltr" class=3D"gmail_attr">On Mon, May 15, 2023, 8:32 AM Toomas Soome <<= a href=3D"mailto:tsoome@me.com">tsoome@me.com</a>> wrote:<br></div><bloc= kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc= c solid;padding-left:1ex"><div style=3D"line-break:after-white-space"><br><= div><br><blockquote type=3D"cite"><div>On 15. May 2023, at 15:22, Oleg Lelc= huk <<a href=3D"mailto:oleglelchuk@gmail.com" target=3D"_blank" rel=3D"n= oreferrer">oleglelchuk@gmail.com</a>> wrote:</div><br><div><div dir=3D"a= uto">Adding screen.font=3D"16=C3=9732" to loader.conf fixed that = tiny issue mentioned in the previous email message... I find it a bit surpr= ising that I only had to make one tiny change to the source code of stand t= o make the graphical logo appear, to start playing with the EFI resolution,= and etc.</div></div></blockquote><div><br></div><div>The font size/resolut= ion is difficult topic. The implementation itself can choose =E2=80=9Cgood = enough=E2=80=9D variant and then some people are happy and some people are = unhappy.</div><div><br></div><div>The current loader UI is built on termina= l dimensions (which depend on glyph size and resolution), and there the tra= ditional assumption is that we have 80x24 terminal. With different fonts an= d depending on how much screen space we want to leave unused, we can get di= fferent dimensions for terminal.</div><div><br></div><div>And since there i= s quite a variation of displays, the challenge is to get decent enough visu= al on most commonly used displays - so there can be pressure to use fixed r= esolution etc. And this is also the reason, why you see very simple boot sc= reens with something like spinning wheel on some other systems.</div><div><= br></div><div>rgds,</div><div>toomas</div><br><blockquote type=3D"cite"><di= v><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On S= un, May 14, 2023, 8:58 AM Oleg Lelchuk <<a href=3D"mailto:oleglelchuk@gm= ail.com" target=3D"_blank" rel=3D"noreferrer">oleglelchuk@gmail.com</a>>= wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8= ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Okay, so I= edited /usr/src/stand/efi/loader/main.c , and I replaced ConOut with ConIn= in this line:=C2=A0rv =3D efi_global_getenv("ConIn", buf, &s= z); . Now I am able to see the beautiful graphical logo in the efi boot men= u! But why are the boot menu and the logo shown in the top left corner of m= y computer screen? My monitor is 1080p and the setting efi_max_resolution= =3D1080p in loader.conf only affects what happens after the kernel starts b= ooting up, but it doesn't affect what happens before it: the boot menu = and the logo remain in the top left corner of the screen. Why is this the c= ase? You can see the photo in the provided attachment... And thank you, guy= s, for your work!</div><br><div class=3D"gmail_quote"><div dir=3D"ltr" clas= s=3D"gmail_attr">On Sat, May 13, 2023 at 9:35=E2=80=AFAM Warner Losh <<a= href=3D"mailto:imp@bsdimp.com" rel=3D"noreferrer noreferrer" target=3D"_bl= ank">imp@bsdimp.com</a>> wrote:<br></div><blockquote class=3D"gmail_quot= e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)= ;padding-left:1ex"><div dir=3D"auto"><div><br><br><div class=3D"gmail_quote= "><div dir=3D"ltr" class=3D"gmail_attr">On Sat, May 13, 2023, 6:26 AM Oleg = Lelchuk <<a href=3D"mailto:oleglelchuk@gmail.com" rel=3D"noreferrer nore= ferrer" target=3D"_blank">oleglelchuk@gmail.com</a>> wrote:<br></div><bl= ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef= t:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">I've be= en reading the documentation for loader.efi and it says this: "If ther= e is no ConOut variable, both serial and video are attempted.<br>=C2=A0 =C2= =A0 =C2=A0loader.efi uses the "efi" console for the video (which = may or may not<br>=C2=A0 =C2=A0 =C2=A0work) and "comconsole" for = the serial on COM1 at the default baud rate.<br>=C2=A0 =C2=A0 =C2=A0The ker= nel will use a dual console, with the video console primary if a<br>=C2=A0 = =C2=A0 =C2=A0UEFI graphics device is detected, or the serial console as pri= mary if<br>=C2=A0 =C2=A0 =C2=A0not."<div>I find this language confusin= g because I don't know what is meant by "a UEFI graphics device&qu= ot;. In my situation, is my Intel Integrated Graphics card an UEFI graphics= device? Does it mean that once i915kms is loaded, I no longer deal with UE= FI graphics? I think lots of people whose native language is English will f= ind the documentation describing loader.efi confusing. The documentation pa= ge also mentions this: "BUGS</div>=C2=A0 =C2=A0 =C2=A0Systems that do = not have a ConOut variable set are not conformant with<br>=C2=A0 =C2=A0 =C2= =A0the standard, and likely have unexpected results." But I think you = guys already implied that the UEFI specification doesn't mandate having= such a variable.</div></blockquote></div></div><div dir=3D"auto"><br></div= ><div dir=3D"auto">That's unclear. The standard refers to it many times= . Earlier versions especially. It doesn't say it's optional, unlike= some other variables. Yet later versions don't say it's mandatory.= =C2=A0 I've yet to own or use a system without it... such systems exist= but they are quite new...</div><div dir=3D"auto"><br></div><div dir=3D"aut= o">Warner</div><div dir=3D"auto"><br></div><div dir=3D"auto"><div class=3D"= gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px = 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, May 12, 2023= at 7:55=E2=80=AFPM Oleg Lelchuk <<a href=3D"mailto:oleglelchuk@gmail.co= m" rel=3D"noreferrer noreferrer noreferrer" target=3D"_blank">oleglelchuk@g= mail.com</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D= "margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le= ft:1ex"><div dir=3D"ltr">I got it. Thanks.</div><br><div class=3D"gmail_quo= te"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, May 12, 2023 at 7:45=E2= =80=AFPM Ed Maste <<a href=3D"mailto:emaste@freebsd.org" rel=3D"noreferr= er noreferrer noreferrer" target=3D"_blank">emaste@freebsd.org</a>> wrot= e:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0= .8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 12 Ma= y 2023 at 09:26, Oleg Lelchuk <<a href=3D"mailto:oleglelchuk@gmail.com" = rel=3D"noreferrer noreferrer noreferrer" target=3D"_blank">oleglelchuk@gmai= l.com</a>> wrote:<br> ><br> > I don't want to go through the hassle of filling a bug with my ven= dor. I will just wait for you, guys, to update the stand implementation. Th= ank you for explaining to me what causes this issue.<br> <br> This issue is tracked in PR 265980 if you want to follow it.<br> <a href=3D"https://bugs.freebsd.org/265980" rel=3D"noreferrer noreferrer no= referrer noreferrer" target=3D"_blank">https://bugs.freebsd.org/265980</a><= br> </blockquote></div> </blockquote></div> </blockquote></div></div></div> </blockquote></div> </blockquote></div> </div></blockquote></div><br></div></blockquote></div> --0000000000003221d105fbbac64a--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BGqWgs9-H%2BZpOTRe=kXd%2Bx1WRSfzkCDfKe2F-2ZV0vN=NE87Q>