Not to be confused with Cassowary: an incremental constraint solving toolkit that efficiently solves systems of linear equalities and inequalities. ( https://constraints.cs.washington.edu/cassowary/ )
People should really invest effort in creating unique names for their tools. Case in point a popular git gui client is called "fork". As in git fork named after the git command. Doing troubleshoot googles for that software is a frickin nightmare.
Try living in the C# ecosystem and figuring out how to migrate from entity framework 6 on .NET 4.8 to entity framework core 3 without switching to .NET 6 or .NET core.
I like that a few video games are multi-words (e.g. Oxygen Not Included) and use a common abbreviation, (ONI) that is google-able - for instance "oni tutorial" is pretty good, or "oxygen not included tutorial" is a sure thing. Maybe more software needs to have more words in the name.
Fashion or not, there's a clear advantage to tumblrize words to create names. The name is still recognizable with the association you're looking for, but the spelling is unique and easy to search for.
Almost as bad as the tool by google simply called 'repo', used to manage git repos... Imagine the confusions and difficulties of googling for troubleshooting.
That's a bad choice (like go), but you can't expect people to find a unique name. It's best to avoid frequent words, names of popular things, and names in the same domain, for your project's visibility, but the dictionary isn't big enough for all the projects in the world. Github alone has over 200 million repositories.
That should only be an issue if projects have to be named with a preexisting word. But that practice will basically always end up conflicting with the existing meaning of the world. IMO the best names are words which previously didn't exists at all.
Several years ago someone had a bright idea to name a game "N". And then someone decided to call a game console "switch" which made troubleshooting network problems (with this console) hilariously nightmarish.
I saw one few years ago near Melbourne with friends at the nature park and it's unblinking state at me was very, very unsettling. I did not f*ck around with it even though friends were encouraging me to peg it. That hook on the leg is deadly looking...
Yes, but this one looks like one, in the sense of "show a picture to someone who doesn't know about them and they will not believe that this is a real animal alive today".
I've been trying to remember the name of this for ages - I thought it was patented at one stage though, would you know if thats true? I can't seem to find the patent.
Just wanted to say that the getting started docs are really well done and super helpful. I don't think I would have followed through if it was not the screenshots and the detailed instructions you've put in there.
Kudos on this amazing project and all the work you put into making all this!
Perhaps it's the sparse explanation from the github page? I dunno.
What I do know is; I have a Windows VM under libvirt/Kvm/Qemu and it's everything this thing claims to be - if I understood the broken English of it - I have passed through my RTX2070super GPU and I am basically running Windows+"apps" - including a few Windows games, and I'm using Looking-Glass to do it all, meaning I have full speed graphical access to Windows I need.
Can somebody please explain to me what this thing is and why it's any different or better than what I have now?
I went with Gnome boxes and installed windows xp. After 20 minutes of trying to get sound working I found out that the automatic configuration select ‘none’ for audio backend.
Worked fine after selecting ‘spice’, pulse audio didn’t work tho but also didn’t result in an error. Apart from sound everything worked out of the box, tho.
I did all that to run some old music training software that only came in 16 and 32 bit versions.
is this different from the seamless/unity modes that are available in vmware/virtualbox? i think they behave in the same way, they host guest windows which are painted by an rdp like thing (possibly just rdp) but behave like regular windows in the host operating system. i remember making use of it back in 2013 or so.
i think the vmware one even supports 3d hardware accelerated windows.
At least VirtualBox has stopped working properly for some time now in my distribution without any plans to fix it. Workaround is freerdp remoteapp but this also breaks sometime with overlay menus... It was about time someone took a shot at this. Also, MS hyperv has been doing a lot of improvements to improve desktop user experience (e.g. opengl) whereas VMWare and virtualbox are more geared towards enterprise I think.
Noticed that yesterday with Endeavour OS, I switched over to vmware player for now for windows. Everything just seems to work on qemu on linux though, but I never had much luck with it on windows.
There is more after that as well in the linked thread.
`It can auto suspend vm automatically when no apps are used. ( i have it set to 30 s ). My college uses a windows only application for tests and assignments. If i was using winapps i would have to install libre office in windows vm just to be able to quickly open document sent to me. With cassowary i can just double click file in guest and it will use linux native libre office to open the document. ( Saves storage space ) Winapps only works with VM cannot connect to Bare metal windows`
Instead of constantly rebooting my dual boot system this seems like an interesting approach for me to try. I need to play games in Windows without having to reboot from Linux.
Yes, it's a VM that's connected to with RDP and configured with to appear seamless. The docs directory on the GitHub specifies exactly the setup needed.
Isn't the preferred solution just to continue hacking at Wine? With Proton going big this year, I'm hopeful that the non-gaming side of Wine is going to start getting more and more development attention soon. The performance is so much better than virtualization. Fingers crossed.
I don't think it's possible for wine to translate everything perfectly the way a VM can even in theory. It's definitely getting better but you can't get rid of the need for VMs for all Windows software.
What program do you have an issue with? Wine has been supporting a lot of non gaming software for a long time better than Windows itself. Proton has similarly been good for a long time, it has been big. The deck wasn’t some magical finished product it was built on the skelton of steam machines.
Oh Wine is still incredibly buggy, but I'm still a big supporter obviously. Even Microsoft and Adobe products work barely with exactly the right versions and winetricks with the occasional tinkering, interface bugs, crashes. These are bugs that haven't been fixed in many years. I think an interesting development target for them would just be to choose the top 25 productivity apps and make the last 3 or 4 versions work smoothly without requiring users to spend time troubleshooting the installation, activation, getting standard app functions to work, etc..
Valve has leverage with game developers who rely on Steam for distribution to work together to get games working in Proton, but the same relationship doesn't exist for other non-native apps and Wine. So the development really needs to happen on the wine side.
Games and basic UI elements work great, but there's still several WinAPIs unsupported. 2D drawing for example: Paint.net, the in my opinion best image editor in existence, is borked.
there are just too many libraries out there for windows, best they can do is aim for the big, popular programs and hope for the best with the rest. This is why VM's will probably be your best bet for the next bit.
By the way, on macOS, Crossover (which uses WINE) works pretty well for me for that use case. My main use is for running Micro-Cap[1], a previously expensive circuit simulator with a decades old history, that has been made entirely free when the company seized doing business in 2019. (My guess is that the owner retired.)
I always like crossover back in the days when I absolutely had to have photoshop and office. I've managed in the pass few years to get away from that work though so now 100% linux/bsd with a splash of office365 on the web
AFAIK WSL doesn't support nested virtualization, so you wouldn't be able to run a VM inside WSL. You can probably get it working, though, because Hyper-V definitely does support that.
Hell, it might even be useful! Windows 11 should add desktop shortcuts for Linux applications, so this would be an easy way to run programs inside an older version of Windows (if you install Windows 7 in the VM, for example).
Dependant on CPU, I guess, and not just the hardware. Last time I checked (couple of months back), nested virtualisation wasn't supported on Windows for many (all?) AMD CPUs, even if they had the right hardware instructions.
There are also unlocker methods for Nvidia vGPU functionality these days or, as the setup guide states, you can use VMware as the backend which has a paravirtual GPU with a Windows driver.
Yeah it is, and I can already dual boot, but not having native pro graphics application on Linux is what stops me from complete switching over. Affinity Photo (and Designer and Publisher) and Photoshop are the only real options here.
Quote: "Set the CPU cores (2 recommended), Memory (4096 MB recommended)" - this is from setting the Win10 virtual machine.
I'd recommend 6GB instead of 4GB as minimum when dealing with Win10. A typical Win10 on idle, without anything launched in foreground uses around 3GB hence 4GB is kind of at limit.
Windows will use a percentage of available ram. And if you have more than 4GB it will start to unbundle services (each service will get it's own svchost).
Does anyone else get confused by "apps" and "executables"? This one uses the term "Windows Apps" for ".exe" files, I wondered why anyone would want to run a Windows App https://www.microsoft.com/en-us/store/apps/windows
I don't understand how its better than VM, it says run them like they're native, but its separate windows for single applications, I thought it would use something like WINE.
It should be called "A Windows VM for executables in Linux with native windowing" unless I didn't understand it.
The word "app" has changed in common usage. Most any program you ran on your computer was called an Application way back when, but now it's come to mean... whatever it's supposed to mean now. Whoever wrote the Github site is probably old like me and is using the old vocabulary.
Before Apple's App Store popularized a specific meaning of "app", "app" was shorthand for "application", which perfectly fits a .exe file and any number of executable files/formats.
I struggled with this a lot because of experience with Java applets which implied they were "small apps" which implied "app" meant something... and it did; it meant application, which meant program, which meant, I think, something along the lines of "mostly self contained system to accept user input, compute said input, and return a user-friendly result" to oversimplify.
For a long time I boycotted the term "app" once Apple et al. used it as their term for what I considered "programs" and now I'm just done with caring.
App = program = executable = distinct set of actions triggered by user or automated input = interface
It was all fun and games until I couldn't compile a go program using the Windows Linux subsystem, showing it's really just a toy. Too many compatibility issues (go check out their GitHub issues) means I don't want anything to do with it.
- WSL2 will not have problems like that, and I believe they were long fixed in WSL1.
- I love Go but the Go runtime is a pretty big snowflake, its one of the few non-libc users of the Linux syscall interface . Also, I think they fixed it on the Go side as well, for good measure, though I could be wrong.
The important point is, don't "give me Linux" that then can't cover the common trendy tech projects. If it doesn't work, it's not Real Linux, and I ain't got time for that.
<ms-rant> Plus, Microsoft- who needs em? Not a pleasant daily driver. My entire family already accidentally "upgraded" to windows 11. Ever since, they've fallen into a perpetual zombie-like state of confusion with regard to their windows computers and what is happening on them. What is good, better, or worse? *shrug*
</ms-rant>
I'd much rather cast the MS bits off to a lowly second-class Hypervised Cassowary VM.
WSL2 does give you the real Linux kernel, if you want to have Windows with the real-deal Linux kernel. You’ll miss some things inherent to using a VM, but that’s probably the same for any comparable solution.
That said, I’m certainly not trying to convince anyone to use Windows. By all means, run Linux as your desktop if you want to. I do.
You're ranting about a set of problems that don't exist in WSL2. I don't like Microsoft as much as this next person but please don't strawman things as a target for a rant, which really shouldn't belong here anyway.
I can make money on either. Making money is not the problem here. But if you don’t feel a tinge of misery every time Windows Update “accidentally” makes Edge the default browser and you have to jump through dark patterns to disable it, every time start search lags because it’s contacting Bing even though you just want to launch calc.exe, every time you reinstall and Candy Crush is sitting there waiting for you, or every time you accidentally connect to WiFi during windows setup only to forget that it won’t let you set up a local account if you do, then we can’t be friends.
If it doesn’t feel like I control my computer, it doesn’t matter how polished the UI looks or how fast the games run. It’s a non-starter.
I am not sure why but it never happened to me (stealing my default browser). As for search - When I type "c" I immediately see Chrome icon and continuing typing "a" show calc. No delays, everything is instant.
I admit that if I saw web results instead of local apps I'd be mad. But I have gobbles of Windows installations at my house and none of those have this problem, starting from that tiny compute stick hooked up to a large TV that my grandson uses to watch Netflix.
A fun one I ran into is that breakpoints don't work on .NET 5 Blazor apps running in WSL. So Microsoft not having proper support for even their own products, as per usual.
Not sure if it's been fixed yet, this was about 8 months ago.
> It's also incredibly slow. It was a pretty neat trick but kind of gobsmacking in its ambition (which eventually caught up with those implementing it).
Not sure what's slow about it other than accessing windows drives from wsl2 and vice versa.
If you are using wsl because of heavy windows programs typically like games then I guarantee this won't work as well as a wsl setup. It is cool but it doesn't seem like enough for me to move away from wsl (which I'd like to do if there was true and simple 'reverse wsl')
I've used wine (typically via playonlinix in recent years) but it's hit and miss. Online games aren't always happy with it (especially with cheat detection), performance is sometimes worse (especially on older hardware) and sometimes you can make it work but only if you spend a few hours fixing things.
The best way to do it is to have a seperate GPU that you pass through fully to the Windows VM - a friend has that setup - which works perfectly but then you can't use that gpu in Linux and I don't particularly think it's worth it for me to have multiple GPUs when wsl gives me 99% of what I want with minimal setup.
Passthrough-capable video cards aren't cheap or that easy to find and actually get working properly. It's 100% a nice dream, but no single major virtualization vendor supports it for desktop purposes intentionally. It's looking like for the foreseeable future it'll continue to be an expensive and royal pain in the behind.
Of course, YMMV, I recall seeing that linus derp tech guy YouTube make it work one time. Good luck keeping it working properly in the long haul.
I feel I've already learned this the hard way, have several spare Supermicro servers to show for the result of what I consider to be a failed project.
Instead, I maintain a separate windows-only machine for such occasions. Takes up very little extra space or time.
Would love to hear from other folks who use this on the daily.
This all feels either out of date, or just incorrect.
You can use consumer cards for this. Both Nvidia and AMD consumer cards. Nvidia drivers work fine now, and don't require any workarounds (they previously "blocked" VM's with their driver, but was trivial to workaround). AMD have a few hardware quirks, but that can typically be worked around too. Though you're best going with Nvidia as it's more straightforward.
It also seems that a lot of virtualisation software supports it (libvirt/qemu, vmware esxi, proxmox, xen, probably a few others). It's typically also, set and forget. Once it's configured, you're good to go. There's not much of "keeping it working properly in the long haul". I've had my setup for about 4 years or so now. Even through software and hardware changes.
"The workaround" is to add few lines in VM's XML, which are available in pretty much every VFIO / GPU passthrough guide (in "code 43" sections). Like these ones:
And you don't have to do it for the most of AMD cards and the newest NVIDIA cards.
Unfortunately that's not beginner-friendly, I know, but that's the problem of VFIO in general - you can't really do it without being comfortable with terminal, editing configuration files etc. It would be cool to make it automatic somehow, but that would require making some tool(s) for all the preparatiary work (assigning vfio-pci driver, building united) and adding features to virt-manager (to be able to all the stuff graphically, without modifying XML).
But anyway, in your original comment you said that passthrough is not possible with consumer GPUs, which is simply not true. It's possible with pretty much every consumer card.
Intel included support on all their consumer chips until recently I believe. The mediated passthrough is different than full passthrough like you are probably thinking.
I've seen other posts here before with similar offerings such as Looking Glass; does this make use of GPU passthrough or does it use GPU virtualisation? I ask because my Linux machine doesn't have onboard graphics on my CPU so I can't use passthrough solutions to achieve good performance (didn't realise I needed this when I bought my parts).
I've not used it but there are methods of doing GPU passthrough for kmv/libvirt/qemu so I'd assume it might work, though if it's using rdp for showing the Windows applications i'd assume it will likely be terrible.
Wish name collision was avoided. When I saw the title at first I thought it was going to be about the Cassowary constraint solver used in UI layout (recency bias for me).