Live data from Hacker News

X410 – X Server for Windows 10

x410.dev

251–254 of 254 posts

Re: X410 – X Server for Windows 10

#251

Earlier quoted context omitted.

Wait, how does that... ohh, you're forwarding GLX. Ha, that's awesome, I am definitely borrowing that idea :) The graphics contexts should be well-contained on the host though. That the guest is leaking memory is kind of interesting.

This is qemu 4.2.0 configure command line that built what i needed to support this ( Debain 10's qemu did not have virgl support ). Spice did not work me, SDL did. PKG_CONFIG_PATH=/opt/virgl-0.8.1/lib/pkgconfig/ ./configure --prefix=/opt/qemu-4.2.0 --enable-spice --enable-kvm --enable-linux-aio --target-list=x86_64-softmmu --enable-sdl --enable-gtk --enable-opengl --enable-virglrenderer --extra-ldflags=-L/opt/libepox…

Arg, only noticed your reply yesterday then the tab got buried!

Thanks for the info. I probably don't have the hardware setup to run VMs at the moment (chronically low on RAM + do not have a GPU). I will be very interested to play with this when that changes in the future.

The one question (if you notice this) I do have is: how quickly does the memory leak happen? And can just running glxgears do it?

Re: X410 – X Server for Windows 10

#252

Earlier quoted context omitted.

This is qemu 4.2.0 configure command line that built what i needed to support this ( Debain 10's qemu did not have virgl support ). Spice did not work me, SDL did. PKG_CONFIG_PATH=/opt/virgl-0.8.1/lib/pkgconfig/ ./configure --prefix=/opt/qemu-4.2.0 --enable-spice --enable-kvm --enable-linux-aio --target-list=x86_64-softmmu --enable-sdl --enable-gtk --enable-opengl --enable-virglrenderer --extra-ldflags=-L/opt/libepox…

Arg, only noticed your reply yesterday then the tab got buried! Thanks for the info. I probably don't have the hardware setup to run VMs at the moment (chronically low on RAM + do not have a GPU). I will be very interested to play with this when that changes in the future. The one question (if you notice this) I do have is: how quickly does the memory leak happen? And can just running glxgears do it?

I'm running 32GB system with two browser VMs getting 4G each.

The work VM which is typically connected to Github and work gmail needs to be restarted once every couple of days.

The play VM which would have a Chromium with a dozen tabs open can can take ~20 min to ~1 hour depending on the content in tabs.

I notice the memory leak when Sublime that I run on the host itself starts dropping key press speed ( I run "xset r rate 400 50" ). Killing VMs or restarting them makes everything go back to normal.

I've ran glxgears for ~2 hours now with no significant leak. I will probably leave it overnight to see if something as simple as it can be used as a leak example.

I'm going to speculate the key is heavy usage of GLX something that only Chromium does as I have left a desktop with an xterm running top for two days and no leaks were detected on a play vm. So it is not just virtgl in QEMU being exposed to the guest, initialized by the guest and interfaced by the guest via virtio, but actually using virgl on a host to do rendering. Maybe virtual context creation/release cycle?

P.S. I originally made this work on my super light laptop ( i7-6500U with 8G ), so you don't need a beefy rig for it although there's a bug in recent Intel GPU libraries used by mesa that sometimes lock it up. I initially attributed it to something I did but it was not:

https://github.com/qutebrowser/qutebrowser/issues/4641

kitty, alacritty, and even Chromium would sometimes lock up with intel iGPUs.

Feel free to reach out - my email address in a profile here. I check it here and there.

Re: X410 – X Server for Windows 10

#253

Earlier quoted context omitted.

Arg, only noticed your reply yesterday then the tab got buried! Thanks for the info. I probably don't have the hardware setup to run VMs at the moment (chronically low on RAM + do not have a GPU). I will be very interested to play with this when that changes in the future. The one question (if you notice this) I do have is: how quickly does the memory leak happen? And can just running glxgears do it?

I'm running 32GB system with two browser VMs getting 4G each. The work VM which is typically connected to Github and work gmail needs to be restarted once every couple of days. The play VM which would have a Chromium with a dozen tabs open can can take ~20 min to ~1 hour depending on the content in tabs. I notice the memory leak when Sublime that I run on the host itself starts dropping key press speed ( I run "xset…

Hmm.

"Depending on the content in tabs". Might be interesting to graph the leak rate (in KB/min or MB/min) and maybe either record the screen or limit to one or two websites at a time to narrow down what causes the most issues. Besides video playback, CSS animations come to mind as a potential source of GLX acceleration caused by random/mainstream websites.

Now I'm wondering what would happen if you fired up multiple tabs with stuff from https://www.shadertoy.com/, https://experiments.withgoogle.com/collection/chrome, https://webglsamples.org/, etc >:)

Virtual context creation+release could indeed be the problem. FWIW https://github.com/cyrus-and/chrome-remote-interface makes using Chrome's remote debug protocol (to open and close tabs) utterly trivial; or you could just run multiple concurrent browsers with --user-data-dir=somewhere (probably actually much easier to work with).

Chromium aside, another potentially useful trigger may be Unity games - the last(/first/only) time I tried to fire one up my laptop (i5-3360M + HD Graphics 3000) I was scrambling for ^C^C^C while everything slowed to a crawl and the system climbed (impressively quickly) past 97°C ;) (thankfully(!) nothing froze - thanks for the Intel lockup reference), so perhaps that could be a very effective trigger.

I'll keep your email address in mind; email is a bit of a long-term sore point due to Gmail constantly slowing everything to a crawl, and I'm currently using 8GB of swap (need to close some tabs) so I replied here so I could respond in a timely manner.

Re: X410 – X Server for Windows 10

#254
post #4

I've been using VcXsrv ( https://sourceforge.net/projects/vcxsrv/ ) to do the same thing for a few months. It works well in most cases, but it can be janky. The scaling doesn't always work well if you're using a hidpi screen, and I had one application that was crashing consistently under certain circumstances. Definitely going to try this out, but I wonder if it's worth paying for when I have a free alternative that…

Been using VcXsrv as well in combination with WSL2. However the clipboard stopped working randomly (but at every session). Only a complete restart of the WSL-services and X-server made it work again. This is what brought me to try X410, and I never had a problem with the clipboard there. Using it now in combination with WSL2, qtile and Terminator as terminals (I have to stick with Windows in my company).
Post reply on HN