10 ms·
NixOS on M1
- rowanG077 4y agoTracking this closely honestly. Once external screens work I will switch to Apple hardware. But I hear that USB/TB is a total nightmare to RE and implement. Very happy I won't need to do the nixos stuff myself!
- fragmede 4y agoIt will be fascinating to see if they can get the hardware to support multiple displays under Linux on devices given that Apple doesn't support it.
- thewisenerd 4y agoi think this is unlikely given that it's presumably actually "hardware-limited" https://social.treehouse.systems/@marcan/109528880850349638 https://social.treehouse.systems/@marcan/109528880850349638
- fragmede 4y agoWoah that's a good thread, thanks for linking! Guess I should look into this Mastodon thing. If there's anything hardware hackers are famous for, it's abusing hardware to get it to do unintended things. I think my favorite that isn't Linux running on a badger is the RTL SDR, so maybe there's a way to get a super shitty software muxer going, or maybe map two displays into one but drive it from software so even if there's a special dongle required, the hard work isn't being done by that dongle making it a $30 piece of kit instead of $150.
- dagmx 4y agoApple does support multiple displays when the hardware supports it. The base M series processors only have two display controllers in their architecture so can only support two displays via hardware. They support more on the higher end SKUs with more display controllers. This is also a difference from the A series which only have a single display controller, so can only drive a single display. Anything higher than the hardware limit is done in software, like screen mirroring or any of the macOS workarounds to get more displays.
- fragmede 4y ago> any of the macOS workarounds to get more displays. Are you referring to that Sidecar or similar software which lets you use an ipad as a second display, or are there different workarounds you're thinking of?
- dagmx 4y agoYou can use DisplayLink to drive external displays. https://www.macworld.com/article/675869/how-to-connect-two-or-more-external-displays-to-apple-silicon-m1-macs.html https://www.macworld.com/article/675869/how-to-connect-two-o... With some docks and adapters like https://www.sonnettech.com/product/m1-mac-dual-displayport-adapter/overview.html https://www.sonnettech.com/product/m1-mac-dual-displayport-a... They’re not completely successful from what I hear, but I know it works for some folks. I have an M1 Max so I haven’t tried myself.
- als0 4y agoDisplayLink in my experience has horrible performance. Not a good experience and I think that's why Apple avoided it.
- jasonjackson 4y agoexternal display over HDMI works on mac mini & studio
- ta988 4y agoAnd on macbooks.
- runeks 4y agoI have a MBP M1 and considered this, but instead I went with NixOS running in a VM inside macOS: https://xyno.space/post/nixos-utm-rosetta https://xyno.space/post/nixos-utm-rosetta. This means I can use all the stuff that Linux-on-M1 currently doesn't support (e.g. webcam, power management, external displays) in macOS while having a NixOS instance available too. It should also -- at least theoretically — allow me to use Rosetta to run x86 Linux binaries. However, I'm getting segfaults when trying to build certain Nix derivations this way: https://discourse.nixos.org/t/local-x86-64-nix-builder-on-arm64-nixos/23679/10 https://discourse.nixos.org/t/local-x86-64-nix-builder-on-ar...
- MuffinFlavored 4y agoCan you give an example of what you use NixOS for that can't be easily replaced by like... `brew install ...`? Can you "prove" that what you use NixOS for isn't overkill? Everything I read about NixOS is how it's reproducible or something. I set up Cargo for Rust once and never thought about it again. Where does the need to reproduce toolchains come from?
- runeks 4y ago> Can you give an example of what you use NixOS for that can't be easily replaced by like... `brew install ...`? Sure. At work I needed access to the office VPN. I copied a snippet into a single configuration file and everything just worked. It installed the necessary executables, and set up the needed services including the config files for these services.
- MuffinFlavored 4y agoHow is this different than installing Tunnelblick and pointing it to a .ovpn file (which I've done)? Could you share that Nix VPN config file example please?
- jjtheblunt 4y agoFrom the page: This is mostly a restructuring of work many others have already done, and it wouldn't have been possible without them. Important parts of the Linux on M1 experience include: Asahi Linux's m1n1 bootloader/hypervisor Asahi Linux's kernel patches Mark Kettenis' U-boot port Janne Grunau's kernel config
- barganzo 4y agoHow does copying the first paragraph of the linked README and adding three words improve the conversation?
- xwolfi 4y agoI really liked he did that, completely changed the perspective on the comments. I never click on links. Even if he did not improve as much as he did our discussion, did you have to be so mean. It's Christmas, let him have it.
- heinrichhartman 4y agoI am greatful for this summary, as I usually check the comments before the link, to see if its worth to click through the cookie consent and Ad spam found on most sites, as well as digging out punchlines from lengthy articles.
- barganzo 4y ago
- saurabhnanda 4y agoFor the uninitiated, what's the issue with getting nix to work on M1?
- easygenes 4y agoThe biggest issue is that M1 is undocumented Apple Silicon. It has to be fully reverse engineered, primarily by the Asahi Linux team. Other Linux distros will have to piggyback off the work of Asahi, and I think that generally they're avoiding jumping in yet because the hardware support is not very mature.
- Gigachad 4y agoPresumably everything from asahi will get merged in to mainline Linux and distros will just work. The end goal of the project is to not require their own distribution/repos.
- als0 4y agoAs much as I love the project, the work is far from done. Any macOS update can change the firmware of the GPU or the display controller, which would break the Asahi driver. And there are going to be a lot of macOS updates for at least the next five years.
- rollcat 4y agoI'm cautiously hopeful. Apple did break things a couple times already, but along with one of the breakages, they also introduced a new "we won't break this thing again" mode. https://web.archive.org/web/20211217132913/https://twitter.com/marcan42/status/1471799568807636994 https://web.archive.org/web/20211217132913/https://twitter.c...
- fragmede 4y agoJust to be pedantic, nix actually supports macOS and runs on top of Apple's kernel and userland (which I've tried, which is why I'm being pedantic), it's nixOS which runs at ring 1 that's being discussed here.
- viraptor 4y agoIt looks like the kernel uses the upstream tags which is great. Marcan was previously annoyed with distros which yolo-ed the git commit they used and essentially ran an untested development version.
- jacquesm 4y agoThe reverse engineering work that went in to this is absolutely top notch, I've read some of the articles and can barely follow them, the leaps of intuition are so large they almost feel like parallel construction at times. Here's to hoping they get it to work. And wouldn't it be nice if Apple just for once helped out and opened up their hardware.
- fragmede 4y agoI'm just grateful that Apple didn't totally lock down the bootloader on macOS devices, given the knowhow evident on iOS/iPadOS.
- still_grokking 4y agoWait for it. The direction is clear since years. So it's just a mater of time. Apple knows that you need to be patient when boiling the frog.
- Gigachad 4y agoThey actually went the other way and released some extra features that only serve to make alt OSs easier and do nothing for macOS.
- philistine 4y agoThat's inaccurate. The ability to run unsigned OSes while not affecting the safety of a signed OS is useful for beta versions of macOS past their due date, and most importantly, older versions of macOS that Apple no longer validate themselves.
- acdha 4y agoWouldn’t that be more work than releasing updated signatures? That’s an entire extra code path to maintain versus a routine and trivial operation. Hector Marcan claims it’s policy, too: https://web.archive.org/web/20220824111844/https://twitter.com/marcan42/status/1554395176025849856 https://web.archive.org/web/20220824111844/https://twitter.c... http://web.archive.org/web/20211217111414/https://twitter.com/marcan42/status/1471799568807636994 http://web.archive.org/web/20211217111414/https://twitter.co...
- Chmouel 4y agoI tried that last week, and for me the dealbreaker was the touchpad... It may not really important for other people but not being able to use the f keys directly on the laptop is annoying....
- psanford 4y agoI assume you mean the touchbar. The physical function keys work just fine on my m2-air running linux.
- Gigachad 4y agoDo you mean the touchbar? Yeah that’s a problem. Apparently the touchbar runs a whole instance of iOS. I don’t imagine support is going to be easy.
- jevinskie 4y agoThe touchbar on Intel machines ran bridgeOS. On ARM machines there is no separate SoC and the touchbar is controlled by the main SoC.
- psanford 4y agoI've been using this on my m2 Air since July and I'm quite happy with it. If you are already comfortable with nixos then you'll find everything here quite straight forward.
- psanford 4y agoA bit more details. I upgraded last week to enable the GPU driver (its just a nix config flag). The GPU driver works quite well given that its brand new and still quite experimental. I've had a few issues in early boot but once the system is up I've not seen any crashes yet. I've been patching m1n1 to gain back the extra 64 pixels at the top of the screen in the notch area. I just saw a patch go by a few days ago to add a kernel flag to enable this so I need to switch over to that. Overall the work in this project to track the asahi changes in the nixos way is being done very well. My system feels just like my other nixos systems.
- ingenieroariel 4y agoI have been using this repo as my daily driver for a month: * The author is quite responsive to personal messages or issues / pull requests. * The people who fork it and change a thing or two are champions, they play with adding rust compilation to the kernel, suspend, gpu drivers all before it is added to this repo. * Once you get to just NixOS, and you tweak your editor, battery monitor, etc. It is pretty hard to switch back. Nix is hard to get right, but when you get it right, it stays that way. * I still boot back to OSX every two days when I have to share screen on Microsoft Teams or do a work thing. Takes two minutes to switch to the dark side and then a few days to remember to go back to Linux. Super polished and compatible dev machine vs fast linux on M1 with sane development environment is a great combo.
- rollcat 4y agoDo you run Nix on the macOS side? How would you summarize your experience? Is it worth investing time/effort into it, considering you're also using NixOS?
- pxc 4y agoYou might as well also run Nix on macOS as well and extract out the common parts of your config (selection of CLI software, at least), right? I'd do that even if macOS was just a seldom-used 'backup OS'.
- ingenieroariel 4y agoI do run nix on the macos side, for graphics apps like a browser I would not recommend. But for command line apps like interpreters, compilers and vim-like editors it is really useful imho.