• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

CALL FOR TESTERS: New install script

Scheduled Pinned Locked Moved General Discussion
26 Posts 7 Posters 2.6k Views 6 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    drdeath @sdetweil
    last edited by Sep 6, 2024, 2:52 PM

    @sdetweil I most certainly can and will. Where would you like it to live? I’d suggest the README in the repo.

    In a nutshell, if you want a reduced footprint in cpu, ram and memory usage and/or want your magic mirror system to be more of an embedded-appliance style rather than a general use computer running an application, then my script is right for you.

    By the way, I just thought I should probably add the option to enable automatic system updates via apt as a logical extension of that concept.

    What do you think? Should I include it now or when I get around to re-creating automatic updates for MagicMirror and its modules?

    S 1 Reply Last reply Sep 6, 2024, 3:30 PM Reply Quote 0
    • S Offline
      sdetweil @drdeath
      last edited by sdetweil Sep 6, 2024, 4:42 PM Sep 6, 2024, 3:30 PM

      @drdeath we’ve had lots of successful appliances built so far without your approach.
      and the user issues are mostly unrelated to the os or MagicMirror runtime.

      look and feel, consistency of error recovery
      and module function/integration are the primary issues. power saving , new monitor hardware are the next most.

      and user skill is always a critical issue. we have a lot of new users that know nothing without a graphical desktop . cant find help, don’t know file commands, cd? redirects, copy, move, networking
      and on and on.

      what can the user save by using your approach?

      note that the older pis are going by the wayside with the os changes. pi4 and 5 class devices are the norm across sll the vendors

      can they do without a fan?
      functionally nothing else changes

      i am not in favor of automatic updates in this space, the amount of breaking changes are too high. we still have significant disruption of the existing user base on each release

      some OS related (tools used for blanking the screen or video feeds dropped out or function limited), some deprecation limited (remove request and other libs no longer supported), new versions of electron taking new code with bugs not yet discovered which cause fatal errors for the user . new electron requires, new node version, which doesn’t run on this os… oops… but discovered too late

      some MM related… the deprecated lib thing… we don’t want to carry dead baggage… oops authors didn’t know, we added checking for things to prevent crashes (good thing) which cause accidental side effects
      position: “” used to work, now fails.

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      D 1 Reply Last reply Sep 6, 2024, 5:45 PM Reply Quote 0
      • D Offline
        drdeath @sdetweil
        last edited by Sep 6, 2024, 5:45 PM

        @sdetweil Well if you put it this way, the less software you have installed on a system, the less likely it is going to break during an update. That could actually be a major selling point for doing it my way, because almost all of the tools I’m using have been around for at least 30 years and are going nowhere. Desktop environments have big breaking changes all the time (I’ve been there when they swapped out KDE3 for KDE4 in SuSE Linux over night, boy were people enraged) whereas the basic toolset I rely on has stood the test of time and is virtually unchanged save for the occasional bugfix since the mid 90s.

        On the subject of how the users interact, I’ve said so here multiple times and I’ve also put it in the README that this script isn’t written with the wet-behind-the-ears noob at the forefront of the brain. That being said, it’s actually really hands-off and easy to use when you think about it. Download it, start it, answer a couple of questions, bam, you’ve got a working mirror. The major concern I have with the current script is actually that may be too easy to use, prompting people to treat their mirror like a maintenance-free washing machine and let the system rot.

        S 1 Reply Last reply Sep 6, 2024, 6:06 PM Reply Quote 0
        • S Offline
          sdetweil @drdeath
          last edited by sdetweil Sep 6, 2024, 6:44 PM Sep 6, 2024, 6:06 PM

          @drdeath interesting, but there is no less software.

          curl, git, node, MagicMirror and all its dependencies .

          whatever window manager is noise, there is one

          there are a few users like you that want to be near the bare minimum, i don’t think that’s the right place for 99% of our users. they are still exploring the possibilities.

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          D 1 Reply Last reply Sep 6, 2024, 8:32 PM Reply Quote 0
          • D Offline
            drdeath @sdetweil
            last edited by Sep 6, 2024, 8:32 PM

            @sdetweil I beg to differ, yes less software, because the whole thing is based on the lite image, not the full image, with all the packages not installed and daemons not running there’s actually a pretty significant reduction in installed software and services. Actually, I consider the possibility to work on the lite image a significant advantage of my script over other installation methods.

            curl, git, node and MagicMirror are pretty much a given, since omitting any of these would pretty much defeat the purpose of the whole thing.

            About “noise”, you lost me there. There is no package or binary called “noise” installed on my test system, and since I know pretty much all of the common mainstream window managers and quite a few obscure ones at the very least by name, “noise” would either have to be pretty new or a quite obscure one. If you doubt my admittedly boastful claim, kindly research “sithwm”, evilwm and xmonad. I’ve actually used all of those at some point, if only for evaluation purposes

            The script in itself neither installs nor sets up any window manager at all. Xserver-xorg-common, which is pretty much the only suspect, doesn’t even contain or depend on any. I can definitely say it’s not a dependency or part of any of the packages my script installs. If you could tell me where you found that information, I might be able to shed some light on the issue.

            PS: Found it. /usr/bin/noise is part of the openfoam package. My script definitely didn’t install that one.

            S 1 Reply Last reply Sep 6, 2024, 9:47 PM Reply Quote 0
            • S Offline
              sdetweil @drdeath
              last edited by Sep 6, 2024, 9:47 PM

              @drdeath noise in this context meant insignificant to the problem at hand

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              D 1 Reply Last reply Sep 6, 2024, 9:57 PM Reply Quote -1
              • D Offline
                drdeath @sdetweil
                last edited by Sep 6, 2024, 9:57 PM

                @sdetweil Ok, got it.

                But there really isn’t any wm in my setup. The purpose of a wm is to let the user manipulate windows, which he isn’t supposed to do, so having a window manager would actually be detrimental in this use case.

                I originally had my blackpixel tool in there as a stand-in, but as I already explained over on discord, it turns out the process that really matters to keep the X server alive is actually the shell process running the init script, not any process that script starts.

                K 1 Reply Last reply Sep 9, 2024, 9:59 AM Reply Quote 0
                • K Online
                  KristjanESPERANTO Module Developer @drdeath
                  last edited by Sep 9, 2024, 9:59 AM

                  @drdeath I am sorry that you found my comment offensive. That was not my intention at all. I think it’s a shame if there’s an atmosphere where you can’t express ideas or ask questions. Even if they are stupid, one should remain respectful. I think it’s good when people start new projects and try different approaches. So thanks for that!

                  Out of technical curiosity: Why are you using X? Wouldn’t it be possible with Wayland?

                  D 2 Replies Last reply Sep 14, 2024, 11:22 AM Reply Quote 0
                  • D Offline
                    drdeath @KristjanESPERANTO
                    last edited by Sep 14, 2024, 11:22 AM

                    @KristjanESPERANTO Apology accepted, I didn’t really take offense, it really was mostly just irritation on my part at the flat-out dismissal of my work and everybody focusing on what I consider to be minor technicalities.

                    As for why I don’t use wayland (yet), X is what I know, and it does the business. I’m not saying I’ll never make the switch (I’m quite curious to learn more about it) but for now I’m happy to leave good enough alone. Frankly, I’m not sure switching to wayland wouldn’t break a things, since the ancient tools I rely on might not play well with the new kid on the block.

                    1 Reply Last reply Reply Quote 1
                    • D Offline
                      drdeath @KristjanESPERANTO
                      last edited by Sep 14, 2024, 10:16 PM

                      @KristjanESPERANTO since you got me curious, I looked into Wayland a bit.

                      So to answer your question again:

                      While Wayland is generally considered more efficient in general use scenarios, in a scenario where you want no window management, no window decoration and certainly no visual effects, that efficiency advantage would not only be negated, but turned into a disadvantage.

                      Also unlike X11, Wayland apparently cannot be started as a bare-metal service but always requires a compositor like Weston or Sway in the background which would actually not only result in a heavier premium in resource usage but would also require a more complex and error-prone setup.

                      Last but not least, wayland is far less use-case agnostic compared to X11. Like many modern software suites, it makes a lot of assumptions about how it is going to be used. Since many, if not most of these assumptions wouldn’t hold true in a scenario like the one we’re discussing here, using Wayland would carry a lot of the downsides of running MagicMirror on a full DE, in short, you’d be fighting against your framework instead of working with it.

                      In conclusion I can say from what I learned about Wayland so far, I definitely made the right choice with X11.

                      N.B. that are only the conclusions of a very brief look into Wayland on my part, so there may very well be ways to make it behave the way I want it to, but if they exist, they seem to be a lot less trivial and well-documented.

                      1 Reply Last reply Reply Quote 1
                      • 1
                      • 2
                      • 3
                      • 3 / 3
                      3 / 3
                      • First post
                        21/26
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy