Announcement

Collapse
No announcement yet.

The State Of Killing CONFIG_VT, Moving To User-Space

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by M1kkko View Post
    The more I think about this, the more stupid it sounds.
    Jesus christ its like the old Wayland vs X, systemd vs sysV FUD all over again...

    Let me make this absolutely clear-- for you and EVERYONE else in this thread... EVERYTHING ABOUT THE VT IS ALREADY IN USERSPACE MINUS ALL THE BENEFITS OF USERSPACE.

    If you're at KDE and you switch to a VT, that handoff is handled by X-- userspace (Switching from a VT back to X is handled by KMS)
    Your login prompt at the VT-- userspace
    Your bash/csh/zsh/sh shell-- userspace
    All of your commands IN that shell-- userspace.

    That first point up there, handled by X, is important-- if the entire computer is under extreme CPU and memory pressure, YOU ARE NOT GUARANTEED A VT SWITCH and if you DO get one you aren't guaranteed to be able to run kill -9 on whatever process is hogging things, or run reboot, or maybe not even run SYSRQ-- I know you SHOULD always be able to run the system rescue keycombos by apparently...there are even some situations where those can be blocked (yes they were enabled kernel config and all other necessary places. They just didnt work.)

    The only way you can be "guaranteed" anything during an early kernel panic or other situation where you cant get to a VT to see output is to have a serial console plugged in next to you so you can see it all. That is the ONLY guaranteed way. EVERYTHING else is just pure and simple luck.
    All opinions are my own not those of my employer if you know who they are.

    Comment


    • #12
      Originally posted by Vim_User View Post
      So what does that mean for people like me that like to implement single purpose systems, using Busybox running from an initrd? Do we have to use systemd, bloating and complicating our systems only to see output on the screen and have user input? What happens when the kernel panics before it is able to load one of those log modules? Will we ever know what happened?
      I don't get why this developers try to kill off kernel components with only desktop systems in mind. Hello, welcome to reality, the largest install base of Linux is on Android devices, no systemd there, so no, systemd/logind is by far not the standard session handler.
      As far as whether you will be forced to use logind... no. If you actually read the article carefully one of the very first paragraphs states (and this has been re-iterated by other developers for similar situations) logind is becoming the defacto implementation of session management on the linux desktop. Does this mean you have to use logind? No. IF someone wants to come around and not use logind because they dont want to use systemd and they start to write their own session manager, thats fine. The only thing that will be required of them is to support the baseline logind API so that programs higher-up than the session manager dont have to actually worry about what the session manager IS. (No testing to see what session manager is in use and then using foo.bar.login(); and if using logind use logind.login(); its all just: login(); )

      Early level kernel panic? Serial Console. As ALWAYS, this has never changed since Linux's inception. Also like 99% of kernel config options... I see no reason why instead of as a module, the fblog and drmlog kernel pieces couldnt instead be built right into the kernel, ensuring that they are always active. initrd could at minimum load them-- and lets be honest, if your initrd is fscked, then youve got bigger problems and we're probably back to "A serial console is the only thing thats gonna help you"

      Its killing off kernel components because they suck and kernelspace in general sucks and no one wants to code in kernel space if they can help it.
      Last edited by Ericg; 09 July 2013, 11:01 AM.
      All opinions are my own not those of my employer if you know who they are.

      Comment


      • #13
        Originally posted by c117152 View Post
        Is "Only one desktop session is active at a time!" means what I think it means ? So, I won't be able to have two window managers, and\or XBMC running at the same time? That's no good.
        We've been seeing more and more only-in-gnome or only-in-unity programs and functionality recently (wifi anyone?). And, while it shouldn't be the case, as more and more functionality is moved away from the CLI and isn't integrated into some generic GUI program (and is rather made a gnome extension and the likes), we're becoming dependent on those window managers...

        And I can't help think about the future here. There are mobile platforms coming along where a window manager might be the only difference between them and a linux desktop. A developer would definitely be interested in having one such session running concurrently to his own without extra hardware instead of some virtual machine. Writing a few lines, compiling, switching with ALTCTRLF7, running and testing stuff, switching back... It's a work flow worth keeping.
        Wrong. He said "active" session-- means whatever one is on the screen. You can't run E17, Gnome, KDE, and XBMC all on separate VT's and have everything all rendering at the sametime or even really doing things at the same time.. (if I switch away from KDE i notice some things stop doing their work and basically think the computer is in sleep-mode). This is about the ONE that is on the screen.
        All opinions are my own not those of my employer if you know who they are.

        Comment


        • #14
          Originally posted by jakubo View Post
          i really have no clue but could it be this will end up like UMS vs KMS?
          - lets get all the stuff out of the kernel...
          10 years later:
          - lets get it back into the kernel

          why killing kernel console again.?
          number one priority should be reliability (with no excuse) shouldnt it?
          UMS has advantages, as Windows 7 showed -- a UMS video driver cant crash the kernel and can be automatically unloaded and reloaded with minimal difficulty which is great for user experience and stability. KMS has massive performance benefits because its in kernel space, at the risk of crashing the kernel.

          Killing the kernel console is because kernelspace sucks and even the DRM guys want the VT out of the kernel. Also reliability isn't actually guaranteed... see my post on page 2 about how everything in userspace anyway.
          All opinions are my own not those of my employer if you know who they are.

          Comment


          • #15
            Originally posted by TheCycoONE View Post
            Yes, you're right. This exact question was asked and answered in the article comments (with the same XBMC example):
            My work towards deprecating CONFIG_VT recently got stuck due to several kernel changes that are needed to proceed. DRM Render-nodes and Modeset-nodes are on their way and so I thought I’d pro…
            Well, that settles that I suppose Still, not too sure if it will be possible to XBMC on one screen while working on the other without a zero client... But I suppose that's probably sorted as well.
            Last edited by c117152; 09 July 2013, 11:02 AM. Reason: err

            Comment


            • #16
              Originally posted by Ericg View Post
              As far as whether you will be forced to use logind... no. If you actually read the article carefully one of the very first paragraphs states (and this has been re-iterated by other developers for similar situations) logind is becoming the defacto implementation of session management on the linux desktop. Does this mean you have to use logind? No. IF someone wants to come around and not use logind because they dont want to use systemd and they start to write their own session manager, thats fine. The only thing that will be required of them is to support the baseline logind API so that programs higher-up than the session manager dont have to actually worry about what the session manager IS. (No testing to see what session manager is in use and then using foo.bar.login(); and if using logind use logind.login(); its all just: login(); ).
              And you totally missed the point. I don't need session management for a single purpose system that runs a specific script in Busybox from an initrd. But what I need is input and output, without having to do any magic or even writing a session manager just to see something.
              Again, I am not talking about desktop systems, but there seem to be some developers that think Linux is all about desktop systems.
              So I have to ask again, how will this affect me, when this becomes the standard and sometime in the future the old VTs become unmaintained or even removed?
              It seems to me that there is a rush for "new" where it isn't necessary.

              Comment


              • #17
                Originally posted by Vim_User View Post
                And you totally missed the point. I don't need session management for a single purpose system that runs a specific script in Busybox from an initrd. But what I need is input and output, without having to do any magic or even writing a session manager just to see something.
                Again, I am not talking about desktop systems, but there seem to be some developers that think Linux is all about desktop systems.
                So I have to ask again, how will this affect me, when this becomes the standard and sometime in the future the old VTs become unmaintained or even removed?
                It seems to me that there is a rush for "new" where it isn't necessary.
                What do you use NOW to control it and to control init? (I havent worked with BusyBox myself so they may their own solution) SysV? For something that specialized I really doubt that anything the rest of the Linux ecosystem does will affect you unless it involves the kernel.

                Yes, Config_VT will probably be unmaintained and removed eventually.. In which case you are left with kmscon, yes, but kmscon doesn't rely on systemd it just uses it if its available and configured to. Kmscon only REQUIRES udev and XKCB, both of which you should have even on a busybox system I would think. The KMSCON readme on github even states

                If you want only a very basic kmscon program without any major dependencies, use:
                $ ./configure --with-video=fbdev,drm2d --with-renderers= --with-fonts=unifont --disable-multi-seat --with-sessions=dummy,terminal
                Again, I just don't see what you are complaining about. Something THAT specific is only gonna be really affected by kernel work (which, admittedly, the removal of VT IS kernel work, but see the text above)

                Also if you talked to the devs about what is WRONG with the VT work... you'd know. Its a code-abortion as far as stability, maintainability and reliability-- everything that you SHOULDNT be able to use to describe in-kernel code
                All opinions are my own not those of my employer if you know who they are.

                Comment


                • #18
                  Originally posted by Vim_User View Post
                  And you totally missed the point. I don't need session management for a single purpose system that runs a specific script in Busybox from an initrd. But what I need is input and output, without having to do any magic or even writing a session manager just to see something.
                  Again, I am not talking about desktop systems, but there seem to be some developers that think Linux is all about desktop systems.
                  First of all, TTYs will not get removed! You can always get input/output via TTYs. Moreover, VTs will also stay! I'd like to see them removed, but as the article states at the beginning, it's not about removing VTs but supporting situations where VTs are not available.

                  And if you'd read the article, right upfront it tells you it's only about desktop systems. If you don't use a desktop system, please feel free to ignore it! It doesn't affect you in any way!

                  Originally posted by Vim_User View Post
                  So I have to ask again, how will this affect me, when this becomes the standard and sometime in the future the old VTs become unmaintained or even removed?
                  It seems to me that there is a rush for "new" where it isn't necessary.
                  VTs haven't seen any proper maintenance for years! So please don't tell anyone you fear the day where VTs will be no longer developed. Because then you fear the present day!
                  And as usual: No kernel API gets removed! Never! Ever! As long as any used user-space program relies on it.

                  Cheers
                  David

                  Comment


                  • #19
                    Originally posted by dvdhrm View Post
                    Cheers
                    David
                    Was wondering when you'd show up haha, welcome back to the forums David :P
                    All opinions are my own not those of my employer if you know who they are.

                    Comment


                    • #20
                      Maybe I got that wrong and confused VTs with TTYs.
                      @Ericg: Busybox uses mdev, it also has its own init implementation, but I usually don't use that, since I don't have a need for runlevels and stuff, I use a custom script (running in ash, which also comes with Busybox) for initializing all of the system I need and do the tasks I need to do.
                      If this is still working without having to add unnecessary complexity with this new approach, then I got this wrong and apologize. If this is not anymore possible it would be a shame.

                      Comment

                      Working...
                      X