can I use the display native resolution on vty0 as on any other vty's using KMS ?

karu.pruun karu.pruun at gmail.com
Wed Aug 12 05:48:45 PDT 2020


Hello

As discussed earlier, the difference between ttyv0 vs others is almost
expected pre-drm. I don't know the syscons code, there might be other
details in play as well and that could be the reason why the algorithm
described earlier does not work out for you. Actually, I tested
another machine with UEFI and a 4K screen, it gives 80x32, which is
not the expected result using the algorithm. So pre-drm, it may work
(eg on my laptop) or it may not work (on the desktop).

However, with drm/radeon/i915 kldloaded, the difference should go
away. That seems unexpected to me.

This said, my laptop shows a difference between cold boot and warm
boot. When I cold boot the laptop and kldload i915, it won't attach or
initialize properly; I'm not sure what is happening. I have to reboot
(with power on), then everything works fine; i915 initializes
properly. Maybe something like this is in play with your machine as
well? You should see the attach etc drm messages in /var/log/messages
if everything is OK.

With UEFI I don't know if there is a utility to change the video mode.
The vidcontrol modes are for VGA, it does not work with UEFI.

The sysctl man says:

---
Some of the variables which cannot be modified during normal system
operation can be initialized via loader(8) tunables.  This can for
example be done by setting them in loader.conf(5).  Please refer to
loader.conf(5) for more information on which tunables are available and
how to set them.
---

Cheers

Peeter

--

On Tue, Aug 11, 2020 at 9:49 PM nacho Lariguet <lariguet at gmail.com> wrote:
>
> On Tue, 11 Aug 2020 15:26:38 -0300
> nacho Lariguet <lariguet at gmail.com> wrote:
>
> This is a follow up:
>
> If, instead of, trying to do: [sysctl kern.kms_columns=-1;] post boot
> I do [set kern.kms_columns=-1] in the boot loader options ONLY, I mean
> without initializing the DRM drivers there, I still end up with ttyv0
> @ 80x25 while all the other ttyv>=1 are @ 240x75 :(
>
> > On Tue, 11 Aug 2020 11:18:34 +0300
> > "karu.pruun" <karu.pruun at gmail.com> wrote:
> >
> > > Hello
> > >
> > > > Is it possible right now to end up in a pre-DRM situation by default ?
> > > > IIRC kern.kms_console now defaults to 1 (don't know since when it does).
> > >
> > > The terminology here is a little confusing. I used pre-drm to mean
> > > "until a drm driver (i915 or radeon) is loaded". Let me try to clarify
> > > booting.
> >
> > OK. Now it is crystal-clear what pre-DRM is. My guess was pre-DRM meaned
> > before we (I mean dragonFly) started using kms_console by default.
> >
> > > The first screen with the boot menu is displayed by the loader. The
> > > kernel modules to load by the loader are given in
> > >
> > > /boot/loader.conf
> >
> > Right. The only thing I always added there is kern.kms_columns=-1
> >
> > > However, the official advice is that the loader load the absolute
> > > required minimum of kernel modules. For instance, my loader.conf has
> > > no modules. This is because memory is tight at that early stage. If
> > > you include, e.g. a drm driver, i915 or radeon, then the kernel will
> > > most likely crash at boot.
> > >
> > > The official advice is to load modules later by placing them in
> > > /etc/rc.conf, for instance,
> > >
> > > i915_load="YES"
> >
> > Right. Mine (rc.conf) has drm_load="yes" and radeon_load="yes". The
> > first is supposed to be automatically loaded by the second but I leave
> > it there to remind me of the process because it won't hurt at all.
> >
> > > I have all the required wlan, drm etc there.
> >
> > Me too.
> >
> > > And you can also load the drm modules manually on console using
> > > 'kldload i915'.
> >
> > Right.
> >
> > > This means that, for instance, if I choose to load the drm driver
> > > manually then I'm in the pre-drm stage until I will have kldloaded it,
> > > say, on console, manually. The copyright note (the "Regents" screen
> > > you mention), this is the kernel starting to load. This is pre-drm,
> > > there is no drm driver anywhere. This is either VGA or the UEFI
> > > display. The terminology "kms_columns" is misleading; that variable is
> > > read by the system to try to figure out column x row configuration,
> > > but there is no drm driver anywhere. That same "kms_columns" is also
> > > read later by the drm driver to set the column x row configuration.
> >
> > That's what mesmerizing me; suppose the following:
> >
> > I am booting @ 1920x1200 as set by the uEFI framebuffer code and then
> > while booting the kernel the REGENTS message follows (and seems lower
> > resolution due to the font scaling you mention but actually is at
> > 1920x1200) and then I end up at the root prompt still at 1920x1200 with
> > font scaling enabled @ 80x25 characters and without any drm driver at
> > all because when I booted I did not instructed the loader to use
> > anything out of the ordinary as advised by the man pages and/or the
> > handbook and/or whatever, and then, and only then I manually load the
> > DRM drivers with kldload drm and kldload radeon and when I issue
> > kldstat it shows them correctly loaded and then I do vidcontrol -i mode
> > on ttyv0 and it shows ONLY 80x25 while ttyv>=1 shows 240x75. In this
> > case I did not booted with the DRM drivers but I am still ending with
> > ttyv0 limited to less characters on the screen than the ones available
> > AFTER DRM was loaded post-boot the way is advised/intended to.
> >
> > Summarizing:
> >
> > - I boot the liveCD via uEFI without touching the boot loader options
> >
> > - kldload drm;
> > - kldload radeon;
> > - kldstat; ### shows radeon loaded and '[DRM] radeon' shows up in dmesg
> >
> > - vidcontrol -f 8x16 iso15-thin-8x16;
> > - vidcontrol -i mode; ### shows 80x25
> >
> > - sysctl kern.kms_console; ### not found
> > - sysctl kern.kms_columns; ### not found
> >          ### they are not even mentioned in the syscontrol man page
> > - sysctl kern.kms_columns=-1; ### unable to: unknown OID
> >
> > So, how do I instruct a running OS to switch to max columns now ?
> >
> > > So long story short: it is all pre-drm until the drm driver is
> > > literally kldloaded.
> > >
> > > The screen change you see when going from loader to kernel loading
> > > (the copyright, "Regents" note), there is no resolution change. The
> > > resolution is the same as on the loader screen, it has been set by
> > > UEFI. What you notice though is the change of font size. Between these
> > > two screens, the system has done the calculation described in the
> > > previous email, set the new column x row configuration, which is
> > > larger than what you have in the UEFI screen; but there is no change
> > > in resolution. Or perhaps there is slight change since it tries to
> > > allocate a buffer that covers most of the screen.
> > >
> > > I may have missed details, maybe someone can clarify more.
> >
> > I do really appreciate (your time and) your replies because they have a
> > lot of content to begin with.
> >
> > I also have to state that, what I was previously doing fiddling with the
> > boot loader options in order to get early-KMS start (as it is called in
> > linux) is because it didn't occurred to me I was ending in a 80x25 console
> > at 1920x1200 with font scaling enabled, to me it seemed like a standard
> > VGA screen, my fault, absolutely my fault. Although it will be nice to
> > have dragonFly (or for the matter whatever OS for instance) booting at
> > the best possible resolution (because it is far easy to read the kernel
> > messages this way) I do not need/require early-KMS at all, I am really
> > fine booting as it is intended to without DRM ... PROVIDED I can later
> > change to max characters after loading everything DRM-related via rc.conf
> >
> > I think the only thing I need to accomplish this right now is to find a
> > way of setting:
> >
> > sysctl kern.kms_columns=-1;
> >
> > Am I right ?
> >
> > > Cheers
> > >
> > > Peeter
> > >
> > > --
> > >
> > > On Tue, Aug 11, 2020 at 1:41 AM nacho Lariguet <lariguet at gmail.com> wrote:
> > > >
> > > > On Mon, 10 Aug 2020 14:37:14 +0300
> > > > "karu.pruun" <karu.pruun at gmail.com> wrote:
> > > >
> > > > I'm attaching the output of "gop list" as mentioned before.
> > > >
> > > > You can clearly see that it boots straight to 1920x1200 right from the
> > > > liveCD. So uEFI is informing 1920x1200 capability without any doubt.
> > > >
> > > > When it gets to the REGENTS message, it switches to a lower resolution.
> > > >
> > > > PS: I keep forgetting to CC the users list: sorry to reply twice Peeter
> > > >
> > > > > Hello
> > > > >
> > > > > I should clarify that when you load the drm driver (i915 or radeon, as
> > > > > root on the console using 'kldload i915' or 'kldload radeon') the
> > > > > initial buffer restriction does not apply any more. The drm drivers
> > > > > allocate their own framebuffers, so all ttyv-s will have the same
> > > > > column x row configuration.
> > > > >
> > > > > In the pre-drm situation, as explained earlier, the system tries to
> > > > > work out an optimal column x row configuration based on the
> > > > > information it gets from BIOS or UEFI. In the case of BIOS, you get
> > > > > VGA modes; we don't have VESA at the moment, yet, if I'm correct. In
> > > > > the case of UEFI, the system gets the resolution from UEFI and then
> > > > > tries to work out the best column x row configuration under the
> > > > > restriction that it must be max 160 column x 50 rows, font width is 8
> > > > > and the final configuration must preserve font scaling. For instance,
> > > > > on my laptop this works out precisely as described:
> > > > >
> > > > > - UEFI tells the resolution is 1680x1050 (X x Y)
> > > > > - Font width is 8
> > > > > - 1680 / 8 = 210, too large
> > > > > - increase font width x 2
> > > > > - 1680 / 16 = 105, yes under 160
> > > > > - 1050 / 32 (font height is 16) = 32.8, round to nearest int, this is
> > > > > 32; yes it's under 50
> > > > > - final setup: 105x32
> > > > >
> > > > > The 105x32 is exactly what I get by default on my laptop if I set no
> > > > > loader variables.
> > > > >
> > > > > I am not sure what if anything has changed between DragonFly 5.4 and
> > > > > master. The syscons driver I believe is exactly the same. The BIOS and
> > > > > UEFI setups would give different results though.
> > > > >
> > > > > I suggest you try to calculate the column x row configuration as
> > > > > described above. In UEFI setup, you can see the modes as follows: at
> > > > > boot, go to boot prompt (press '9'), and then do 'gop list' to see
> > > > > what modes UEFI gives you. You can set the mode there too. (Give 'gop'
> > > > > to see the command.) Enter 'boot' to continue booting. I guess you can
> > > > > set the desired mode by default via a boot loader variable; but I
> > > > > don't know what it would be.
> > > > >
> > > > > The graphical target etc stuff is linux speak, and probably systemd;
> > > > > it has no relevance at all for DragonFly.
> > > > >
> > > > > Hope this helps.
> > > > >
> > > > > Peeter
> > > > >
> > > > > --
> > > > >
> > > > > On Mon, Aug 10, 2020 at 1:33 AM nacho Lariguet <lariguet at gmail.com> wrote:
> > > > > >
> > > > > > On Sun, 9 Aug 2020 13:53:22 -0700
> > > > > > Jonathan Engwall <engwalljonathanthereal at gmail.com> wrote:
> > > > > >
> > > > > > > On Sun, Aug 9, 2020, 12:00 PM <users-request at dragonflybsd.org> wrote:
> > > > > > >
> > > > > > > > Send Users mailing list submissions to
> > > > > > > >         users at dragonflybsd.org
> > > > > > > >
> > > > > > > > To subscribe or unsubscribe via the World Wide Web, visit
> > > > > > > >         http://lists.dragonflybsd.org/mailman/listinfo/users
> > > > > > > > or, via email, send a message with subject or body 'help' to
> > > > > > > >         users-request at dragonflybsd.org
> > > > > > > >
> > > > > > > > You can reach the person managing the list at
> > > > > > > >         users-owner at dragonflybsd.org
> > > > > > > >
> > > > > > > > When replying, please edit your Subject line so it is more specific
> > > > > > > > than "Re: Contents of Users digest..."
> > > > > > > >
> > > > > > > >
> > > > > > > > Today's Topics:
> > > > > > > >
> > > > > > > >    1. Re: can I use the display native resolution on vty0 as on any
> > > > > > > >       other vty's using KMS ? (nacho Lariguet)
> > > > > > > >    2. how do I label (meaning adding a reminder caption) to any
> > > > > > > >       given BSD slice ? (nacho Lariguet)
> > > > > > > >
> > > > > > > >
> > > > > > > > ----------------------------------------------------------------------
> > > > > > > >
> > > > > > > > Message: 1
> > > > > > > > Date: Sat, 8 Aug 2020 18:06:14 -0300
> > > > > > > > From: nacho Lariguet <lariguet at gmail.com>
> > > > > > > > To: users at dragonflybsd.org
> > > > > > > > Subject: Re: can I use the display native resolution on vty0 as on any
> > > > > > > >         other vty's using KMS ?
> > > > > > > > Message-ID: <20200808180614.66f67761 at leonov>
> > > > > > > > Content-Type: text/plain; charset=US-ASCII
> > > > > > > >
> > > > > > > > On Sat, 8 Aug 2020 11:26:35 -0700
> > > > > > > > Jonathan Engwall <engwalljonathanthereal at gmail.com> wrote:
> > > > > > > >
> > > > > > > > > Your picture looks to me like the standard "UNIX multi-user mode" perhaps
> > > > > > > > > you should select a graphical target somehow. Are making a multi-head
> > > > > > > > boot,
> > > > > > > > > or bringing up each tty simultaneously?
> > > > > > > > > Jonathan Engwall
> > > > > > > >
> > > > > > > > ... standard "UNIX multi-user mode" ... sure: do I did try/ask for
> > > > > > > > anything else ?
> > > > > > > >
> > > > > > > > I'm afraid I'm not following
> > > > > > > >
> > > > > > >
> > > > > > > Your photo shows the BSD/UNIX default to boot to a root system
> > > > > > > administrator account. To change this you will need to boot to a graphical
> > > > > > > target, or launch a multi head, or something relevant to what you are doing.
> > > > > > > I don't know what you are doing. Maybe puppet would work for you?
> > > > > > > Jonathan Engwall
> > > > > >
> > > > > > OK. Let me be more clear.
> > > > > >
> > > > > > I want to start using dragonFly ... daily.
> > > > > >
> > > > > > So the first step is to install it on the hardware that for whatever reasons
> > > > > > I currently have, get it running without major issues, and last but not least,
> > > > > > set a working environment that suits my needs, which ends in the following fact:
> > > > > >
> > > > > > What I want is dragonFly running ... WITHOUT X11 !
> > > > > >
> > > > > > I just want to develop and work with/on the system console, which in our case,
> > > > > > happens to be syscons since we still don't have vt/wcons/whatever which means
> > > > > > no native UTF-8 console for the time being.
> > > > > >
> > > > > > I feel comfortable working/developing without a major stack like X because:
> > > > > >
> > > > > > - I'm learning BSD and the best way to learn something like this is bottom to top
> > > > > > not the other way around. This is exactly what I've done with arch-linux some years
> > > > > > ago, I just installed a barebones system and from then on I kept learning and
> > > > > > needless to say I learned a lot of thinks of linux inner workings which I doubt
> > > > > > I could have learned with the zillion packages required by X and any given desktop
> > > > > > environment with all their complexity and all the duplicacte functionality. Prior
> > > > > > to start using linux I developed for many many years on, yes, Microsoft products
> > > > > > and whatnot. Eventually moving to linux was so alien that I wanted to start, I say
> > > > > > it again: bottom to top, not the other way around.
> > > > > >
> > > > > > - That said, I eventually want to move my primary workstation to dragonFly and a
> > > > > > couple of servers, and I decided, wisely or not, that I want to move one server
> > > > > > first because the server won't need X etc etc and albeit being a file/web server
> > > > > > to begin with, it will give me a working environment so I can start coding in BSD,
> > > > > > meaning primarily C.
> > > > > >
> > > > > > - Everything I need to code do not requires X at all: just a working system console.
> > > > > > I learned to use VIM in the past few years and feels quite comfortably with it
> > > > > > meaning I totally customized it (even I coded many syntax files from scratch), and
> > > > > > in my arch linux console environment I have everything I want to.
> > > > > >
> > > > > > That will give you a detailed overview of what I am after with dragonFly.
> > > > > >
> > > > > > I need a couple of things:
> > > > > >
> > > > > > - digital video at max resolution: 1920x1200 in my case ... got it on my test-bed
> > > > > > desktop and will attempt to get it running on my PowerEdge servers in a couple of
> > > > > > days I guess.
> > > > > >
> > > > > > - a working US international keyboard layout (us-acentos) ... still not working
> > > > > >
> > > > > > - a UTF-8 native console ... I know I should give up on this if I want to use this OS
> > > > > >
> > > > > > - a custom script in CSH to execute after booting a liveCD that formats/installs/
> > > > > > configures everything as needed ... almost done, testing it right now.
> > > > > >
> > > > > > From there on I'm planing to use what for whatever reasons I am currently using in arch:
> > > > > >
> > > > > > - BIND
> > > > > > - nginx
> > > > > > - postgreSQL
> > > > > >
> > > > > > Nothing special, all are in dPorts and I can customize and recompile them as needed.
> > > > > >
> > > > > > WHEN I get this server working I will start fiddling with X11 on my future BSD workstation.
> > > > > >
> > > > > > Sorry if this answer was a bit long but I hope you'll understand where I am standing
> > > > > > right now.
> > > > > >
> > > > > > > I don't know what you are doing. Maybe puppet would work for you?
> > > > > >
> > > > > > I'll eventually get it running with/without your support.
> > > > > >
> > > > > > Thanks for your advice, and I mean it.
> > > > > >
> > > > > > PS: You will note that I am asking a lot of questions on the mailing list, I read the man
> > > > > > pages, always, that won't mean that some thing can goes unnoticed to me at any given time
> > > > > > or that simply I just forgot about some x detail I read before, there's a LOT to learn
> > > > > > and the fact that I am asking is because I am a NEWBIE to BSD in general and I want to
> > > > > > learn, nothing out of the ordinary I guess. If that irritates you just ignore me. I will
> > > > > > be fine.
> > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > ------------------------------
> > > > > > > >
> > > > > > > > Message: 2
> > > > > > > > Date: Sun, 9 Aug 2020 15:04:42 -0300
> > > > > > > > From: nacho Lariguet <lariguet at gmail.com>
> > > > > > > > To: dragonFlyBSD user list <users at dragonflybsd.org>
> > > > > > > > Subject: how do I label (meaning adding a reminder caption) to any
> > > > > > > >         given BSD slice ?
> > > > > > > > Message-ID: <20200809150442.7f5bc89d at leonov>
> > > > > > > > Content-Type: text/plain; charset=US-ASCII
> > > > > > > >
> > > > > > > > ie: the "label:" field shown under the "diskid:" one with disklabel64
> > > > > > > >
> > > > > > > > It seems there is no switch (maybe -l) on disklabel64 (when using -w) to
> > > > > > > > label a slice.
> > > > > > > >
> > > > > > > > eg:
> > > > > > > >
> > > > > > > > # /dev/da0s1:
> > > > > > > > #
> > > > > > > > # Calculated informational fields for the slice:
> > > > > > > > #
> > > > > > > > # boot space:    1044480 bytes
> > > > > > > > # data space:  175691776 blocks # 171574.00 MB (179908378624 bytes)
> > > > > > > > #
> > > > > > > > # NOTE: The partition data base and stop are physically
> > > > > > > > #       aligned instead of slice-relative aligned.
> > > > > > > > #
> > > > > > > > # All byte equivalent offsets must be aligned.
> > > > > > > > #
> > > > > > > > diskid: af1b4686-d85d-11ea-9373-012324e2aca4
> > > > > > > > label: ... HOW TO SET THIS ONE ?
> > > > > > > > boot2 data base:      0x000000001000
> > > > > > > > partitions data base: 0x000000100000
> > > > > > > > partitions data stop: 0x0029e3700000
> > > > > > > > backup label:         0x0029e37ff000
> > > > > > > > total size:           0x0029e3800000    # 171576.00 MB
> > > > > > > > alignment: 4096
> > > > > > > > display block size: 1024        # for partition display and edit only
> > > > > > > >
> > > > > > > > 16 partitions:
> > > > > > > > #          size     offset    fstype   fsuuid
> > > > > > > >   a:    1048576          0    4.2BSD    #    1024.000MB
> > > > > > > >   d:   33554432    1048576   HAMMER2    #   32768.000MB
> > > > > > > >   e:  134217728   34603008   HAMMER2    #  131072.000MB
> > > > > > > >   f:    6871040  168820736   HAMMER2    #    6710.000MB
> > > > > > > >   a-stor_uuid: eb61372a-d85d-11ea-9373-012324e2aca4
> > > > > > > >   d-stor_uuid: eb613733-d85d-11ea-9373-012324e2aca4
> > > > > > > >   e-stor_uuid: eb613739-d85d-11ea-9373-012324e2aca4
> > > > > > > >   f-stor_uuid: eb61373e-d85d-11ea-9373-012324e2aca4
> > > > > > > >
> > > > > > > >
> > > > > > > > ------------------------------
> > > > > > > >
> > > > > > > > Subject: Digest Footer
> > > > > > > >
> > > > > > > > _______________________________________________
> > > > > > > > Users mailing list
> > > > > > > > Users at dragonflybsd.org
> > > > > > > > http://lists.dragonflybsd.org/mailman/listinfo/users
> > > > > > > >
> > > > > > > >
> > > > > > > > ------------------------------
> > > > > > > >
> > > > > > > > End of Users Digest, Vol 96, Issue 10
> > > > > > > > *************************************
> > > > > > > >
> > > > > >
> > > >
> >


More information about the Users mailing list