Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I see it's time for the bimonthly reinvention of VirtualBox and VMWare's seamless modes from a few faceless techies on GitHub and designed for people who can't be bothered to use WINE or VirtualBox.


And unfortunately it has become the norm in open-source to push out shiny-looking projects with pretty logos and UX but shoddy underlying technology and deceptive/overstated claims (looking at you Tauri).

Thing thing uses RDP for communication which was designed for remotely administering servers over low speed networks.

VirtualBox in contrast integrates at the driver level, and allows you to share the underlying GPU buffers, giving you a native experience that works for things like games or heavy apps. It integrates the Linux filesystem on a driver level as well.


Nit: RDP’s roots are more in multi-user windows like Citrix Metaframe than in remote administration. I’ve found it to perform better than the alternatives (remote X11, VNC, Chrome Remote Desktop) for remote GUIs. Nomachine is the only alternative that was close to its performance.

(And before somebody jumps in to correct me - in ancient times X11 performed quite well over the network but modern Linux GUI apps are no longer designed to minimise X11 network traffic)


From my personal experience (by feel, not scientific), NVIDIA GameStream is way faster than RDP. I used it with Sunshine and Moonlight.


Things made for game streaming will be more responsive at the tradeoff of massive bandwidth usage in comparison. RDP can work over slow connections reasonably well.


Massive bandwidth usage and video compression artifacts. It's fine for games and media consumption, but may be problematic for office work.

Remote desktop protocols prefer lossless compression to achieve pixel-perfect rendering, at the expense of framerate/latency.

RDP is unique in that it's not just streaming, but integrates with Windows' GUI stack to actually offload compositing to the client. This however works less and less well with web and Electron apps which do not use native OS widgets.


Agreed that RDP is very well designed. And we don't have an equivalent in Linux or Mac world. All competing protocols are a compromise. I am particularly impressed with good multi-monitor support in RDP. Competitions has had more than a decade to get it right. But I am unaware of any that does.

If I connect remotely from a 2 monitor setup, disconnect and re-connect from my laptop with just a single display, it all magically works. Everything readjusts automatically. I don't know of any other remote desktop protocol/tool that does this so well.


Windows implementation of RDP is actually very good. You get a degree of responsiveness that is unachievable with neither Linux RDP implementation or any other product (maybe barring Parsec, that also doesn’t allow for Linux hosts).

I know that RDP doesn’t work for gaming, but for anything else (even for CAD), it’s the best thing barring direct access to the machine (or, Parsec).


Yeah, but if the Windows app essentially draws into a GPU texture (which is mapped to a dmabuf buffer in the Linux kernel), you can just grab that texture and send it to the compositor.

The overhead difference is like memcpy vs a very fast SQL database.


wait is it viable to run CAD (specifically autocad/revit) in any of these? It's the last thing keeping me on Windows


Yes, CAD software is perfectly usable via RDP.


I know this isn't the question you asked, but FreeCAD has made great strides.


I love your username.

Willing to chat origin?


sorry if it's a disappointment, but it's a contraction of two video game characters (Knoll + Olimar).


Not uh’tall: neat name - and thanks for sharing!


Actually with RemoteFX GPU I think DirectX 9 games or something would work OK over it.


I remember booting Crysis with that. I wouldn't say it was playable, but the fact it managed to actually launch was impressive. Maybe with modern hardware & bandwidths it would actually be.


Why don't they just write a thin layer that interfaces Windows library calls to native Linux calls, possibly with a thin wrapper to shim it where nothing else quite fits? You could re-implement maybe some of the Windows libs as a "clean room project", given the functional description, that then hands off to an equivalent in Linux.

There's probably a cool and snappy acroynm you could use, like Virtual Interface (with nearly) No Overheard, or "Vino".


Care to elaborate regarding tauri? I figured it has matured into a fine electron alternative.


Not OP, but I recall Tauri greatly overstating their memory usage claims. It is ultimately a browser running your "app", but just because it's not bundled with your app, doesn't make it consume any lesser RAM. And they even admitted that their benchmarks were wrong[1].

A lot of claims were also made about how Tauri is magically more performant than Electron apps and feels like a native app, but not only is this not true, on some platforms like Linux, Tauri apps are actually slower than Electron because the system webview it uses (generally WebKitGTK) is often slower and less optimised than the Chromium build that Electron ships with[2].

There's a bunch more claims due to it being "Rust" and all the memes that comes with that territory, but all that is basically irrelevant since your "app" is basically shitty javascript in the end. It's like putting lipstick and dressing up a pig, doesn't change the fact that it's still a pig.

[1] https://github.com/orgs/tauri-apps/discussions/3162

[2] https://www.reddit.com/r/tauri/comments/1kg5zb8/will_tauri_f...


I can't believe people will still put in all of this work instead of just... using their system's native GUI. Mind-boggling.


I've done both, I prefer embedded web views:

- All the work is done in my high performance backend, where I joyfully optimise my hot loops to the assembly level. The web view is a thin layer on top.

- HTML and CSS is a joy to work with in comparison to many UI toolkits. LLMs are better at supporting a web stack.

- The UI zooms/scales, and is accessible with screen readers (looking at you, imgui).

- Cross platform with low effort.

IMO you have to be extremely careful not to pull in a whole frontend stack. Stay as vanilla as possible, maybe alpine.js or tailwind, and I've got hot reload set up so the developer productivity loop is tight when editing the view.


I can recommend svelte(kit): great API and compiles down to just js.


Mostly Tauri claimed their main advantage was smaller app sizes since it's using the native WebView. What they didn't say is how a bottomless pit it is to try standardizing rendering on X different webviews, multiplied by X different webview versions (outdated, not updated systems) ; so now they have pivoted to shipping their own build-in browser ; Competition in open-space is okay but it shouldn't be made by only pushing its perceived advantages while withholding the systemic disadvantages.


Well yeah. The goal for most of these people is to pad a portfolio so they can either get or remain gainfully employed. We are in the performative software era. It's not about data structures or algorithms anymore, it's all about GitHub stars.


That's just progress. Things that used to be hard become easy. Things that used to be impossible become hard.

Hard things become easy when for example it becomes feasible to connect to RDP instead of mucking about at the driver level.

It will be more reliable but less performant.


As someone who is looking to go Linux, do most windows apps work now through Wine or VirtualBox ? I know Valve did a lot of work for games.

It’s been 4 years since I even took a good look at it.


Just anecdata, but the few things I use via Wine have all worked fine. I use yabridge so I can use windows VSTs in my Linux DAW.

Games (if they don't use kernel level anti cheat systems) are all flawless with Proton.

But, I honestly don't have a need to use much other windows only software. Almost everything I need to use has Linux versions, or alternatives that fit my needs.


I still have problems running some VSTs with yabridge (could be fixed in an afternoon, but it's important that people should know that it's not a plug and play experience).


I, for one, use Notepad++ with wine. I'm accustomed to it


What do you use in Windows? It's probably easier starting there and then working out what you can do about it.

Games work great in Proton. Valve has gone all-in on Linux and I suspect before terribly long we'll see more stuff that's SteamOS native, with a compatibility layer for the people who are still using Windows.

I would suspect now that most people either play games which will mostly work okay from Steam, or use stuff that just works in a browser (and I'm kind of lumping Electron apps in with that). Then there are things that are never going to work all that well in Wine or have a native Linux port but which might be worth looking into something else for, like switching from Premiere to Resolve for video editing.


About games compatibility made possible by Steam, check Proton DB : https://www.protondb.com/


Bar a few exceptions (gaminh mostly) you'd have a much better experience switching to native linux apps. Most are really good once you get past the resistance to change. It takes a bit of time to get used to some but once you are set you are no less productive.

I did the switch 2 decades ago and except for my annual 3 weeks of gaming, I never use wine nor do I use or feel the need for a win VM.


What windows apps do you need? I switched full time to Ubuntu about a month ago and haven't missed a thing. I thought it would be harder, but after some usability configuration changes like how the mouse scrolls, some browser keyboard settings, system font sizes, and logging into a few accounts it has been snag free. Oh and I did install Microsoft fonts. I hate most Linux fonts. The biggest change really is just getting used to new icons. There are several features in Ubuntu I vastly prefer over windows, like window tabs in the file explorer for instance.


Windows 11 has tabs in the file explorer by default.


So does KDE's Dolphin and many others on Linux. Linux had tabs on file explorers well before Explorer did as well as virtual desktops, app stores, and a few other things that Windows didn't have but later implemented.


Right. It seems that maybe gp wasn't aware.


Bit of a mixed bag for me. There are a lot of things that work remarkably well, but I have some issues with GPU performance (Cyberpunk 2077 just doesn't run well on Linux for me, despite running great on Windows on the same PC, and GPU-heavy apps like Insta360 Studio and Topaz Denoise run excruciatingly slow or not at all) and some things just don't work (my audio VST plugins work alright, albeit with some bugs about window position handling, but I can't get some of the licensing apps to work under WINE).


Anything that needs a driver isn't going to work. At my last job I needed to talk to some motor controllers and BMS systems through impressively terrible Windows software using proprietary device drivers. I had to keep a Windows partition around on my machine for this. I did have limited success with QEMU, but I never got it working quite right.


Most things work great. There are some niche things that do not work so well. Example: SteamVR,Vive VR Hub, some AntiCheat for games.


SteamVR works ok, but last I checked it still performs worse than on Windows. If you are feeling adventurous, you can try a FOSS VR stack [1]. It works for Steam games running Proton and when it works it provides better performance. I had some troubles with it, sometimes you need to switch versions or you get some artifacts in games, or some games just don't work at all. Good thing is, switching between FOSS and SteamVR is as simple as launching either first before starting the VR game in Steam.

I guess the Linux VR stack might get a bit of love from Valve for the Steam Frame, so things might improve in the near future.

[1] https://lvra.gitlab.io/docs/fossvr/envision/


Regarding FOSS VR stack, Unfortunately, WiVRn doesn't support Vive Focus Vision.

SteamVR for Linux requires DRM leasing to function and many Linux distros, well... window managers/compositors do not support this. But yes it can work.


A lot of them do, but for almost everything there are native alternatives.

I haven't used Wine directly in years, only indirectly through Steam.


I hardly want to run windows apps at all, but I have a garmin etrex 32x and I can't for the life of me get garmin windows software to run on wine or linux crossover (something to do with USB) and there is nothing available on linux that can talk to the device. I'd run Windows 10 in a VM but I looked (I think?) pretty carefully and valid Windows licenses seem to be well over $100, cheaper to use a refurbed office desktop.

Someone stomp me down and tell me I'm wrong, please.


Office doesn’t.


Office is easy to get rid of on a personal level through alternatives.

On a professional level the online office 365 web apps are enough for 99% users. My comoany do not even bother giving us licenses for the desktop apps so linux and windows users are on equal term really.


Let's assume good intent and that the problem came up without foreknowledge of the solution (which I think is endemic whether or not it is the case here)

How would you reccomend someone discover/decide is faster to learn/learn/implement existing solutions?

I'm asking because I'm currently in my "cambrian explosion" phase of homelabbing, so implementing that loop for myself personally will pay dividends.


Except these seamless modes have been broken for many years. Also using a containerized Windows means one doesn't have to fiddle with the insane Windows 11 setup process and TPM issues.


For those of us who have used containerized Windows in prod, it is its on kind of hell


What is containerized Windows?





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: