Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YTuner Arm64 Architecture only Support missing ? #4

Closed
TheBossME opened this issue Nov 4, 2023 · 13 comments
Closed

YTuner Arm64 Architecture only Support missing ? #4

TheBossME opened this issue Nov 4, 2023 · 13 comments
Labels
bug Something isn't working enhancement New feature or request question Further information is requested

Comments

@TheBossME
Copy link

TheBossME commented Nov 4, 2023

Hi Greg,

I've tested to run ytuner on an arm64 architecture. (not armhf).

Result: program does not start. Later on I will test it on armhf and will come back then.
(I added the executable flag on the app)

-bash: ./ytuner: cannot execute: required file not found
Tested on Debian bookworm.

I've tested failover with 2 machines. One on amd64 and one on arm64, which should run. (using keepalived for failover)

Both systems are on Proxmox hosts and running as LXC containers.

Regards
Beatrice

@coffeegreg
Copy link
Owner

Hi Beatrice,

I have prepared a binary for Linux aarch64 (see Releases). Unfortunately, I'm not familiar with Proxmox. At this moment I don't have the opportunity to test it on any arm64 platform with 64 bit OS.
Please let me know if this will work for you.

Regards
Greg

@TheBossME
Copy link
Author

Application worked fine also on arm64 device now.
Great. 👍

The failover configuration i've created did not work actually.
Looks like the application did not use the virtual IP address from vrrp.

This is not an issue. I do only test that on my Proxmox servers.

Regards
Beatrice

@coffeegreg
Copy link
Owner

I'm glad that you tested YTuner on the arm64 platform and that it works properly. 👌
When it comes to IP addressing, remember that you can try to force the IP addresses that YTuner will use ( ytuner.ini modification ).
YTuner tries to verify the provided IP address with the list of IP addresses that are available on a given machine. This policy does not apply to loopback IPv4 addresses due filtering out of loopback interface IP addresses in the GetLocalAddressList procedure of the Indy library. For more information look at this issue. For the same reason, it is possible that your virtual IP address you are writing about also do not appear on this list and YTuner skip it.
Anyway, you can try to force them to be used in the ytuner.ini file. Worth a try. 👍

@coffeegreg coffeegreg added enhancement New feature or request question Further information is requested labels Nov 4, 2023
@TheBossME
Copy link
Author

TheBossME commented Nov 5, 2023

Hello Greg,

I have already tried that with the IP address in the .ini file. The problem is the following. The defined IP address in the .ini file is actually not the solution, because the IP address assigned via vrrp only becomes active when the service has already been started on the IP address found. This means that a trigger is required that restarts the service to address to the vrrp ip when it finds the new IP address. But honestly, who would build the setup with failover except me ? And yes, I am perverted in this. I'll think of it again. A temporary solution could be restarting the service every minute.

  • Improvement:
    Is there an easy way to make the service aware of changes to the stations.yaml without restarting the service cyclically ? But that would also be pure improvement, because you don't change the stations that often.

  • Maybe Issue:
    I'm browsing through the Radiostations directly on the avr and on the app. I've verified the content on radio-browser.info with that on the avr. It is very different. I have crosschecked with ycast (web-gui) which shows the stations.

  • Example: I didn't see stations while browsing "country=United States" didn't find any station in there.
    Is this working with your AVR's ?. found similar in other countries.

Gruß
Beatrice

@coffeegreg
Copy link
Owner

coffeegreg commented Nov 6, 2023

Hi Beatrice,

Yes, indeed, there was a bug in the code. Thank you for helping me find it. 👍 I just fixed it, but before I build the next release, I would like to add a few more features that you are writing about.
I don't know if I understood your improvement suggestion correctly. Is there an easy way to make the service aware of changes to the stations.yaml... Do you mean YTuner service? I can add auto checking for changes of the stations.ini/yaml/yml files and refreshing the content available to the AVR in the My Stations menu. This can work similarly to auto refreshing the content of the Radio-browser UUIDs cache file. Are you interested in this functionality?
I never thought about such functionality because I actually very rarely change the content of my stations.ini file. I use the AVR remote control more often and change the bookmark content. But of course, someone may want this functionality, so it's worth adding it.

The differences in the content of the station lists displayed in the AVR menu and what you can see by displaying the content of all stations available from api.radio-browser.info in the browser window result from the fact that YTuner filters the content using hidebroken=true and additionally omits the categories for which the condition RBMinStationsPerCategory=3 specified in the ytuner.ini file is not met. A similar feature is also used in milaq's YCast.

Regards
Greg

@coffeegreg coffeegreg added the bug Something isn't working label Nov 6, 2023
@TheBossME
Copy link
Author

Hi Greg,

yes you understand. I agree while changing of stations.yaml is not so much often. When ytuner application identify like you described, it could be helpful for users which are adding lovely Radiostations step by step (like I do).

Question: do,you think about building a Docker container in future ?, alpine Linux support is needed then (which actually isn't)

I, can help to build docker container with alpine Linux. I do not programming but I think there will be also a parameter in Pascal to have binaries which are compatible with alpine to build a very small container for amd64 and arm64 architecture which are the most used architecture actually.

One question: what hardware and operating systems are you using for your needs ?. I was a long time part of a big Automotive company in south of Germany and member of IT Management and work council.

Regards
Beatrice

@coffeegreg
Copy link
Owner

So I'll try to prepare automatic reload of the stations.ini/yaml/yml file as I wrote.
Why do you think you need Alpine Linux to run containerization? Because it's small?
Why do you think YTuner is not compatible with Alpine Linux? A Free Pascal compiler is also available for this Linux distribution.
Have you tried testing YTuner on Alpine Linux? What CPU arch? I have never used this Linux distribution, but it seems to me that there should be no problems with running YTuner on it. It is important that a CPU architecture is supported by the Free Pascal Compiler.
It would be great if you could join the project and make a tutorial about putting YTuner into Docker container. However, I am afraid that for this to make sense, I would have to add the ability to store additional files (bookmarks, optionally RB cache) outside the main YTuner directory.

I don't use anything special. A regular PC based on x86-64 platform with Win64. 💻

Regards
Greg

@TheBossME
Copy link
Author

TheBossME commented Nov 6, 2023

  1. i've tried the binary on alpine Linux without success. Keep in mind, it was different system libraries between Debians and Alpines Linuxes. It looks like Free Pascal needs added library support
  • 2. docker images are easy to install for dummies. And there are small isolated installations. In the last days at my time in the automotive company I began to bring our used Linux apps into small docker containers. Hope the guys are working forward on that without me. We've done this in fact of security issues and risks.
  1. I could join to your project, if you like.

Comments:
I was a visitor of a German Linux group and do support some of the people with their knowledge. Specially Proxmox and general most of the time general Linux usage. Homelabs and cloud services.

My life were filled with Windozes and I began long time ago to hate it, except the WSL implementation.

@coffeegreg
Copy link
Owner

Once I manage to implement your ideas in YTuner, I will create a VM with Alpine Linux and use its libraries to compile YTuner. I'll start with amd64 architecture. If it works, maybe arm and aarch64 later (base on my Raspberry Pi4).

I like your comments. 👍
I'm guessing you recently lost or changed your job. I know something about this. Don't worry, this is the time when you can devote yourself to developing your passions that you never had time for. Just like me. 😉

@TheBossME
Copy link
Author

Greg,
I have left my job at the Group, much to the regret of my colleagues and employees. It was a bit like my family and I wasn't the only one who felt that way. But now I have time to do the things that I couldn't do for years and that give me great pleasure today.

With regard to the problem with the radio stations, I have noticed that the radio stations could also be the problem of empty spaces as already mentioned in stations.yaml.
So, probably easy to solve. You will certainly report back.

I am pleased that my suggestions and error detection have apparently met with your approval. That makes me very happy.

I love Yamaha products. And I still have a C4/M4 and a C2/M2, but I won't be selling them on, even if I'm no longer using them. The DSP-Z7 has replaced them. Even in the stereo range, the DSP-Z7 is almost comparable in sound to the two power amplifiers and preamplifiers. Thanks to your ytuner program, more NETRADIO is currently being played again 😀

Good,evening
Beatrice

@coffeegreg
Copy link
Owner

Hi Beatrice,

I just added a new version v1.0.2. Please check if everything is working properly for you. Please note that there is a new version of the ytuner.ini file.

Regards
Greg

@TheBossME
Copy link
Author

👍🙏

First look done. Issue's i've reported are fixed.

Will check with vrrp again, keep,you updated.

Beatrice

@coffeegreg
Copy link
Owner

I think I can close this issue. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants