this post was submitted on 31 Mar 2026
6 points (80.0% liked)

Linux

64383 readers
345 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

I'm currently trying out Bazzite, and everything is smooth, except one thing: I can't get V2Ray-based apps (V2RayN, Nekoray etc.) to tunnel the VPN traffic. As I couldn't find much online, asking here - did anyone successfully run V2Ray on immutable distros generally and Bazzite specifically? What should be done to make it work?

(An obvious solution - installation via rpm-ostree - does not help, and I need V2Ray specifically)

top 9 comments
sorted by: hot top controversial new old
[–] OUwUO@programming.dev 1 points 6 days ago (1 children)

What have you tried? Why doesn't rpm-ostree install nekoray work for you?

[–] Allero@lemmy.today 2 points 6 days ago (1 children)

Nekoray in particular doesn't have .rpm, so I used the universal executable (NOT the AppImage which doesn't have TUN capability). With TUN mode enabled, it shows outbound and inbound connections trying to be established, and exchanges of up to 300 singular bytes per second. Needless to say, no Internet resources work. The second I close the connection, everything gets back to normal.

V2RayN does have rpm and can be installed using rpm-ostree, but enabling TUN and subsequent connection attempt lead to the following log messages appear ( censored):

from accepted [proxy-relay- -> proxy] ERROR [ ] dns: exchange failed for . IN A: EOF

Same continues for every connection attempt. No actual connection is established.

[–] OUwUO@programming.dev 1 points 6 days ago* (last edited 6 days ago) (1 children)

Nekoray in particular doesn’t have .rpm

Perhaps they don't provide any themselves. But installing it from a repository is preferred anyways. To be clear, it's found within Terra's repository. The very same Terra repository that's enabled by default on Bazzite. So, as I see it, there's nothing that would prevent rpm-ostree install nekoray from working. Have you even tried this?

I don't know why V2RayN doesn't work though. Try Nekoray and let us know how it goes.

EDIT: I just noticed how Nekoray has seemingly lost its maintainer. Thankfully, someone forked it and renamed it to Throne. And, with it, we find ourselves an RPM repository to install from. Thankfully, you don't even have to go through any hoops, as it's also found in the Terra repository. So you're simply one rpm-ostree install throne removed from installing it.

[–] Allero@lemmy.today 2 points 5 days ago* (last edited 5 days ago) (1 children)

I got stuck with Terra atm. Bazzite shows that terra-release is indeed installed, yet doesn't seem to check the repo when installing packages. And, predictably, fails to install either Nekoray or Throne through rpm-ostree install throne

Assuming it is disabled (as happened in https://github.com/ublueos/bazzite/issues/2580), I wanted to reenable it, but didn't find any command to do this in rpm-ostree help.

Attempting dnf5 install throne --enable-repo=terra predictably didn't work as it's an immutable system.

Any ideas or help here? Your help is much appreciated.

[–] OUwUO@programming.dev 2 points 5 days ago* (last edited 5 days ago) (1 children)

Bazzite shows that terra-release is indeed installed

Assuming it is disabled (as happened in https://github.com/ublue-os/bazzite/issues/2580)

Interesting conflict; as these seem to be at odds with each other. I wonder what's up. If it's indeed disabled, then I would like to apologize for causing any confusion. FWIW, I may have been mislead by Terra's own documentation. I suppose it might be outdated.


Anyhow, perhaps we can undertake the steps to uninstall terra-release (even if it's not there) and (re)install it.

Uninstalling terra-release

If terra-release is layered^[You can check this with rpm-ostree status. If it is, you will find it after LayeredPackages:. If it's not, you should not evoke rpm-ostree uninstall terra-release, as it wouldn't get through anyways.], then we'd have to start with rpm-ostree uninstall terra-release. Afterwards, to delete the Terra repository, even if it's not even there^[If ls /etc/yum.repos.d/ | grep "terra" doesn't yield anything, then you may skip this. But evoking the command to delete something that's not there, isn't bad or anything.]: sudo rm -rf /etc/yum.repos.d/terra.repo

(Re)installing terra-release

To (re)install terra-release (as per its own instructions):

First evoke the following command:

curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo

And then, evoke this one: sudo rpm-ostree install terra-release . I'm unsure if sudo is required. Personally, first I'll do is without sudo. Only after it fails due to permissions will I do it with sudo.

A reboot is probably required for it to take effect. Hence, try evoking rpm-ostree install throne only after performing a reboot.

[–] Allero@lemmy.today 3 points 5 days ago* (last edited 5 days ago) (1 children)

Alrightie, this worked! I did install Throne. As per sudo before rpm-ostree - it's not necessary, it just asks for su password if you run it without sudo.

So, Throne came up with another error, it was unable to change file ownership in /usr directory (of course it couldn't, it's an immutable system)...and then it got me.

I read into the errors given by v2rayN, and checked it on a regular mutable distro...and indeed, my subscription list got blocked right when I started testing TUN on Bazzite a few days ago. Case closed, Bazzite has nothing to do with it.

But, I learned something about Bazzite repo management, which will be valuable going forward. Thanks a lot for so much effort figuring things out!

[–] OUwUO@programming.dev 2 points 4 days ago

I'm glad to hear that you found the most egregious culprit. Hopefully you'll be able to get it to work after your subscription list 'functions' (again). (I'm honestly completely oblivious of what this software is or how it works.)

Though, if you allow me, I would like to give some comments. So, without further ado.

Throne came up with another error, it was unable to change file ownership in /usr directory

Hmm..., curious. I would think that it shouldn't even (necessarily) require anything like that. And, if it does, perhaps the maintainer/contributor should be addressed in hopes of resolving the issue; I'm sure they can figure out a workaround (or so).

(of course it couldn’t, it’s an immutable system)

😅. This is actually a very nuanced topic:

  • Bazzite has for example made plenty of changes to /usr compared to its upstream; i.e. Fedora Atomic. So, there is a supported way of doing this in order to create an image with the desired changes to /usr. If you got any such needs, consider taking a look at this page of Bazzite's documentation.
  • Furthermore, instead of making changes to the content of folders like /usr/etc, /usr/share et cetera; one could instead make changes to the content of folders like /etc ~/.local/share et cetera.
  • If you only want to write to /usr once and would like for said changes to not persist after a reboot, then commands like rpm-ostree usroverlay and bootc usr-overlay are worth mentioning.

So, to be clear: while it is true that Fedora Atomic does not like/support making changes to /usr at runtime, it's not like it's necessarily limiting you if you really desire to do so.

Thanks a lot for so much effort figuring things out!

It has been my pleasure 😊!

[–] warmaster@lemmy.world 0 points 6 days ago (1 children)
[–] Allero@lemmy.today 1 points 6 days ago* (last edited 6 days ago)

Didn't figure out how to add subscription lists (if it's possible at all), so didn't research further, as this feature is crucial for my use case. Looks like I'll have to try it again.