Live data from Hacker News

Looking Glass: Run a Windows VM on Linux in a window with native performance

looking-glass.io

291–300 of 312 posts

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#291
post #264

Earlier quoted context omitted.

The specification you present is a bit unclear. Any modern virtualization has very fast CPU virtualization (it's hard to say near-native, as there are always corner cases), and snapshotting tools. I don't know about Sharepoint; the "clone installs" is a bit fuzzy too, but one can clone installed systems by just copying the underlying image file and ensuring that it has a unique identifier (and updating the guest O/S…

For the USB part, would adding a extra USB adaptor card (assuming it's a desktop machine) and using PCI-passthrough/VFIO on that adaptor make it easier? From my knowledge of QEMU, then no USB emulation is involved - the guest OS sees the entire USB adaptor (and the host doesn't) - so one can have all the special USB hardware connected to that.

I'm not knowledgeable with this, but I think so, as it'd be a standard passthrough.

What needs to be kept in mind is that, as the standanrd passthrough, it's subject to the IOMMU groups handling (in best case, there's no other device in the same group; otherwise, one needs some trickery, which AFAIK is not 100% guaranteed to work).

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#292

Earlier quoted context omitted.

If you actually understood your own link you would see that there is no reason to trace every pixel on the screen when you can make a bounding box that covers motion and trace the vertices. Anyone familiar with game engine programming would never consider what you are saying. That link is a more in depth version of what I just said, ray casts are being done on the server for visibility and have nothing to do with ren…

A bounding-box is something we'd call an over approximation . Using an over-approximation causes the opponent's location to be revealed to the client even when the opponent isn't quite on screen yet, requiring the client to be trusted to not show this information early, which is what people in this thread want to avoid. That's the whole point of the discussion. This is what the article is showing - can you see how th…

lol, who is "we" in this sentence?

You for some reason are ignoring what you originally said to focus on something else you are seem to misunderstand the context of.

What you originally were saying was that you would have to render polygons in hardware for the server to have any idea about occlusion, which the link that you gave not only disproves, but assumes that no one would think in the first place.

The whole point is that wall hacks let you see people running around the whole level and it is just a matter of work for the server to only send positions a few frames before you are going to see a player.

Everyone else is on the same page, but you think the player position being sent right before they appear is a problem? That's the solution in your own link.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#293

Earlier quoted context omitted.

You are conflating needing information about player position with visibility of individual polygons. Also you are forgetting that you just said that line of sight was done in hardware and you didn't explain how that would work for a server testing if shots actually hit. > You can see this for yourself if you look at a game being run with wireframe rendering. You'll see it's in the same render node so it's still rende…

Look at the last illustration in that article. Can you see how the red outline of the opponent appears while they're obscured behind the pillar? When that red outline appears it's showing that the opponent is now being rendered, and that the z-buffer is being used to obscure them from behind the pillar. This discussion is about how to make the red outline not appear until the opponent is actually visible. The article…

" When that red outline appears it's showing that the opponent is now being rendered, and that the z-buffer is being used to obscure them from behind the pillar."

Yeah, that's game rendering in the engine. That's visualizing something, not illustrating how the server is doing it. Did you actually read and understand your own link?

"That's the issue that people want to solve."

No it isn't, you misunderstood your own link to the point that you have it backwards.

The server not rendering the entire game from each person's perspective every for every player every frame.

The problem is being able to see every player walking around all the time.

Think for a moment what would happen if the server actually had perfect visibility - by the time you can see them it is already too late. You should be able to see them and then the server starts sending you a position. By the time you know you should see them, you should have already seen them and the other player pops into frame.

That isn't even buried in your own link, it's at the very top.

"Consider an example of an opponent with just one pixel of their gun visible around a corner. How do you send that information to the client without telling them there's an opponent there, so that the user has to actually see the pixel? You'd have to just send that one pixel, right? Now we're talking about rendering server-side!"

This is gibberish and is a lot like Frank Abignail trying to BS pilots. Once again your own link explains why this is nonsense from a lot of different angles, did you even read what you linked or did you just look at the pictures? It explains everything clearly.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#294

Earlier quoted context omitted.

A bounding-box is something we'd call an over approximation . Using an over-approximation causes the opponent's location to be revealed to the client even when the opponent isn't quite on screen yet, requiring the client to be trusted to not show this information early, which is what people in this thread want to avoid. That's the whole point of the discussion. This is what the article is showing - can you see how th…

lol, who is "we" in this sentence? You for some reason are ignoring what you originally said to focus on something else you are seem to misunderstand the context of. What you originally were saying was that you would have to render polygons in hardware for the server to have any idea about occlusion, which the link that you gave not only disproves, but assumes that no one would think in the first place. The whole poi…

> The whole point is that wall hacks let you see people running around the whole level and it is just a matter of work for the server to only send positions a few frames before you are going to see a player.

...and when an untrustworthy client gets that info it can highlight the opponent just before they come into frame, or highlight them fully even when they're mostly concealed, giving you an advantage.

That's the point of the thread. That's what people want to avoid. That's what the link wants to avoid, and says it doesn't manage to quite do and explains why it's hard.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#295

Earlier quoted context omitted.

Look at the last illustration in that article. Can you see how the red outline of the opponent appears while they're obscured behind the pillar? When that red outline appears it's showing that the opponent is now being rendered, and that the z-buffer is being used to obscure them from behind the pillar. This discussion is about how to make the red outline not appear until the opponent is actually visible. The article…

" When that red outline appears it's showing that the opponent is now being rendered, and that the z-buffer is being used to obscure them from behind the pillar." Yeah, that's game rendering in the engine. That's visualizing something, not illustrating how the server is doing it. Did you actually read and understand your own link? "That's the issue that people want to solve." No it isn't, you misunderstood your own l…

> This is gibberish and is a lot like Frank Abignail trying to BS pilots

Why are you so abusive in your replies? What causes you to talk to people like this?

> You should be able to see them and then the server starts sending you a position.

Yes that's what I'm saying you'd need for an untrustworthy client. But even that's not quite good enough - if you can 'see' them but it's just one pixel that the user might miss - should the client really get the full location information? It could highlight the enemy from that when a player would likely miss it otherwise.

> The problem is being able to see every player walking around all the time.

No that's a weaker version of the overall problem. If you give the player's location to the client when the player may not actually be able to see them then you're relying on a trustworthy client.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#296
post #283

Earlier quoted context omitted.

Litmus test for these kinds of things is - would you set this up for a family member in another part of town? I wouldn't. And I used Nixos too.

Well no, but I also don't like living my life by the lowest denominator, I understand how it works, so I don't "break" it by forgetting how to use it. My father's office365 broke last month because of multiple mailboxes, not because something was wrong, but because logged onto the wrong account without the right permissions.

Well I hope you don't end up like me, asking yourself "Why I'm still doing this?" and not finding a good answer.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#297

Earlier quoted context omitted.

" When that red outline appears it's showing that the opponent is now being rendered, and that the z-buffer is being used to obscure them from behind the pillar." Yeah, that's game rendering in the engine. That's visualizing something, not illustrating how the server is doing it. Did you actually read and understand your own link? "That's the issue that people want to solve." No it isn't, you misunderstood your own l…

> This is gibberish and is a lot like Frank Abignail trying to BS pilots Why are you so abusive in your replies? What causes you to talk to people like this? > You should be able to see them and then the server starts sending you a position. Yes that's what I'm saying you'd need for an untrustworthy client. But even that's not quite good enough - if you can 'see' them but it's just one pixel that the user might miss…

I can see we are at the "you're being mean to me" stage in the discussion instead of the "I should not spread misinformation then doubled down on it" stage. No one is abusing you and you aren't a victim when someone wonders why you're misinforming people. If what you are saying doesn't add up (temporal chicken and egg, partial location information etc), focus on that instead of attacking people that are giving you the feedback that what you are saying doesn't add up.

You originally said that a server would have to render the game and use the z-buffer to do any occlusion culling, but this is not only not correct, it is contradicted by something you yourself linked. Why not just admit that this was a guess and not from experience or research into how game engines work?

"But even that's not quite good enough "

You are the only one saying that. Going from seeing every player on the map all the time to only seeing players a few frames before you would have seen them anyway is a huge leap, which is again, what people are talking about and exactly what you linked.

"should the client really get the full location information? "

What partial location information are you envisioning here?

Again, focus on backing up what you originally said first instead of trying to shift the goalposts from how servers would "have to" do occlusion culling.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#298

Earlier quoted context omitted.

> This is gibberish and is a lot like Frank Abignail trying to BS pilots Why are you so abusive in your replies? What causes you to talk to people like this? > You should be able to see them and then the server starts sending you a position. Yes that's what I'm saying you'd need for an untrustworthy client. But even that's not quite good enough - if you can 'see' them but it's just one pixel that the user might miss…

I can see we are at the "you're being mean to me" stage in the discussion instead of the "I should not spread misinformation then doubled down on it" stage. No one is abusing you and you aren't a victim when someone wonders why you're misinforming people. If what you are saying doesn't add up (temporal chicken and egg, partial location information etc), focus on that instead of attacking people that are giving you th…

I don't agree - but I think you're really just trying to get a reaction by being as aggressive and contrary as possible rather than actually going on what I've written, so I'm going to leave you to it from here.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#299
post #264

Earlier quoted context omitted.

The specification you present is a bit unclear. Any modern virtualization has very fast CPU virtualization (it's hard to say near-native, as there are always corner cases), and snapshotting tools. I don't know about Sharepoint; the "clone installs" is a bit fuzzy too, but one can clone installed systems by just copying the underlying image file and ensuring that it has a unique identifier (and updating the guest O/S…

For the USB part, would adding a extra USB adaptor card (assuming it's a desktop machine) and using PCI-passthrough/VFIO on that adaptor make it easier? From my knowledge of QEMU, then no USB emulation is involved - the guest OS sees the entire USB adaptor (and the host doesn't) - so one can have all the special USB hardware connected to that.

I've read of people doing this setup for exactly this on homelab and VFIO subreddits. PCIe passthrough is easier. I've no personal experience with this, but it seems to work well; the VFIO setups are hardcore anyways.

Re: Looking Glass: Run a Windows VM on Linux in a window with native performance

#300

Earlier quoted context omitted.

I would probably run proxmox if I was you and kit your device with extra peripheral cards that you pass through to the VM, with ZFS you can snapshot your vm volumes and proxmox has builtin support to do full backups and either store on your local machine or ship them off to a remote location. If you pass the GPU through to Windows you're going to be essentially native speed along with great security and flexibility.…

Would you still recommend this if it was a mobile workstation [1], doing a mix of at-desk work and mobile work, utilizing peripherals like docking stations, and I was running nearly constant compute intensive workloads (Matlab)? 1: https://www.dell.com/en-au/work/shop/workstations-isv-certif...

Proxmox is basically Debian plus some VM hypervisor stuff. So your question really is would someone recommend it if they're running Debian, as all that desktop environment stuff would be outside of what proxmox manages.

Debian is super reliable - potentially the most reliable linux distro - but this wouldn't be a turnkey solution or anything (for example PopOS, based on Debian via Ubuntu, focuses more on the out-of-the-box experience). I don't know if Debian can handle your particular needs, but my assumption is that if any distro can Debian can - it just might take some time.

Personally I love proxmox as a main operating system, as I can get everything from broader Debian/Ubuntu/PopOS environments and learn a lot about Linux too. But, it has taken a lot of my time, so I'd only recommend it if you wanted to invest the time.

Post reply on HN