12 ms·
Pengwin – A Linux Distro Optimized for WSL Based on Debian
- wsargent 7y agoStarted using this yesterday, with the X410 X11 install. The nicest thing has to be running IntelliJ from X11 and have it see the linux filesystem. I can run a Yubikey with weasel-pageant and get GPG signing and SSH keychain access to github through it -- it pops up a Windows PIN entry dialog box and then works fine thereafter. You can use wslutilities (wslusc) to set up windows shortcuts to your Linux applications. I use ConEmu as my shell and it's fine. There is a problem with HiDPI screens. I've worked around this by increasing the font size in IntelliJ, but VS Code shows up as teensy tiny. The worst part has to be the documentation. The docs for "pengwin-setup" is basically a bunch of screenshots on their blog.
- kevin_b_er 7y agoI tried looking around but didn't see anything about it. What makes this optimized for WSL?
- maccio92 7y agoScroll down to Features on the linked page..
- kevin_b_er 7y ago> Pengwin is also the first Linux distribution pre-configured and optimized to run specifically on Windows® Subsystem for Linux, a Microsoft-supported feature of Windows 10 and Windows Server 2019. Yes. What kinds of optimizations make it optimized? This is my original question. Telling me the equivalent of "read the article" changes nothing when I've already done so and that it doesn't say what's been changed to make it optimized. I've yet to carefully go through all 900 commits of with subject lines almost entirely of pull request #s, but one would think if whole repo's title was how it was "optimized" they could substantiate what they mean or what they did.
- maccio92 7y agoI'm not sure if/what they changed in the distribution itself, but tooling optimizations are in the list: * Pengwin includes wslu, a set of useful open-source utilities for interacting between WSL and Windows 10 * Manage your Microsoft Windows and Azure deployments with PowerShell and azure-cli, command line tools for Azure. * Enable/disable Windows Explorer shell integration. * Configure experimental GUI settings, including a Windows 10 theme for your Linux applications, HiDPI support and international input methods. * Create a secure bridge to Docker running on Windows. * Support for many Linux graphical applications with no need to configure display or libGL in Pengwin. (Requires a Windows-based X server, such as X410.) * Pengwin provides faster patching for WSL-specific bugs than any upstream Linux distro available on WSL.
- pengwinhayden 7y agoWe alter dozens of settings to defaults that make sense for the WSL environment. Unlike the other distributions available for WSL, Pengwin is designed for WSL first.
- h1d 7y agoAny examples of the optimizations?
- deleted 7y ago[deleted]
- ncmncm 7y agoThis is fundamentally the wrong direction to go. The clue is that MSWin running in a VM on Linux is faster than on hardware. The way forward is to boot Linux, or even something else, to manage hardware, memory, and filesystems, and cut down MSWin to run in a container on it. That way MSWin relies on the underlying OS to do things MSWin has proven to be just not very good at. MSWin runs programs written for it, reliably the same as non-hosted MSW, but is not subject to randomizing effects of manufacturers' drivers and MS's historically poor buffer and process management. If you want MSWin to manage the screen, it can provide a way for an underlying OS program to work in a window it provides, and connect UI and clipboard events back to it. But MSWin is not really so great at display management, either, so it might be better for the underlying OS to manage that, too, as is done with VMs on X today.
- maccio92 7y agoI always have difficulties with drivers on linux. Never on Windows. Until they fix that I cannot use anything other than windows as my base system. I don't care if linux handles things slightly better
- fartcannon 7y agoThere's nothing to fix. The devices are either open and a dev has decided to write his own, or the devices are closed and the drivers are provided by their respective creators. If it's the former, pay a dev, if it's the latter, use a different device.
- skaomatic 7y agoThere's nothing to fix. The fire is either of a type that may be extinguished and a trained firefighter decided to put this type of fire out for everyone, or the fire is unable to be extinguished as was the intention of the entity that started it. If it's the former, find the correct firefighter, if it's the latter, use a different fire.
- AnthonyMouse 7y ago
- i_can_c_sharp 7y agoI guess the “extend” phase is about to begin.
- whalesalad 7y agothe name is very clever.
- deleted 7y ago[deleted]
- crusso 7y agoMy thought too. No matter what the implementation or ideas behind it... that's a killer name.
- penagwin 7y agoHahaha such a great name yeah!
- pengwinhayden 7y agoThe name and logo were developed in consultantion with Dennis Bednarz. https://twitter.com/DennisBednarz https://twitter.com/DennisBednarz
- acqq 7y agoInteresting: “Grants/Bounties If you have an idea for a new feature you would like to see implemented in Pengwin and can implement it yourself given the funding, we are now accepting grant/bounty proposals. Grants are currently available for $50-$500 USD based on complexity.” The upper limit is quite demotivating, from my point of view.
- ghostly_s 7y agoDemotivating to whom? I imagine the intent is to avoid creating an impression that anyone has the power to make their pet issue priority #1 for the dev team just by throwing enough money at it.
- acqq 7y agoBut it's not for a "dev team" at all, the way I understood it, it's: "Learn how you can earn paid grants improving Pengwin." "Your proposal will be promptly evaluated" ... "Your work sample and GitHub history will be evaluated to determine if you have the technical competancy to implement the proposed change and deliver timely." "If approved, you will recieve a simple agreement covering the scope of the work you will be doing which you must acknowledge and return and then you may commence work."
- pengwinhayden 7y agoYou are correct. This is for contributors to get paid to add features they want to see in the project. I wish we had more applications under the grant program.
- IronWolve 7y agoIs WSL multithreaded? I love the ease of use that WSL gives, but it seems slow to cygwin on disk access. I think this is planned in a future fox by making the WSL directory to the disk instead of in a container file. I went back to cygwin for faster speed of scripts processing files.
- cube2222 7y agoIt's only slow at file IO, yeah.
- bashinator 7y agoFile IO can be vastly improved by excluding the WSL OS directory from Windows Defender real-time protection. Here's a gist that has powershell and GUI instructions for accomplishing this: https://gist.github.com/noelbundick/9c804a710eb76e1d6a234b14abf42a52 https://gist.github.com/noelbundick/9c804a710eb76e1d6a234b14...
- pengwinhayden 7y agoThis is possible but not recommended unless you are very cautious. Windows Defender protects from Windows malware entering via WSL and Linux malware as well. For example Windows Defender has caught comprimised npm modules inside WSL.
- bashinator 7y agoThat is really interesting to hear! I am quite cautious about what I do in any environment, of course. How would you say WSL without windows defender compares (security-wise) with say, running equivalent operations with homebrew or macports in OS X? Or just in vanilla bare-metal linux?
- naveen99 7y agoThere aren’t that many malware that are worse than antivirus. What I don’t understand is why antivirus has to second guess the user.
- penagwin 7y agoOh boy, similar name to me haha! ;)
- writepub 7y agoCan someone please enumerate how this is different from Ubuntu 18.04 (from Canonical) on WSL? Other than distro differences, I see a LOT of marketing speak in the Github ReadMe, but I can't tell if they really offer any advantage over competing offerings.
- pengwinhayden 7y agoOn a technical level Ubuntu 18.04 is based on a mix of Debian stable and testing with Canonical's additions. Pengwin is primarily Debian testing, with some stable and some unstable here and there. Pengwin configures dozens of settings for WSL and has optional WSL-specific features. Settings are delivered by pengwin-base and features can be configured with pengwin-setup. You could probably spend hours implementing these features on your own each time you have to install Ubuntu on a new Windows device. But by purching Pengwin you support open source indie devs that handle it for you, answer bug reports, constantly add new featres, and are available for support.
- mkl 7y agoWhat are these settings you keep referring to? The readme is very vague about what Pengwin's features and differences actually are, and gives me no solid reasons to switch from Ubuntu, which already seems well-suited to WSL. Am I correct that trying Pengwin requires paying and installing through the Microsoft Store, even though it's open source?
- spmcbride1201 7y agoI'm a paying customer that's been running my main dev system on WSL and Pengwin for four months now. I've got it on my ThinkPad and my beefy desktop and sync the two environments using .dotfiles. There is a bit of an I/O slowdown compared to native (most noticable when npm installing a billion tiny modules), but generally everything is quite functional. No driver issues as when I've run Linux. No terrible Mac keyboard. I run VSCode under WSL to keep my dev toolchain on the Linux side. The main thing that forces me to dual boot to Ubuntu is CUDA development, but I find that most of this sort of work has shifted to Jupyter Notebook.
- vesinisa 7y agoWhat's the main benefit of this distro over the standard Ubuntu usually offered for WSL?
- xmichael999 7y agoI'm so confused right now. I looked at the various links and cant believe I still can't figure this out. The kernel is windows or linux? How do I get or run this? I install windows and then this? Someone help me out here!
- jamesgeck0 7y agoWSL is a Windows 10 feature that allows you to run Linux applications on the NT kernel. It's not a 100% complete implementation of every Linux kernel API (yet?) but it's far enough along that you can run a lot of interesting software. https://www.hanselman.com/blog/TheYearOfLinuxOnTheWindowsDesktopWSLTipsAndTricks.aspx https://www.hanselman.com/blog/TheYearOfLinuxOnTheWindowsDes... Pengwin looks like a Linux distro that removes the parts of a traditional distro that don't make sense in WSL and streamlines things that are still somewhat difficult in WSL, like getting X applications running.
- h1d 7y agoI get it that WSL is easy for anyone to use but why not just run a real Linux in VMware or VirtualBox and you'll have 100% compatible Linux environment. Prebuilt OS image is just a single download and deploy.
- jamesgeck0 7y agoBecause I don't need a 100% compatible environment. WSL has better host integration and better performance in my experience, and it runs my development stack fine.
- GordonS 7y agoWas going to say much the same thing, plus it starts instantaneously, vs a minimum of several seconds for a VM
- cpuguy83 7y agoWSL is Windows Subsystem for Linux, and it is part of Windows. https://docs.microsoft.com/en-us/windows/wsl/install-win10 https://docs.microsoft.com/en-us/windows/wsl/install-win10 It translates Linux system calls into Windows. This allows you to run a Linux userspace on Windows. The Windows store has (for free) installable distros for Ubuntu, Debian, and others.
- yellowapple 7y agoIs this actually a Linux distro, though? I've long held that "WSL" is a misnomer; it happens to be compatible with binaries compiled for Linux, but given that no Linux code is actually present, this would really be Debian GNU/NT.
- xfer 7y agoWhat? WSL emulates linux syscalls and vfs, how is this a misnomer?
- yellowapple 7y agoIt's a misnomer because it's not actually Linux (nor does it even wrap/include Linux in any way), just like how Wine isn't actually Windows (if it was Linux, then Microsoft is blatantly violating the GPL). Most charitably, it's less "Windows Subsystem for Linux" and more "Windows Subsystem for Programs Compiled for Linux".