Goodbye IPv6 – Hello Remotely Hosted X Apps.

I supposed it’s time for at least my monthly update. Christmas was a thing that happened…New Years….the apparent downfall of society had it’s season premiere. My back continued to improve far too slowly; and I’ve been playing more Forza Horizon 4 and GTAV than I should admit to.

I also had to take IPv6 off my network.

“You shouldn’t disable IPv6”

This is the phrase I heard from at least…everyone…combined with “it’s not IPv6s fault”. But…in this case, they’re wrong. 100% absolutely wrong. Let me explain.

First off, my ISP does not offer me native IPv6, I have to tunnel it in. My doing this actually stemmed from something I wanted to do back in 2018 just to see if I could do it. It worked….kinda; it had stability problems. I picked the idea back up after I got my R610 and tossed Xen on it. It worked really well for the longest time..

Then Yahoo screwed up.

Something happened and I lost Yahoo connectivity over IPv6. This was a problem I could read things about; but the few solutions mentioned never worked for me. There was also an issue that the tunnel had horribly slow upload; and that was making life shit for uploading to my VPS…which has native IPv6. When I got my laptop….Windows Store didn’t work unless I disabled IPv6 on my network card.

I’m not sure entirely what happened…but I’m largely thinking the HE tunnel just sucks. I might be going well out of it’s intended usage. It was neat…I learned a lot about IPv6 and networking; but I had to agree with my friends that actually build ISPs and do networking for a living…if it was causing issues, just get rid of it.

Well….Xen for some reason had a kernel panic. I have no clue why but when the thing rebooted…it came up in a dracut prompt. The standard IT trick of “turn it off and turn it on again” worked….everything was back up in a couple of minutes. But this lead me to what ultimately made me kill radvd in the first place.

Make Sure You Make ALL The Proper Configurations

In my convoluted networking scheme, I have two networks; LAN/WAN, and storage. I don’t a nice fancy 10gps networking with a large array…I literally have a cheap Synology running on it’s own “LAN”. It’s simply plugged in to one of the 610’s network ports; and most of my VMs have an interface attached to that port. That network is 10.1.1.0/24 and is mostly accessed only by the VMs….except that one of my VMs is a gateway between 10.1.1.0/24 and 192.168.1.0/24 because…I still want to access the damn thing from my computer. I did it this way because a few of the VMs that run “something” happen to use the very large network share to store things; and this allows them to suck it down from the Synology and simultaneously spit it out to the internet without any bottlenecks. I also plugged my primary ethernet runs in to the 610’s two remaining empty network ports and bridged them over to the LAN. While I had actually run out of switch ports at that location….it does allow me to access my NAS from my radio shack without everyone’s streaming clogging it up.

So when I got the hypervisor booted back up and network links restored….I found I had no connection to the NAS. I didn’t see it on any of the VMs….so I gave it a reboot, attempted to remount everything, and it was back online.

But I couldn’t access it from my main LAN. I spent entirely too long going through the networking VM trying to see why it wasn’t working. I eventually came to discover the Synology had no route set. None. Not even a default 0.0.0.0. Then I realized what happened. None of that stuff had been rebooted in about 6 months…it literally all just worked. That was probably because…at some point…I set a route in the Synology. I also didn’t set a gateway in the DHCP server. So the Synology had no idea how to get back to my LAN.

I felt like an idiot…especially since I don’t know why it worked to start with.

Remote X-Apps, Because Why Not?

For as long as I can remember, I rarely turned my desktops off. They ran, 24/7….both ready when I wanted to use them and logging IRC. This changed for a couple of years when I was laptop-only; but when the laptop became mostly stationary, it was right back to that style. I basically got used to being able to come home and either see alerts on IRC I missed while I was at work. This was also long before the era I used a bouncer.

This changed back in December for two reasons. The first is that my back didn’t allow me to sit at my usual computer spot; and the second was that I had gotten this new laptop. While I had intended to place it here as a desktop and leave it, that’s not what happened. I not only wanted to play games while trying to not hurt in the recliner…but my radio shack is less climate controlled than usual this year. The thought of leaving my brand-new $1200 laptop in 20 degree weather…even if it is running….was not attractive. I should try and be nice to it for at least a year…or until I can afford to buy a replacement.

I could have left my old one out here…but the times I was able to make it down here to game and chill (literally), it meant I’d have to disconnect the other laptop. That sucked. It sucked enough getting it out of the bag to hook it up to start with; but doing that after taking one down was not going to happen. I made the decision that I no longer needed to be booted up 24/7.

But this cramps my IRC usage. I considered two options to solve this; remote desktop or terminal-based client. I chose the third I didn’t know about. I really didn’t want to do the full remote-desktop thing; while I do find it useful….running it for one app and keeping that app in “it’s own little box”, didn’t make for a great experience. I could get used to text-based terminal clients again….although I’m on so many random channels and networks these days managing them would be almost impossible. X11 forwarding came to mind…but posed two additional challenges: X Servers for Windows usually suck and the applications aren’t persistent. I needed that screen-like (or tux these days I guess) functionality.

It’s possible the full version of NoMachine offers this…but not at a free tier. So I was introduced to the first failure of this project, XPRA. XPRA (X Persistent Remote Applications) is basically screen for X11. Perfect! I fired up an Ubuntu VM… I installed it….it failed. Apparently Ubuntu does some funky stuff that pisses xpra off. So I install vanilla Debian, install xpra, and I get it to work. I now have a copy of hexchat running on the remote VM….that looks just like a native Windows application. I can disconnect from it and reconnect to it later.

But looking like a native application was about all xpra got me. There was a seriously bad amount of latency when interacting with the program…somewhere on the neighborhood of 180ms. That might be acceptable if I wasn’t talking to the damn server over the local network….on what’s essentially a dedicated link. Even then…there’s not enough local traffic going through the virtual switch to bog things down.

I tried to optimize things…but I really couldn’t get that to be much lower. Interacting with the program felt sluggish…and it would be if you’re entering text at rapid pace and are a word or three ahead of the display. It was all in whatever xpra was doing to encode the window to send. It…for some reason…just couldn’t do it any faster. It’s not like it’s got a shortage of CPU or anything. When the various things started talking about needing NVENC support to speed it up…I knew it wasn’t going to work. I can’t slap a GPU in my 610.

Thankfully…in my many googlings I came across a blog post of Hasan Yavuz Özderya, who made a comparison of XPRA and X2Go. It was the first time I heard of X2Go….and I’m damn glad he wrote this. His thoughts on XPRA over the LAN and the reported amount of latency, was spot on. The amount of lag was completely unacceptable for LAN usage.

X2go on the other hand is another story. It’s just great on LAN operation. You can barely notice any latency. I could easily fool passerbys that this is an application running locally. It’s just great and exactly what I’m looking for.

– Hasan Yavuz Özderya

He was right. Holy cow is X2Go nice on LAN usage. I literally cannot tell Hexchat is not running on my native system…until I click a link on IRC and see a remote Firefox pop up. And my clipboard functionality has seem to quit working. Oh well…I have only been running this for a few days; so it will take some time to iron the bugs out.

Site comments disabled. Please use Twitter.