I want to switch from Windows to Linux for my office PC.
I will be using multiple Windows VM because in the office we use multiple software that runs only on Windows (maybe we’ll switch to something else, but right now I need the VMs) and because i like to snapshots and go back in time when I test new software.
I thought about Ubuntu because it seems to be the most user friendly.
I always work with a tons of opened windows (mainly Firefox) and I like to have a place for each of them, Right now on Windows I use DisplayFusion that creates multiple virtual screens (7, 4 or the 32" horizontal monitor and 3 on the 28" vertical one, both 4K), I’ve attached the configuration.
So, the question: is there a software that works kinda like DisplayFusion? (virtual screen each with it’s own taskbar, maximize in each of them, remember the position of each window, …).
P.s. Can I pass only some USB port to a Windows VM using KVM?
Pp.s. Is it possible to use Premiere on a Windows VM? Would it run smooth?
Not exactly what you’re asking for but you should look into tiling window managers, if I’m understanding correctly they do almost exactly what you want
For example on my laptop if I open Firefox it opens in full screen, if I open a terminal it resizes Firefox to half the screen and opens the terminal in the other half, a third and it splits whichever window I’m focused on vertically etc etc
You could achieve what you want by having the VMs in windowed mode and just using a tiling wm
You get the added bonus of virtual desktops that you can flick through with mouse buttons/keybinds/3 finger swipe if you want multiple layouts of different windows
Also I’ve not used it but I’m pretty sure hyprland has something called fake full screen where it tricks windows into thinking they’re full screen while actually being windowed
For example on my laptop if I open Firefox it opens in full screen, if I open a terminal it resizes Firefox to half the screen and opens the terminal in the other half, a third and it splits whichever window I’m focused on vertically etc etc
Interesting!!! I’ll definitely give it a try! Thanks!
Not exactly like DisplayFusion, but virtual desktops have been a thing forever on Linux. There’s a ton of options in that department. They don’t work the same in each DE, so if it doesn’t work in yours try another. I believe COSMIC supports this already, otherwise in the tiling department you might like Sway or Hyprland. KDE and Gnome are a bit weird with per-monitor virtual desktops, and KDE at least is working on it.
USB Passthrough: yes, either the device node itself or the entire controller via PCIe passthrough.
Premiere, I believe so but you will need GPU passthrough for that to work to any degree of smooth. GPU passthrough is super nice when it’s all set up, worth the spend for a second GPU. Performance is near identical to native, it’s really great. Been gaming in a VM for years… out of convenience.
Thanks!
deleted by creator
Like others have said, most of this is possible but might take a bit of work to set up. In other words, you’re doing somewhat complex things on Windows, so it’s going to get a bit complex on Linux.
I’ve done GPU passthrough using 2 graphics cards (RX 580 going to VM and RX 550 staying connected to host) for VMs on my desktop, and it mostly works. I’d recommend this tutorial for getting it set up. I had to adapt it a bit to get my AMD card working, but it got me started. I now pass through my RX 580 to 3 VMs (obviously not at the same time): Windows 10, Windows 7, and a Hackintosh VM. Although you can technically use just 1 card (leaving Linux without graphics as Windows is using the card), I recommend using dual cards. Just make sure you:
- Have a free PCIe slot for a second graphics card that stays connected to a monitor while your better card goes to the VM. (The secondary card can be a cheap card - I’d say the 1030 might be good for you. There are ways to use the better GPU to get better performance in Linux native applications when a GPU passthrough VM isn’t running.)
- Be sure that slot is in a different IOMMU group from the GPU you pass through to the VM as well as any important system peripherals like network cards or SSDs. (Just Google something like “Linux check IOMMU groups” and you’ll find a way.)
Note that GPU passthrough invites a few bugs. You can’t always return the GPU to Linux after turning off the VM, depending on the GPU. (For a while, I got this fixed and could use my card after VM shutdown, but I’ve experienced a regression and haven’t been able to figure out what happened yet). Also, after I’ve run a VM and try to turn off the host, Linux doesn’t shut down clean sometimes and I have to manually press the power button.
As for distros, I actually don’t recommend Ubuntu anymore. I’ve found a severe decline in its performance compared to other distros and its privacy standards. I personally use Debian, but would recommend Pop OS as an easier distro. OpenSUSE and Fedora are good ones as well.
I’m sorry if I dropped a bunch of new terms without explaining them well. Ask me any questions. In return, may I ask what kind of desktop this is? Is it an ATX or ITX form factor or some sort of proprietary small form factor computer by HP or Dell or something that’s going to be miserable to upgrade?
Most of the “software that runs only on Windows” runs perfectly on Linux with wine, including the installation software, and the integration into the app launcher on all of the Linux distribution that I know.
For a widow manager, I don’t use one, i have many virtual desktop and as it’s smoother than in Windows, I use only that (i don’t remember how virtual desktop works on ubuntu)
Première run really badly in VM, and run it with wine is highly messy, do to poorly designed Windows install soft and plenty of missing dependencies, there are linux alternatives that do nearly the same job : KDEnLive, Shotcut and Openshot.
That all I can tell for now, I hope it will help you a bit. Ps: try other linux distribution before doing an installation to find the desktop manager that you prefer.
Thanks for your kind response!
I’ll definitely try using Wine and the Premiere alternatives.
About the virtual screen, I mean…screen, not desktop. I’ve added a screenshot in the OP. I know that there are tons of Linux distributions, but I don’t have much time to try them. I’ve been using Ubuntu for my servers and I’ve seen that it’s quite nice and user friendly in the desktop version, …but I’ll do some extra search!As the other person said, what you’re doing is pretty much emulating the behavior of tiling window managers. Edit while writing: I’m leaving the rest here because you might find it useful, but I’ve just realized that there’s a tiling extension for GNOME (the desktop environment used by Ubuntu): Tiling Shell. That’s definitely going to be the most painless way for you to try out tiling. There’s also bound to be something similar available for KDE.
I think you will get a much better result than with virtual screens by configuring one to your taste, assuming you’re willing to spend a few hours learning all the ins and outs (it’s absolutely OK if you’re not willing to do that).Here’s links to a few of them, you should be able to install them in whatever distro you prefer:
Hyprland - a tiling WM focused on good out of the box experience and animations (but it’s still very configurable). If you want to get your feet wet with standalone tiling WMs as fast and painlessly as possible, this is IMHO the way
Sway - a more keyboard-centric tiling WM that leaves out the fancy stuff (for example I don’t think there’s any way to do window shadows or animations for all the window manipulation) and focuses on just being fast and efficient if you learn its concepts. This is the only one I’ve ever used for longer periods of time.
SwayFX - “Sway, but with eye candy!” - I don’t think I can write a better description - has some graphics effects like window blurring or shadows.
Thanks a lot for your precious information!
For Wine: Microsoft 365 and anything Adobe notoriously doesn’t work with wine, any solution will most likely not be permanent.
For Premiere: Kdenlive is the best open source alternative IMO and there also DaVinci Resolve which has a free and a pro version. It is also more professional. Be aware DaVinci has problems with GNOME, which is the default environment of Ubuntu.
For distro: Nowadays Linux Mint is the best for user friendliness. If you will be going for a tilling window manager, the typical easy distros won’t make that much of a difference as you will be replacing a large part of it. You could probably do everything with KDE though with window rules and this, if you are going to use KDE then maybe use Kubuntu, it is a official version of Ubuntu with KDE. Ubuntu flavors
For a more professional tool, I’ve heard DaVinci Resolve also supports Linux.
I would be annoyed with how much Shotcut or OpenShot crashes, but I can’t say better of Premiere.
i think you can do this with xrandr. it usually works on “outputs” but i believe you can define virtual monitors as well.
also, you’d do well to look into tiling window managers like i3 or hyprland. that may be closer to what you actually want.
I don’t know if I correctly understood but I think that KDE plasma has this functions you need from DisplayFusion. You need to use Virtual Desktops + Activities, both inhetit to KDE
Maybe I didnt undertand correctly, but I think this may do the job for you
Try to use the standard virtual desktop functionality. It’s not going to behave the exact same way but you might find a workable adaptation.
You can pass through USB to VMs.
You can use Premiere in a VM. Depending on what you want to do and how fast your CPU is, you might be able to use it without any special config. If you need to pass through a GPU, you can buy the config isn’t trivial. Definitely doable though.
Generally you’d want to use KVM (with virt-manager) for virtualization but it doesn’t support any 3D acceleration in Windows yet. The result is that the Windows UI in a VM is not “smooth.” It’s usable but not smooth. If you need acceleration you’d have to do GPU passthrough. There’s some ongoing work to get basic acceleration without passthrough but it isn’t done yet. Both VirtualBox and VMware have basic 3D acceleration for Windows VMs. They have other pros and cons but if you find that one of them works better than KVM for your use case, go ahead and use that. We use both VirtualBox and VMware for different purposes at work. I know of people who use all sorts of engineering CAD software in VMware.
VFIO GPU Passthrough for Premiere is a must. While not trivial to set up, it’s not too bad if you know what to do. It took me some trial and error but didn’t spend too much time on it. Main issue is making sure your PC has enough PCIe lanes.
ETA: look into LookingGlass for capturing the framebuffer from a GPU accelerated VM into your Linux host. I haven’t tried getting this to work personally but I have used Moonlight which adapts Nvidia game streaming tech for your desktop apps.