PhantomSDR Support Forum

General Category => PhantomSDR Software => Topic started by: Martin G8JNJ on Sep 23, 2024, 10:55 PM

Title: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 23, 2024, 10:55 PM
Hi All,

I've built up a Unbutu machine, installed Phantom SDR Plus, connected up a RX-888, performed a basic configuration and all seems OK.
 
I'd assumed it would start on boot, but this doesn't seem to be the case.
 
The configuration details on Github are sparse at best, and my Linux skills are limited, can anyone provide a bit more information to get me up and running ?

I've been trying to see if the rx888_stream and & spectrumserver processes are running, but they don't seem to be listed as services.

How do I start the websdr service, and get it to start again on an initial boot ?

Regards,

Martin
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 23, 2024, 11:16 PM
Hi, i saw that some people already did that. Maybe they can post it here otherwise ill send you the setup instructions myself asap.

Hope you enjoy the software so far!
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 09:36 AM
No response, so I think you may have to email me the information.

Once I get it running, I'll post the method for help to any others who may also be struggling.

I'm using a Gigabyte Brix AMD Celeron N2807 4G DDR 120G SSD running Ubuntu 22.04 with cuFFT and opencl installed.


My only "clues" so far are the following

Config as set.

config-rx888mk2.toml


fft_threads=2
brightness_offset=0 # Waterfall brightness offset. Reduce to negative if you se>
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="opencl" # Accelerator: none, cuda, opencl
audio_sps=44100 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=0

[input.driver]
name="stdin" # Driver name
format="s16" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=3645000 # Default frequency to show user
modulation="LSB" # Default modulation

Trying to run spectrumserver

wessex@phantom:~/PhantomSDR-Plus/build$ sudo ./spectrumserver
[sudo] password for wessex:


__                   __ __  __
|__)|_  _  _ |_ _  _ (_ |  \|__) _|_
|   | )(_|| )|_(_)|||__)|__/| \   |

Thank you for using PhantomSDR+, you are supporting the Development of an Open-Source WebSDR Project ♥
terminate called after throwing an instance of 'toml::v3::ex::parse_error'
  what():  File could not be opened for reading
Aborted


Regards,

Martin


Quote from: magicint1337 on Sep 23, 2024, 11:16 PMHi, i saw that some people already did that. Maybe they can post it here otherwise ill send you the setup instructions myself asap.

Hope you enjoy the software so far!
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 10:27 AM
Hi, try this config:

https://www.phantomsdr.fun/index.php?topic=43.0
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 24, 2024, 10:46 AM
Hi Martin,

A Celeron is made from Intel ;D

However, it will not run the RX888 very well as the CPU is far to weak.

It can not cope with the ammount of data.

You really need an I5 or I7, quad core at 2GHz or more.

Even the J4050 isn't strong enough, I have tested those, it won't work.

On Amazon you can find cheap refurbished HP Elitedesk machines for less then 200 euro that are more then powerfull enough.

Do not go for Ryzen, it has no OpenCL support for the IGU.

As for starting, there are *.sh scripts, make them exacutable and adjust them to your needs.
They contain everything to get you going.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 11:40 AM
Hi Bas,

OK, how do I make *.sh scripts executable, and which ones should I run for the RX888?

I've tried the methods I know, but without luck.

e.g.

chmod +x start-rx888mk2.sh


./start-rx888mk2.sh


root@phantom:/home/wessex/PhantomSDR-Plus# thread 'main' panicked at library/std/src/io/stdio.rs:1118:9:
failed printing to stdout: Broken pipe (os error 32)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace



Regards,

Martin

As for starting, there are *.sh scripts, make them exacutable and adjust them to your needs.
They contain everything to get you going.
[/quote]

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 11:42 AM
Yes understood, I had to use the AMD build of Ubuntu 22.04

Quote from: Bas ON5HB on Sep 24, 2024, 10:46 AMCeleron is made from Intel ;D


Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 11:48 AM
Hi Bas,

OK understood, I thought it would be good enough, but clearly not, what model or spec should I be looking for ?

I think it would be useful if preferred or known good machines / models were added to the Github list, and not just benchmarks, as this would allow standardised builds to be made more easily.

Regards,

Martin

Quote from: Bas ON5HB on Sep 24, 2024, 10:46 AMOn Amazon you can find cheap refurbished HP Elitedesk machines
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: John DF4UE on Sep 24, 2024, 12:10 PM
Hi Martin,

did you already try

sudo ./start-rx888mk2.sh    ?

Regards

John
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 12:21 PM
Hi John,

Thanks for the reply, but yes, I have tried all the variations I can think of.

See post #5 in this thread.

Regards,

Martin


Quote from: John DF4UE on Sep 24, 2024, 12:10 PMHi Martin,

did you already try

sudo ./start-rx888mk2.sh    ?

Regards

John
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 24, 2024, 12:54 PM
Turn off opencl in the toml file, looks like your opencl ins't working or not compiled in the code.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 24, 2024, 01:00 PM
Quote from: Martin G8JNJ on Sep 24, 2024, 11:48 AMOK understood, I thought it would be good enough, but clearly not, what model or spec should I be looking for ?

I think it would be useful if preferred or known good machines / models were added to the Github list, and not just benchmarks, as this would allow standardised builds to be made more easily.

It's impossible to make such a list as there are thousands of models and makes of systems.
Any modern i5 or i7 with with 4 real cores (or more) and 3GHz will do.

I myself use an Intel(R) Core(TM) i5-6500T CPU for my testing machine.

And my online websdr is an Intel(R) Core(TM) i5-7500 CPU.

These are already pretty old CPU's, but have enough power because of OpenCL that can be used.

Without opencl it will require a fast Ryzen CPU that costs many more to run it.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 01:14 PM
OK, I did that, a bit of progress, but...

As before, spectrumserver and rx888_stream don't seem to be recognised as services.

root@phantom:/home/wessex/PhantomSDR-Plus# ./start-rx888mk2.sh
spectrumserver: no process found
rx888_stream: no process found


Quote from: Bas ON5HB on Sep 24, 2024, 12:54 PMTurn off opencl in the toml file, looks like your opencl ins't working or not compiled in the code.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 24, 2024, 01:37 PM
That is not an error, it's just a kill-command to make sure there insn't anything running before you try to start it (again).

After it goes to the background, as you can see with 'top' command.

If you want to see output during running, then start it yourself like this:

./rx888_stream/target/release/rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 58000000 -g 60 -m low -r --pga -o - | build/spectrumserver --config config-rx888mk2.toml

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 03:28 PM

I'm trying, but sorry for me as a non-regular user of Linux type guy, you have to spell stuff out in full for me to be able to understand what commands are meant, and the use of Rust further complicates the matter. Although I'm vaguely familiar with some aspects of C and C++, Rust is new to me.

For example 

"kill-command to make sure there isn't anything running"

OK understood that bit


"before you try to start it (again)."

But what command(s) do I use to start it ? That's what I've been asking since the start of this thread. I just get told to start it - but, start what, and how ?


After it goes to the background, as you can see with 'top' command.

What background and what top command ?

I know I seem stupid, but don't assume what you are saying means the same to me, as it does to you, so please assume I am stupid.


I tried your script and got this response.

root@phantom:/home/wessex/PhantomSDR-Plus# ./rx888_stream/target/release/rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 58000000 -g 60 -m low -r --pga -o - | build/spectrumserver --config config-rx888mk2.toml

 __                   __ __  __
|__)|_  _  _ |_ _  _ (_ |  \|__) _|_
|   | )(_|| )|_(_)|||__)|__/| \   |

Thank you for using PhantomSDR+, you are supporting the Development of an Open-Source WebSDR Project ♥
thread 'main' panicked at src/main.rs:396:14:
Failed to resubmit transfer: Disconnected
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[2024-09-24 13:16:23] [info] asio listen error: system:98 (Address already in use)
[2024-09-24 13:16:23] [info] asio listen error: system:98 (Address already in use)
terminate called after throwing an instance of 'websocketpp::exception'
  what():  Underlying Transport Error
thread 'main' panicked at library/std/src/io/stdio.rs:1118:9:
failed printing to stdout: Broken pipe (os error 32)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted (core dumped)

Compact i5 6500 3GHz machine on order.

Regards,

Martin


Quote from: Bas ON5HB on Sep 24, 2024, 01:37 PMThat is not an error, it's just a kill-command to make sure there insn't anything running before you try to start it (again).





If you want to see output during running, then start it yourself like this:

./rx888_stream/target/release/rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 58000000 -g 60 -m low -r --pga -o - | build/spectrumserver --config config-rx888mk2.toml


Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 24, 2024, 03:39 PM
You start with ./start-rx888.sh but then the software is not outputting anything to the screen, as it's run in the background.

So if you want to run it in the forground, like I gave you an example, you must be sure it's killed else you get errors like port in use.

To stop all by hand, run ./stop-websdr and it kills all previous running instances.
You can edit these scripts with nano (very simple editor).

If linux is too hard for you, simple tool makes your life better: apt install mc
Then run 'mc' and you have a norton-commander-like tool.

Transport errors are normal, when people e.g. drop the page or internet is too slow or so.

To make all .sh scripts executable: chmod +x *.sh

The *.sh scripts are there to get you going and they are easy to read. Just like a batch-file but then linux-style ;)

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 06:49 PM
Hi Bas,

OK thanks.

I'm not trying to see the GUI on the machine itself, I'm either SSH'ing in to access the OS, or trying to view it on a separate machine and web browser. So I assume it is supposed to run as a background service, but is this correct, does it need to be run in the foreground for the webserver to run ? Once again, your interpretation of the terminology, and mine may differ.

I'm familiar with navigating around Linux, the basic commands and use of Nano. Although I sometimes use WinSCP to get a better visual idea of the directory structure.

The chmod +x *.sh has to be run as Sudo or SU to obtain the correct permissions.

I understand the .sh files and some of their content. But they only seem to kill processes rather than start any new ones.

Should the RX888 have a service running to stream data to PhantomSDR-Plus.

What about spectrumserver: no process found and rx888_stream: no process found. Should these be running as services and do they need to be started separately ? They don't seem to be identified if I list all the services.

This is undoubtably very easy if you use Linux on a daily basis, however for me, it is simply a means to an end, and although I'm happy to learn and understand what to do, it is like wading through treacle, especially with Linux as there are many ways to do the same thing, and everyone has their own preferred method, so it's not easy to mix and match suggestions from different people.

The simple solution would probably be for me to make port 22 available and then folks could have a poke around, but that wouldn't help me understand what I'm doing wrong.

As I said, if I do get it going, I intend to write an idiot's guide, at least for myself, if no one else.


Regards,

Martin

Quote from: Bas ON5HB on Sep 24, 2024, 03:39 PMYou start with ./start-rx888.sh but then the software is not outputting anything to the screen, as it's run in the background.

So if you want to run it in the forground, like I gave you an example, you must be sure it's killed else you get errors like port in use.

To stop all by hand, run ./stop-websdr and it kills all previous running instances.
You can edit these scripts with nano (very simple editor).

If linux is too hard for you, simple tool makes your life better: apt install mc
Then run 'mc' and you have a norton-commander-like tool.

Transport errors are normal, when people e.g. drop the page or internet is too slow or so.

To make all .sh scripts executable: chmod +x *.sh

The *.sh scripts are there to get you going and they are easy to read. Just like a batch-file but then linux-style ;)


Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 24, 2024, 08:06 PM
Martin,

Sorry I do not give SSH support.

You have to do it yourself and learn the stuff.

Else you will ask me to solve everything you encounter.

As for commands, I assume you run as root....else I assume you know what to do.

It took me as Linux-nerd several days to understand all of it, and many more to understand the code...sources.

All the scripts are there, easy to read....but I think the piping from the 'driver' to the 'server' causes problems for many.

As you need to instruct the driver (via the script) and change the TOML at the same time.

It is not that hard....you just look toooooooo far into it....the scripts are very simpel and must match the TOML.

Not much more too it. Sorry.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 08:40 PM
G8JNJ I think the errror you posted earlier is caused by multiple instances being started and the rx888 not being recognized. Please restart your machine and post the output of the command lsusb

PhantomSDR runs like a program, not a service. Think of it like a command line application on windows that would be minimized. I would try to do it like in the wiki that i wrote without using the scripts. That way you can see the output better.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 08:42 PM
https://github.com/Steven9101/PhantomSDR-Plus/wiki/Config-examples

Try this and post the output.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 10:39 PM


Hi Bas,

Please read my reply again, I was not asking for SSH support, as I wanted to learn for myself what was required.

Plus, thanks for the admission that, as someone who is proficient in Linux, it still took you sometime to figure out what was going on.

I agree that piping from the Driver to the Server is problematic, and it's not clear to me if the toml scripts are supposed to start all the required process up, or if they have to be done manually in some sort of pre-determined sequence, or if the should automatically start at boot or if some other intervention is required.

I don't know if you have heard of the game of Mao ?

The players of Mao don't tell you the rules, and you only find out when you break one. My experience of trying to get Linux based projects up and running is very much like that, you almost need to know the answer, before understanding what questions to ask.

I know this may seem like a rant, but I'm just simply trying to get the ***** thing up and running, which must be a path others have already taken, but there seem to be a lot of obstacles in my way, and from my perspective folks aren't really helping to clear them. They are just standing there saying "you need to move them" which I already know, and I'm trying my best to achieve.

Not a great analogy, but the best I could come up with :-)

Regards,

Martin


Quote from: Bas ON5HB on Sep 24, 2024, 08:06 PMMartin,

Sorry I do not give SSH support.

You have to do it yourself and learn the stuff.

Else you will ask me to solve everything you encounter.

As for commands, I assume you run as root....else I assume you know what to do.

It took me as Linux-nerd several days to understand all of it, and many more to understand the code...sources.

All the scripts are there, easy to read....but I think the piping from the 'driver' to the 'server' causes problems for many.

As you need to instruct the driver (via the script) and change the TOML at the same time.

It is not that hard....you just look toooooooo far into it....the scripts are very simpel and must match the TOML.

Not much more too it. Sorry.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 10:43 PM
 rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 64000000 -g 90 -m low -d --pga -o - | build/spectrumserver --config config.toml
bash: build/spectrumserver: No such file or directory
thread 'main' panicked at src/main.rs:216:59:
Could not open firmware file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace



Quote from: magicint1337 on Sep 24, 2024, 08:42 PMhttps://github.com/Steven9101/PhantomSDR-Plus/wiki/Config-examples

Try this and post the output.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 10:51 PM
After modifying the toml file as per the Configuration example.


root@phantom:/home/wessex# rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 64000000 -g 90 -m low -d --pga -o - | build/spectrumserver --config config.toml
bash: build/spectrumserver: No such file or directory
thread 'main' panicked at src/main.rs:214:10:
Could not find or open bootloader
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 10:57 PM
Still the same issue

root@phantom:/home/wessex/PhantomSDR-Plus# ./start-rx888mk2.sh
spectrumserver: no process found
rx888_stream: no process found
root@phantom:/home/wessex/PhantomSDR-Plus# thread 'main' panicked at src/main.rs                                             :214:10:
Could not find or open bootloader
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 11:01 PM
OK, so no device found.

root@phantom:/home/wessex/PhantomSDR-Plus# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 03f0:0024 HP, Inc KU-0316 Keyboard
Bus 001 Device 007: ID 0000:0538   USB OPTICAL MOUSE
Bus 001 Device 006: ID 13d3:3410 IMC Networks Bluetooth Radio
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


root@phantom:/home/wessex/PhantomSDR-Plus# ./stop-websdr.sh
rx_sdr: no process found
rx888_stream: no process found
rtl_sdr: no process found
Failed to stop sdrplay.service: Unit sdrplay.service not loaded.

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 11:15 PM
Yes the device has to be listed in lsusb otherwise you get the bootloader error.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 11:16 PM
For now it seems good as its only the bootloader error we just need to get the device to see in lsusb
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 24, 2024, 11:28 PM
Agreed, I assume I need a suitable Cypress USB FX3 driver from somewhere and then understand how to install it.


Quote from: magicint1337 on Sep 24, 2024, 11:16 PMFor now it seems good as its only the bootloader error we just need to get the device to see in lsusb
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 11:54 PM
The rx888_stream tool loads the driver but the device is not detected
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 24, 2024, 11:55 PM
Try different usb ports and double check all connections to the sdr
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 12:23 PM
Already done that several times, but I'm assuming it requires a manual Cypress driver install.

However, the new PC has just arrived, as per Bas's suggestion.

HP Elitedesk 800 G2 Mini PC i5-6500T 3.1Ghz 8GB RAM 240GB SSD

So I'll abandon the Gigabyte Brix, and spend the morning loading Ubuntu 22.04 and Phantom Web Plus onto it and see if I can make any further progress.

All of this is making the WEB-888 seem like a bargain, as the RX888 cooling modifications and the need for a higher spec (and physically larger) PC are all eating up my funds. I just hope the eventual outcome will be worth it.

Regards,

Martin


Quote from: magicint1337 on Sep 24, 2024, 11:55 PMTry different usb ports and double check all connections to the sdr
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: John DF4UE on Sep 25, 2024, 01:09 PM
Martin,
just a reminder:
install first opencl and than PhantomSDR. You should do the PhantomSDR installation as "root".

good luck

John
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 01:21 PM
OK, I have now got the basics running and lsusb reports the device as being present.

All installed as root. I have not installed opencl separately as I wasn't ware it was a prerequisite

I enabled and tried the various .sh files without luck then ran the https://github.com/Steven9101/PhantomSDR-Plus/wiki/Config-examples as suggested.

This was marginally more successful, but it gets stuck looking for the json marker file, and still no sign of the webservice running on the browser.

__                  __ __  __
|__)|_  _  _ |_ _  _ (_ |  \|__) _|_
|  | )(_|| )|_(_)|||__)|__/| \  |

Thank you for using PhantomSDR+, you are supporting the Development of an Open-Source WebSDR Project ♥
Unable to open marker.json file.
No FFTW wisdom file found. Planning from scratch. This may take long on the first time but will then be fast.
Waterfall is sent every 2 FFTs

Regards,

Martin
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 01:30 PM
clinfo reports

root@phantom:/home/wessex# clinfo
Number of platforms                               0
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 01:52 PM
After it says waterfall is sent every 2 ffts the website should be available on the port given in the config
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 01:52 PM
After installing opencl you have to reboot to get proper clinfo output
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 02:10 PM
OK some progress.

Tried installing OpenCL but even after several reboots Number of platforms 0

ran ./start-rx888mk2.sh

I can now see the web interface and tune to signals.

However, a signal on 198kHz is appearing on 211.22kHz the audio is choppy and agc seems to be pumping.

Should it all start automatically on reboot ? At the moment I'm having to manually do this.

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 02:21 PM
Can anyone point me to a list of the rx888_stream parameters ?

e.g.

-s
-g
-m
-p

ect. ?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 02:23 PM
Well reduce the sample rate to 48mhz for now to reduce the stuttering, if you get opencl working then you can do 64mhz (which means 32mhz)

The signal should not appear at the wrong location.

For the agc a future update which i will provide this weekend will fix it.

It wont start on boot for now, you have to create a custom service for this.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 02:31 PM
OK, I found the help file.


Usage: rx888_stream [OPTIONS] [COMMAND]

Commands:
  vhf   Accept from VHF input instead of HF input
  help  Print this message or the help of the given subcommand(s)

Options:
  -f, --firmware <FIRMWARE>        Firmware file to load
  -d, --dither                     Enable dithering
  -r, --randomize                  Enable randomization
  -s, --sample-rate <SAMPLE_RATE>  ADC sample rate [default: 50000000]
  -g, --gain <GAIN>                VGA gain setting 0-127 [default: 1]
  -m, --gain-mode <GAIN_MODE>      VGA gain mode high or low [default: high] [po                                             ssible values: high, low]
  -a, --attenuation <ATTENUATION>  Attenuator setting 0-63 [default: 0]
      --bias-hf                    HF Bias-T
      --bias-vhf                   VHF Bias-T
      --pga                        PGA enable
  -o, --output <OUTPUT>            Output file, "-" is stdout
      --measure                    Measurement mode, measures the ADC sample rat                                             e
  -h, --help                       Print help
  -V, --version                    Print version




Quote from: Martin G8JNJ on Sep 25, 2024, 02:21 PMCan anyone point me to a list of the rx888_stream parameters ?

e.g.

-s
-g
-m
-p

ect. ?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 02:32 PM
OK I'll try reducing the sample rate.


Quote from: magicint1337 on Sep 25, 2024, 02:23 PMWell reduce the sample rate to 48mhz for now to reduce the stuttering, if you get opencl working then you can do 64mhz (which means 32mhz)

The signal should not appear at the wrong location.

For the agc a future update which i will provide this weekend will fix it.

It wont start on boot for now, you have to create a custom service for this.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 02:40 PM
Do I change the sample rate in the .sh file or the .toml file of both ?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 02:51 PM
OK, OpenCL now installed

root@phantom:/home/wessex/PhantomSDR-Plus# clinfo -l
Platform #0: Intel(R) OpenCL HD Graphics
 `-- Device #0: Intel(R) HD Graphics 530 [0x1912]

What config parameters do I need to change ?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 03:29 PM
You can now connect (on a temporary basis) at http://g8jnj.zapto.org:8090

BBC R4 which should be on 198kHz is actually on 211.2kHz

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 03:33 PM
post your command and config file please
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 03:43 PM

Do you mean start-rx888mk2.sh

#!/bin/bash

killall -s 9 spectrumserver
killall -s 9 rx888_stream

RUST_BACKTRACE=1

rx888_stream -f ./rx888_stream/SDDC_FX3.img -s 60000000 -g 60 -m low -d --pga -o - | build/spectrumserver --config config-rx888mk2.toml > /dev/null 2>&1 &

exit


 & config-rx888mk2.toml



[server]
port=8090 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
threads=1



[websdr]
register_online=false # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="ChangeThis" # Name that is shown on https://sdr-list.xyz
antenna="ChangeThis" # Antenna that is shown on https://sdr-list.xyz
grid_locator="ChangeThis" # 4 or 6 length Grid Locatlr shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyz

[limits]
audio=100
waterfall=100
events=100

[input]
sps=64000000 # Input Sample Rate
fft_size=4194304 # FFT bins
brightness_offset=0 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
fft_threads=10 # FFT threads
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="none" # Accelerator: none, cuda, opencl
audio_sps=48000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=0

[input.driver]
name="stdin" # Driver name
format="s16" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=5505000 # Default frequency to show user
modulation="USB" # Default modulation


I note that Shannon Volmet on 5450kHz USB is actually appearing on 9554.22kHz, so I assume the sample rate or similar is incorrect, and I'm seeing aliases ?

I tried changing sample rates, but I either get errors and no webservice, or stuttering audio


Regards,

Martin

Quote from: magicint1337 on Sep 25, 2024, 03:33 PMpost your command and config file please
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 04:00 PM
try this

[server]
port=8090 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
threads=1



[websdr]
register_online=false # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="ChangeThis" # Name that is shown on https://sdr-list.xyz
antenna="ChangeThis" # Antenna that is shown on https://sdr-list.xyz
grid_locator="ChangeThis" # 4 or 6 length Grid Locatlr shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyz

[limits]
audio=100
waterfall=100
events=100

[input]
sps=60000000 # Input Sample Rate
fft_size=4194304 # FFT bins
brightness_offset=0 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
fft_threads=10 # FFT threads
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="none" # Accelerator: none, cuda, opencl
audio_sps=48000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=0

[input.driver]
name="stdin" # Driver name
format="s16" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=5505000 # Default frequency to show user
modulation="USB" # Default modulation
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 04:00 PM
Because the sample rate otherwise wont fit the command, if you change it in the command you also need to do it in the config as otherwise it stutters or misaligns.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 04:07 PM
To get OPenCL working else 60MSPS won't run smooth.

https://www.phantomsdr.fun/index.php?topic=7.0
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 04:10 PM
OK let me do that first.

Quote from: Bas ON5HB on Sep 25, 2024, 04:07 PMTo get OPenCL working else 60MSPS won't run smooth.

https://www.phantomsdr.fun/index.php?topic=7.0
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 04:12 PM
Yea, it will still run with 48mhz easily on the cpu tho.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 04:57 PM
So, OpenCL still doesn't seem to want to run, despite trying all the methods recommended in previous posts and link, and it saying that it is, it just pretends to be running.

-------------------


root@phantom:/home/wessex/PhantomSDR-Plus# clinfo -l
Platform #0: Intel(R) OpenCL Graphics
 `-- Device #0: Intel(R) HD Graphics 530

---------------------

But actually



intel-gpu-top: Intel Skylake (Gen9) @ /dev/dri/card0 -    0/   0 MHz; 100% RC6;  0.00/ 1.23 W;        0 irqs/s

      IMC reads:       53 MiB/s
     IMC writes:        1 MiB/s

         ENGINES     BUSY                                                                                   MI_SEMA MI_WAIT
       Render/3D    0.00% |                                                                               |      0%      0%
         Blitter    0.00% |                                                                               |      0%      0%
           Video    0.00% |                                                                               |      0%      0%
    VideoEnhance    0.00% |                                                                               |      0%      0%


----------------------------------------------

#!/bin/bash

killall -s 9 spectrumserver
killall -s 9 rx_sdr
killall -s 9 rx888_stream
killall -s 9 rtl_sdr

service sdrplay stop

sleep 2

exit

--------------------

[server]
port=8090 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
threads=1



[websdr]
register_online=false # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="ChangeThis" # Name that is shown on https://sdr-list.xyz
antenna="ChangeThis" # Antenna that is shown on https://sdr-list.xyz
grid_locator="ChangeThis" # 4 or 6 length Grid Locatlr shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyz

[limits]
audio=100
waterfall=100
events=100

[input]
sps=60000000 # Input Sample Rate
fft_size=4194304 # FFT bins
brightness_offset=0 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
fft_threads=10 # FFT threads
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="opencl" # Accelerator: none, cuda, opencl
audio_sps=48000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=0

[input.driver]
name="stdin" # Driver name
format="s16" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=5505000 # Default frequency to show user
modulation="USB" # Default modulation


-------------------

root@phantom:/home/wessex/PhantomSDR-Plus# ./start-rx888mk2.sh
spectrumserver: no process found
rx888_stream: no process found
root@phantom:/home/wessex/PhantomSDR-Plus# thread 'main' panicked at library/std/src/io/stdio.rs:1118:9:
failed printing to stdout: Broken pipe (os error 32)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

-----------------


This is nuts...
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 05:11 PM
Did you recompile PhantomSDR? As when you installed it, OpenCL wasn't installed en thus not compiled into the code.

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 05:14 PM
Looks like the path to OpenCL is missing

root@phantom:/home/wessex# ldconfig -p | grep OpenCL
        libOpenCL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenCL.so.1
        libOpenCL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenCL.so
        libOpenCL.so (libc6,x86-64) => /lib/libOpenCL.so

For the time being I have set the toml parameter to none

I'm currently feeding a 10MHz carrier into the RX-888 via a 10MHz BPF, but I'm not seeing any signal
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 05:15 PM
Yes all recompiled and rebooted etc.


Quote from: Bas ON5HB on Sep 25, 2024, 05:11 PMDid you recompile PhantomSDR? As when you installed it, OpenCL wasn't installed en thus not compiled into the code.


Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 05:21 PM
OK so that seemed to do the trick

Antenna now reconnected and frequencies correct.

OpenCL set to none.

Any ideas how to get the OpenCL path variable setup correctly ?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 05:22 PM
Mine looks a bit different, you have a line extra:

root@Websdr:~# ldconfig -p | grep OpenCL
   libOpenCL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenCL.so.1
   libOpenCL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenCL.so
root@Websdr:~#

When it check the directory:

root@Websdr:/lib/x86_64-linux-gnu# ls libOpenCL*
libOpenCL.so  libOpenCL.so.1  libOpenCL.so.1.0.0
root@Websdr:/lib/x86_64-linux-gnu#
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 05:31 PM
root@phantom:/lib/x86_64-linux-gnu# ls -l

The desired entry is there, with full permissions

lrwxrwxrwx  1 root root        18 Sep 30  2021 libOpenCL.so -> libOpenCL.so.1.0.0

So why can't it be found ?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 05:39 PM
Ok, try this....in the Phantomdir:

meson --wipe build

Does it show these near the bottom of the output?

Run-time dependency opencl found: YES 3.0
Run-time dependency clfft found: YES 2.12.2

If yes, run this:

meson --reconfigure build

meson compile -C build

Does the compiler finish without errors, I mean without OpenCL linker errors.

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 05:54 PM
root@phantom:/home/wessex/PhantomSDR-Plus# meson --wipe build
The Meson build system
Version: 0.61.2
Source dir: /home/wessex/PhantomSDR-Plus
Build dir: /home/wessex/PhantomSDR-Plus/build
Build type: native build
Project name: spectrumdistributor
Project version: undefined
C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
C++ linker for the host machine: c++ ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
meson.build:13: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
meson.build:13: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
meson.build:13: WARNING: Consider using the built-in warning_level option instead of using "-Wextra".
Run-time dependency threads found: YES
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency fftw3f found: YES 3.3.8
Library fftw3f_omp found: YES
Run-time dependency OpenMP found: YES 4.5
Run-time dependency Boost (found: iostreams, system) found: YES 1.74.0 (/usr)
Found CMake: /usr/bin/cmake (3.22.1)
Run-time dependency glaze found: NO (tried pkgconfig and cmake)

Executing subproject glaze method cmake

glaze| Found CMake: /usr/bin/cmake (3.22.1)

| Configuring the build directory with CMake version 3.22.1
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local
|   - build directory:          /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/__CMake_build
|   - source directory:         /home/wessex/PhantomSDR-Plus/subprojects/glaze
|   - toolchain file:           /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/__CMake_build/CMakeMesonToolchainFile.cmake
|   - preload file:             /home/wessex/PhantomSDR-Plus/build/meson-private/data/preload.cmake
|   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
|   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]

| Running with expanded trace output on.
| Not searching for unused variables given on the command line.
| Trace will be written to cmake_trace.txt
| -- The CXX compiler identification is GNU 11.4.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /usr/bin/c++ - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Fetching dependencies...
| -- ...finished fetching dependencies.
| -- The C compiler identification is GNU 11.4.0
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Check for working C compiler: /usr/bin/cc - skipped
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Configuring done
| -- Generating done
| -- Build files have been written to: /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/__CMake_build

glaze| CMake configuration: SUCCEEDED
glaze| WARNING: CMake: path /home/wessex/PhantomSDR-Plus/subprojects/glaze/tests/asio_repe/server/include does not exist.
glaze| WARNING:  --> Ignoring. This can lead to build errors.
glaze| WARNING: CMake: path /home/wessex/PhantomSDR-Plus/subprojects/glaze/tests/asio_repe/client/include does not exist.
glaze| WARNING:  --> Ignoring. This can lead to build errors.
glaze| CMake project glaze has 52 build targets.

cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/meson.build

glaze| Project name: glaze
glaze| Project version: undefined
glaze| C compiler for the host machine: cc (gcc 11.4.0 "cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
glaze| C linker for the host machine: cc ld.bfd 2.38
glaze| C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
glaze| C++ linker for the host machine: c++ ld.bfd 2.38
glaze| Build targets in project: 47
glaze| Subproject glaze finished.


Library liquid found: YES
Run-time dependency libzstd found: YES 1.4.8
Run-time dependency flac++ found: YES 1.3.3
Run-time dependency aom found: NO (tried pkgconfig and cmake)
Run-time dependency opus found: YES 1.3.1
Run-time dependency zlib found: YES 1.2.11

Executing subproject websocketpp

websocketpp| Project name: websocketpp
websocketpp| Project version: 0.8.2
websocketpp| C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
websocketpp| C++ linker for the host machine: c++ ld.bfd 2.38
websocketpp| Build targets in project: 47
websocketpp| Subproject websocketpp finished.

Run-time dependency tomlplusplus found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency tomlplusplus

Executing subproject tomlplusplus

tomlplusplus| Project name: tomlplusplus
tomlplusplus| Project version: 3.4.0
tomlplusplus| C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
tomlplusplus| C++ linker for the host machine: c++ ld.bfd 2.38
tomlplusplus| Message: target cpu_family: x86_64
tomlplusplus| Message: target cpu: x86_64
tomlplusplus| Message: target system: linux
tomlplusplus| Message: target endian: little
tomlplusplus| Compiler for C++ supports arguments -ferror-limit=5: NO
tomlplusplus| Compiler for C++ supports arguments -fmax-errors=5: YES
tomlplusplus| Compiler for C++ supports arguments -Wno-unused-command-line-argument: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-reserved-macro-identifier: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-init-list-lifetime: YES
tomlplusplus| Compiler for C++ supports arguments -fchar8_t: YES
tomlplusplus| Compiler for C++ supports arguments /bigobj: NO
tomlplusplus| Compiler for C++ supports arguments /Gy: NO
tomlplusplus| Compiler for C++ supports arguments /GF: NO
tomlplusplus| Compiler for C++ supports arguments /openmp-: NO
tomlplusplus| Compiler for C++ supports arguments /permissive-: NO
tomlplusplus| Compiler for C++ supports arguments /utf-8: NO
tomlplusplus| Compiler for C++ supports arguments /volatile:iso: NO
tomlplusplus| Compiler for C++ supports arguments /Zc:__cplusplus: NO
tomlplusplus| Compiler for C++ supports arguments /Zc:inline: NO
tomlplusplus| Compiler for C++ supports arguments /Zc:externConstexpr: NO
tomlplusplus| Compiler for C++ supports arguments /Zc:preprocessor: NO
tomlplusplus| Compiler for C++ supports arguments /Zc:throwingNew: NO
tomlplusplus| Compiler for C++ supports arguments -D_HAS_EXCEPTIONS=1: YES
tomlplusplus| Compiler for C++ supports arguments -Wno-c++98-compat: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-c++98-compat-pedantic: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-documentation: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-documentation-unknown-command: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-switch-enum: YES
tomlplusplus| Compiler for C++ supports arguments -Wno-covered-switch-default: NO
tomlplusplus| Compiler for C++ supports arguments -Wno-padded: YES
tomlplusplus| Compiler for C++ supports arguments -Wno-float-equal: YES
tomlplusplus| Compiler for C++ supports arguments -DTOML_HEADER_ONLY=0: YES
tomlplusplus| Compiler for C++ supports arguments -DTOML_SHARED_LIB=1: YES
tomlplusplus| Build targets in project: 48
tomlplusplus| Subproject tomlplusplus finished.

Dependency tomlplusplus found: YES 3.4.0 (overridden)
Run-time dependency CUDA (modules: cudart) found: NO (tried system)
Run-time dependency cufft found: NO (tried pkgconfig and cmake)
Run-time dependency opencl found: YES 3.0
Run-time dependency clfft found: YES 2.12.2
Library stdc++fs found: YES
Run-time dependency libcurl found: YES 7.81.0
Compiler for language cuda for the build machine not found.
Compiler for language cuda for the host machine not found.
Build targets in project: 49

spectrumdistributor undefined

  Subprojects
    glaze       : YES
    tomlplusplus: YES
    websocketpp : YES

  User defined options
    optimization: 3

Found ninja-1.10.1 at /usr/bin/ninja
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 05:57 PM
root@phantom:/home/wessex/PhantomSDR-Plus# meson --reconfigure build
The Meson build system
Version: 0.61.2
Source dir: /home/wessex/PhantomSDR-Plus
Build dir: /home/wessex/PhantomSDR-Plus/build
Build type: native build
Project name: spectrumdistributor
Project version: undefined
C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
C++ linker for the host machine: c++ ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
meson.build:13: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
meson.build:13: WARNING: Consider using the built-in warning_level option instead of using "-Wall".
meson.build:13: WARNING: Consider using the built-in warning_level option instead of using "-Wextra".
Dependency threads found: YES unknown (cached)
Dependency fftw3f found: YES 3.3.8 (cached)
Library fftw3f_omp found: YES
Dependency openmp found: YES 4.5 (cached)
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency Boost (found: iostreams, system) found: YES 1.74.0 (/usr)
Found CMake: /usr/bin/cmake (3.22.1)
Run-time dependency glaze found: NO (tried pkgconfig and cmake)

Executing subproject glaze method cmake

glaze| Found CMake: /usr/bin/cmake (3.22.1)

| Configuring the build directory with CMake version 3.22.1
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local
|   - build directory:          /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/__CMake_build
|   - source directory:         /home/wessex/PhantomSDR-Plus/subprojects/glaze
|   - toolchain file:           /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/__CMake_build/CMakeMesonToolchainFile.cmake
|   - preload file:             /home/wessex/PhantomSDR-Plus/build/meson-private/data/preload.cmake
|   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
|   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]

| Running with expanded trace output on.
| Not searching for unused variables given on the command line.
| Trace will be written to cmake_trace.txt
| -- The CXX compiler identification is GNU 11.4.0
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Check for working CXX compiler: /usr/bin/c++ - skipped
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Fetching dependencies...
| -- ...finished fetching dependencies.
| -- The C compiler identification is GNU 11.4.0
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Check for working C compiler: /usr/bin/cc - skipped
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Configuring done
| -- Generating done
| -- Build files have been written to: /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/__CMake_build

glaze| CMake configuration: SUCCEEDED
glaze| WARNING: CMake: path /home/wessex/PhantomSDR-Plus/subprojects/glaze/tests/asio_repe/server/include does not exist.
glaze| WARNING:  --> Ignoring. This can lead to build errors.
glaze| WARNING: CMake: path /home/wessex/PhantomSDR-Plus/subprojects/glaze/tests/asio_repe/client/include does not exist.
glaze| WARNING:  --> Ignoring. This can lead to build errors.
glaze| CMake project glaze has 52 build targets.

cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/wessex/PhantomSDR-Plus/build/subprojects/glaze/meson.build

glaze| Project name: glaze
glaze| Project version: undefined
glaze| C compiler for the host machine: cc (gcc 11.4.0 "cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
glaze| C linker for the host machine: cc ld.bfd 2.38
glaze| C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
glaze| C++ linker for the host machine: c++ ld.bfd 2.38
glaze| Build targets in project: 47
glaze| Subproject glaze finished.


Library liquid found: YES
Dependency libzstd found: YES 1.4.8 (cached)
Dependency flac++ found: YES 1.3.3 (cached)
Run-time dependency aom found: NO (tried pkgconfig and cmake)
Dependency opus found: YES 1.3.1 (cached)
Dependency zlib found: YES 1.2.11 (cached)

Executing subproject websocketpp

websocketpp| Project name: websocketpp
websocketpp| Project version: 0.8.2
websocketpp| C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
websocketpp| C++ linker for the host machine: c++ ld.bfd 2.38
websocketpp| Build targets in project: 47
websocketpp| Subproject websocketpp finished.

Run-time dependency tomlplusplus found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency tomlplusplus

Executing subproject tomlplusplus

tomlplusplus| Project name: tomlplusplus
tomlplusplus| Project version: 3.4.0
tomlplusplus| C++ compiler for the host machine: c++ (gcc 11.4.0 "c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0")
tomlplusplus| C++ linker for the host machine: c++ ld.bfd 2.38
tomlplusplus| Message: target cpu_family: x86_64
tomlplusplus| Message: target cpu: x86_64
tomlplusplus| Message: target system: linux
tomlplusplus| Message: target endian: little
tomlplusplus| Compiler for C++ supports arguments -ferror-limit=5: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -fmax-errors=5: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-unused-command-line-argument: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-reserved-macro-identifier: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-init-list-lifetime: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -fchar8_t: YES (cached)
tomlplusplus| Compiler for C++ supports arguments /bigobj: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /Gy: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /GF: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /openmp-: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /permissive-: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /utf-8: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /volatile:iso: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /Zc:__cplusplus: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /Zc:inline: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /Zc:externConstexpr: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /Zc:preprocessor: NO (cached)
tomlplusplus| Compiler for C++ supports arguments /Zc:throwingNew: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -D_HAS_EXCEPTIONS=1: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-c++98-compat: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-c++98-compat-pedantic: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-documentation: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-documentation-unknown-command: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-switch-enum: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-covered-switch-default: NO (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-padded: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -Wno-float-equal: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -DTOML_HEADER_ONLY=0: YES (cached)
tomlplusplus| Compiler for C++ supports arguments -DTOML_SHARED_LIB=1: YES (cached)
tomlplusplus| Build targets in project: 48
tomlplusplus| Subproject tomlplusplus finished.

Dependency tomlplusplus found: YES 3.4.0 (overridden)
Run-time dependency CUDA (modules: cudart) found: NO (tried system)
Run-time dependency cufft found: NO (tried pkgconfig and cmake)
Dependency OpenCL found: YES 3.0 (cached)
Dependency clFFT found: YES 2.12.2 (cached)
Library stdc++fs found: YES
Dependency libcurl found: YES 7.81.0 (cached)
Compiler for language cuda for the build machine not found.
Compiler for language cuda for the host machine not found.
Build targets in project: 49

spectrumdistributor undefined

  Subprojects
    glaze       : YES
    tomlplusplus: YES
    websocketpp : YES

  User defined options
    optimization: 3
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:03 PM
Lots of warnings, but it gets worse towards the end


root@phantom:/home/wessex/PhantomSDR-Plus# meson compile -C build
ninja: Entering directory `/home/wessex/PhantomSDR-Plus/build'
[1/21] Compiling C++ object spectrumserver.p/src_samplereader.cpp.o
../src/samplereader.cpp: In function 'void convert(float*, T_signed*, float, siz                                    e_t)':
../src/samplereader.cpp:29:5: warning: attributes at the beginning of statement                                      are ignored [-Wattributes]
  29 |    [[assume(num > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
[2/21] Compiling C++ object spectrumserver.p/src_client.cpp.o
In file included from ../src/client.cpp:1:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
[4/21] Compiling C++ object spectrumserver.p/src_fft.cpp.o
In file included from ../src/spectrumserver.h:13,
                from ../src/fft.cpp:2:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/spectrumserver.h:16,
                from ../src/fft.cpp:2:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
In file included from ../src/spectrumserver.h:17,
                from ../src/fft.cpp:2:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
In file included from ../src/spectrumserver.h:19,
                from ../src/fft.cpp:2:
../src/chat.h:11:7: warning: base class 'class Client' has accessible non-virtua                                    l destructor [-Wnon-virtual-dtor]
  11 | class ChatClient : public Client {
      |      ^~~~~~~~~~
../src/fft.cpp: In member function 'void broadcast_server::fft_task()':
../src/fft.cpp:48:10: warning: variable 'prev_data' set but not used [-Wunused-b                                    ut-set-variable]
  48 |    auto prev_data = std::chrono::steady_clock::now();
      |          ^~~~~~~~~
[7/21] Compiling C++ object spectrumserver.p/src_http.cpp.o
In file included from ../src/spectrumserver.h:13,
                from ../src/http.cpp:2:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/spectrumserver.h:16,
                from ../src/http.cpp:2:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
In file included from ../src/spectrumserver.h:17,
                from ../src/http.cpp:2:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
In file included from ../src/spectrumserver.h:19,
                from ../src/http.cpp:2:
../src/chat.h:11:7: warning: base class 'class Client' has accessible non-virtua                                    l destructor [-Wnon-virtual-dtor]
  11 | class ChatClient : public Client {
      |      ^~~~~~~~~~
[8/21] Compiling C++ object spectrumserver.p/src_waterfall.cpp.o
In file included from ../src/waterfall.h:4,
                from ../src/waterfall.cpp:3:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/waterfall.cpp:3:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
[9/21] Compiling C++ object spectrumserver.p/src_signal.cpp.o
In file included from ../src/audio.h:20,
                from ../src/signal.h:4,
                from ../src/signal.cpp:5:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/signal.cpp:5:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
[10/21] Compiling C++ object spectrumserver.p/src_audio.cpp.o
In file included from ../src/audio.h:20,
                from ../src/audio.cpp:1:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
[11/21] Compiling C++ object spectrumserver.p/src_utils_dsp.cpp.o
../src/utils/dsp.cpp: In function 'void dsp_negate_float(float*, size_t)':
../src/utils/dsp.cpp:78:5: warning: attributes at the beginning of statement are                                      ignored [-Wattributes]
  78 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
../src/utils/dsp.cpp: In function 'void dsp_negate_complex(std::complex<float>*,                                      size_t)':
../src/utils/dsp.cpp:86:5: warning: attributes at the beginning of statement are                                      ignored [-Wattributes]
  86 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
../src/utils/dsp.cpp: In function 'void dsp_add_float(float*, float*, size_t)':
../src/utils/dsp.cpp:95:5: warning: attributes at the beginning of statement are                                      ignored [-Wattributes]
  95 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
../src/utils/dsp.cpp: In function 'void dsp_add_complex(std::complex<float>*, st                                    d::complex<float>*, size_t)':
../src/utils/dsp.cpp:105:5: warning: attributes at the beginning of statement ar                                    e ignored [-Wattributes]
  105 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
../src/utils/dsp.cpp: In function 'void dsp_am_demod(std::complex<float>*, float                                    *, size_t)':
../src/utils/dsp.cpp:118:5: warning: attributes at the beginning of statement ar                                    e ignored [-Wattributes]
  118 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
../src/utils/dsp.cpp: In function 'void dsp_float_to_int16(float*, int32_t*, flo                                    at, size_t)':
../src/utils/dsp.cpp:154:5: warning: attributes at the beginning of statement ar                                    e ignored [-Wattributes]
  154 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
../src/utils/dsp.cpp:157:9: warning: unused variable 'minimum' [-Wunused-variabl                                    e]
  157 |    int minimum = 32767;
      |        ^~~~~~~
../src/utils/dsp.cpp:158:9: warning: unused variable 'maximum' [-Wunused-variabl                                    e]
  158 |    int maximum = -32768;
      |        ^~~~~~~
../src/utils/dsp.cpp: In function 'void dsp_float_to_int8(float*, int32_t*, floa                                    t, size_t)':
../src/utils/dsp.cpp:168:5: warning: attributes at the beginning of statement ar                                    e ignored [-Wattributes]
  168 |    [[assume(len > 0)]];
      |    ^~~~~~~~~~~~~~~~~~~
[13/21] Compiling C++ object spectrumserver.p/src_waterfallcompression.cpp.o
In file included from ../src/waterfallcompression.h:4,
                from ../src/waterfallcompression.cpp:1:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
[15/21] Compiling C++ object spectrumserver.p/src_fft_impl.cpp.o
../src/fft_impl.cpp: In member function 'virtual int FFTW::execute()':
../src/fft_impl.cpp:151:9: warning: unused variable 'normalize' [-Wunused-variab                                    le]
  151 |    int normalize = size;
      |        ^~~~~~~~~
[16/21] Compiling C++ object spectrumserver.p/src_websocket.cpp.o
In file included from ../src/websocket.cpp:1:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/websocket.cpp:2:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
In file included from ../src/spectrumserver.h:17,
                from ../src/websocket.cpp:3:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
In file included from ../src/spectrumserver.h:19,
                from ../src/websocket.cpp:3:
../src/chat.h:11:7: warning: base class 'class Client' has accessible non-virtua                                    l destructor [-Wnon-virtual-dtor]
  11 | class ChatClient : public Client {
      |      ^~~~~~~~~~
../src/websocket.cpp: In member function 'void broadcast_server::on_open_signal(                                    websocketpp::connection_hdl, conn_type)':
../src/websocket.cpp:138:49: warning: unused parameter 'signal_type' [-Wunused-p                                    arameter]
  138 |                                      conn_type signal_type) {
      |                                      ~~~~~~~~~~^~~~~~~~~~~
[17/21] Compiling C++ object spectrumserver.p/src_events.cpp.o
In file included from ../src/spectrumserver.h:13,
                from ../src/events.cpp:1:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/spectrumserver.h:16,
                from ../src/events.cpp:1:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
In file included from ../src/spectrumserver.h:17,
                from ../src/events.cpp:1:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
In file included from ../src/spectrumserver.h:19,
                from ../src/events.cpp:1:
../src/chat.h:11:7: warning: base class 'class Client' has accessible non-virtua                                    l destructor [-Wnon-virtual-dtor]
  11 | class ChatClient : public Client {
      |      ^~~~~~~~~~
[19/21] Compiling C++ object spectrumserver.p/src_chat.cpp.o
In file included from ../src/spectrumserver.h:13,
                from ../src/chat.cpp:2:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/spectrumserver.h:16,
                from ../src/chat.cpp:2:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
In file included from ../src/spectrumserver.h:17,
                from ../src/chat.cpp:2:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
In file included from ../src/spectrumserver.h:19,
                from ../src/chat.cpp:2:
../src/chat.h:11:7: warning: base class 'class Client' has accessible non-virtua                                    l destructor [-Wnon-virtual-dtor]
  11 | class ChatClient : public Client {
      |      ^~~~~~~~~~
../src/chat.cpp: In member function 'virtual void ChatClient::on_chat_message(we                                    bsocketpp::connection_hdl, std::string&, std::string&)':
../src/chat.cpp:84:49: warning: unused parameter 'sender_hdl' [-Wunused-paramete                                    r]
  84 | void ChatClient::on_chat_message(connection_hdl sender_hdl, std::string&                                      username, std::string& message) {
      |                                  ~~~~~~~~~~~~~~~^~~~~~~~~~
[20/21] Compiling C++ object spectrumserver.p/src_spectrumserver.cpp.o
In file included from ../src/spectrumserver.h:13,
                from ../src/spectrumserver.cpp:1:
../src/client.h:90:7: warning: 'class Client' has virtual functions and accessib                                    le non-virtual destructor [-Wnon-virtual-dtor]
  90 | class Client {
      |      ^~~~~~
In file included from ../src/spectrumserver.h:16,
                from ../src/spectrumserver.cpp:1:
../src/signal.h:58:7: warning: base class 'class Client' has accessible non-virt                                    ual destructor [-Wnon-virtual-dtor]
  58 | class AudioClient : public Client {
      |      ^~~~~~~~~~~
In file included from ../src/spectrumserver.h:17,
                from ../src/spectrumserver.cpp:1:
../src/waterfall.h:11:7: warning: base class 'class Client' has accessible non-v                                    irtual destructor [-Wnon-virtual-dtor]
  11 | class WaterfallClient : public Client {
      |      ^~~~~~~~~~~~~~~
In file included from ../src/spectrumserver.h:19,
                from ../src/spectrumserver.cpp:1:
../src/chat.h:11:7: warning: base class 'class Client' has accessible non-virtua                                    l destructor [-Wnon-virtual-dtor]
  11 | class ChatClient : public Client {
      |      ^~~~~~~~~~
../src/spectrumserver.cpp: In function 'int main(int, char**)':
../src/spectrumserver.cpp:471:12: warning: ignoring return value of 'FILE* freop                                    en(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result                                    ' [-Wunused-result]
  471 |    freopen(NULL, "rb", stdin);
      |    ~~~~~~~^~~~~~~~~~~~~~~~~~~
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:05 PM
[21/21] Linking target spectrumserver
FAILED: spectrumserver
c++  -o spectrumserver spectrumserver.p/src_spectrumserver.cpp.o spectrumserver.p/src_samplereader.cpp.o spectrumserver.p/src_websocket.cpp.o spectrumserver.p/src_http.cpp.o spectrumserver.p/src_fft.cpp.o spectrumserver.p/src_client.cpp.o spectrumserver.p/src_signal.cpp.o spectrumserver.p/src_waterfall.cpp.o spectrumserver.p/src_events.cpp.o spectrumserver.p/src_audio.cpp.o spectrumserver.p/src_chat.cpp.o spectrumserver.p/src_waterfallcompression.cpp.o spectrumserver.p/src_utils_dsp.cpp.o spectrumserver.p/src_utils_audioprocessing.cpp.o spectrumserver.p/src_fft_impl.cpp.o spectrumserver.p/src_utils.cpp.o spectrumserver.p/src_compression.cpp.o -Wl,--as-needed -Wl,--no-undefined '-Wl,-rpath,$ORIGIN/subprojects/tomlplusplus-3.4.0/src' -Wl,-rpath-link,/home/wessex/PhantomSDR-Plus/build/subprojects/tomlplusplus-3.4.0/src -Wl,--start-group subprojects/tomlplusplus-3.4.0/src/libtomlplusplus.so.3.4.0 -lstdc++fs -pthread /usr/lib/x86_64-linux-gnu/libfftw3f.so -lfftw3f_omp -fopenmp /usr/lib/x86_64-linux-gnu/libOpenCL.so /usr/lib/x86_64-linux-gnu/libclFFT.so /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.74.0 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.74.0 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libzstd.so /usr/lib/x86_64-linux-gnu/libFLAC++.so /usr/lib/x86_64-linux-gnu/libFLAC.so /usr/lib/x86_64-linux-gnu/libopus.so /usr/lib/x86_64-linux-gnu/libz.so -lliquid /usr/lib/x86_64-linux-gnu/libcurl.so -lstdc++ -Wl,--end-group
/usr/bin/ld: warning: libOpenCL.so.1, needed by /usr/lib/x86_64-linux-gnu/libclFFT.so, not found (try using -rpath or -rpath-link)
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:06 PM
/usr/bin/ld: spectrumserver.p/src_spectrumserver.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: spectrumserver.p/src_spectrumserver.cpp.o: in function `cl::detail::ReferenceHandler<_cl_context*>::release(_cl_context*)':
/usr/include/CL/opencl.hpp:1715: undefined reference to `clReleaseContext'
/usr/bin/ld: spectrumserver.p/src_spectrumserver.cpp.o: in function `cl::detail::ReferenceHandler<_cl_device_id*>::release(_cl_device_id*)':
/usr/include/CL/opencl.hpp:1680: undefined reference to `clReleaseDevice'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o:/usr/include/CL/opencl.hpp:1733: more undefined references to `clReleaseMemObject' follow
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:06 PM

/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_kernel*>::release(_cl_kernel*)':
/usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_program*>::release(_cl_program*)':
/usr/include/CL/opencl.hpp:1751: undefined reference to `clReleaseProgram'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_context*>::release(_cl_context*)':
/usr/include/CL/opencl.hpp:1715: undefined reference to `clReleaseContext'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_device_id*>::release(_cl_device_id*)':
/usr/include/CL/opencl.hpp:1680: undefined reference to `clReleaseDevice'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueMapBuffer(cl::Buffer const&, unsigned int, unsigned long, unsigned long, unsigned long, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*, int*) const':
/usr/include/CL/opencl.hpp:8109: undefined reference to `clEnqueueMapBuffer'
/usr/bin/ld: /usr/include/CL/opencl.hpp:8109: undefined reference to `clEnqueueMapBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueMapBuffer(cl::Buffer const&, unsigned int, unsigned long, unsigned long, unsigned long, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*, int*) const':
/usr/include/CL/opencl.hpp:8109: undefined reference to `clEnqueueMapBuffer'
/usr/bin/ld: /usr/include/CL/opencl.hpp:8109: undefined reference to `clEnqueueMapBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::retain(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1722: undefined reference to `clRetainCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<cl::Buffer>::value, int>::type cl::Kernel::setArg<cl::Buffer>(unsigned int, cl::Buffer const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<float>::value, int>::type cl::Kernel::setArg<float>(unsigned int, float const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<int>::value, int>::type cl::Kernel::setArg<int>(unsigned int, int const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o:/usr/include/CL/opencl.hpp:6093: more undefined references to `clSetKernelArg' follow
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueNDRangeKernel(cl::Kernel const&, cl::NDRange const&, cl::NDRange const&, cl::NDRange const&, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*) const':
/usr/include/CL/opencl.hpp:8570: undefined reference to `clEnqueueNDRangeKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_event*>::release(_cl_event*)':
/usr/include/CL/opencl.hpp:1769: undefined reference to `clReleaseEvent'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1769: undefined reference to `clReleaseEvent'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::retain(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1722: undefined reference to `clRetainCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<cl::Buffer>::value, int>::type cl::Kernel::setArg<cl::Buffer>(unsigned int, cl::Buffer const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<int>::value, int>::type cl::Kernel::setArg<int>(unsigned int, int const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o:/usr/include/CL/opencl.hpp:6093: more undefined references to `clSetKernelArg' follow
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueNDRangeKernel(cl::Kernel const&, cl::NDRange const&, cl::NDRange const&, cl::NDRange const&, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*) const':
/usr/include/CL/opencl.hpp:8570: undefined reference to `clEnqueueNDRangeKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_event*>::release(_cl_event*)':
/usr/include/CL/opencl.hpp:1769: undefined reference to `clReleaseEvent'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1769: undefined reference to `clReleaseEvent'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueReadBuffer(cl::Buffer const&, unsigned int, unsigned long, unsigned long, void*, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*) const':
/usr/include/CL/opencl.hpp:7619: undefined reference to `clEnqueueReadBuffer'
/usr/bin/ld: /usr/include/CL/opencl.hpp:7619: undefined reference to `clEnqueueReadBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::finish() const':
/usr/include/CL/opencl.hpp:8817: undefined reference to `clFinish'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::retain(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1722: undefined reference to `clRetainCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<cl::Buffer>::value, int>::type cl::Kernel::setArg<cl::Buffer>(unsigned int, cl::Buffer const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: /usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<float>::value, int>::type cl::Kernel::setArg<float>(unsigned int, float const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `std::enable_if<!std::is_pointer<int>::value, int>::type cl::Kernel::setArg<int>(unsigned int, int const&)':
/usr/include/CL/opencl.hpp:6093: undefined reference to `clSetKernelArg'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o:/usr/include/CL/opencl.hpp:6093: more undefined references to `clSetKernelArg' follow
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueNDRangeKernel(cl::Kernel const&, cl::NDRange const&, cl::NDRange const&, cl::NDRange const&, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*) const':
/usr/include/CL/opencl.hpp:8570: undefined reference to `clEnqueueNDRangeKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_event*>::release(_cl_event*)':
/usr/include/CL/opencl.hpp:1769: undefined reference to `clReleaseEvent'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1769: undefined reference to `clReleaseEvent'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Platform::get(std::vector<cl::Platform, std::allocator<cl::Platform> >*)':
/usr/include/CL/opencl.hpp:2715: undefined reference to `clGetPlatformIDs'
/usr/bin/ld: /usr/include/CL/opencl.hpp:2721: undefined reference to `clGetPlatformIDs'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::GetInfoFunctor0<int (*)(_cl_platform_id*, unsigned int, unsigned long, void*, unsigned long*), _cl_platform_id*>::operator()(unsigned int, unsigned long, void*, unsigned long*)':
/usr/include/CL/opencl.hpp:1619: undefined reference to `clGetPlatformInfo'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Platform::getDevices(unsigned long, std::vector<cl::Device, std::allocator<cl::Device> >*) const':
/usr/include/CL/opencl.hpp:2584: undefined reference to `clGetDeviceIDs'
/usr/bin/ld: /usr/include/CL/opencl.hpp:2591: undefined reference to `clGetDeviceIDs'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_device_id*>::release(_cl_device_id*)':
/usr/include/CL/opencl.hpp:1680: undefined reference to `clReleaseDevice'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_device_id*>::retain(_cl_device_id*)':
/usr/include/CL/opencl.hpp:1669: undefined reference to `clRetainDevice'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::GetInfoFunctor0<int (*)(_cl_device_id*, unsigned int, unsigned long, void*, unsigned long*), _cl_device_id*>::operator()(unsigned int, unsigned long, void*, unsigned long*)':
/usr/include/CL/opencl.hpp:1619: undefined reference to `clGetDeviceInfo'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Context::Context(cl::Device const&, long const*, void (*)(char const*, void const*, unsigned long, void*), void*, int*)':
/usr/include/CL/opencl.hpp:2933: undefined reference to `clCreateContext'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_context*>::release(_cl_context*)':
/usr/include/CL/opencl.hpp:1715: undefined reference to `clReleaseContext'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::CommandQueue(cl::Context const&, cl::Device const&, unsigned long, int*)':
/usr/include/CL/opencl.hpp:7440: undefined reference to `clCreateCommandQueueWithProperties'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_command_queue*>::release(_cl_command_queue*)':
/usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1724: undefined reference to `clReleaseCommandQueue'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_context*>::release(_cl_context*)':
/usr/include/CL/opencl.hpp:1715: undefined reference to `clReleaseContext'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Buffer::Buffer(cl::Context const&, unsigned long, unsigned long, void*, int*)':
/usr/include/CL/opencl.hpp:3916: undefined reference to `clCreateBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_mem*>::release(_cl_mem*)':
/usr/include/CL/opencl.hpp:1733: undefined reference to `clReleaseMemObject'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::CommandQueue::enqueueWriteBuffer(cl::Buffer const&, unsigned int, unsigned long, unsigned long, void const*, std::vector<cl::Event, std::allocator<cl::Event> > const*, cl::Event*) const':
/usr/include/CL/opencl.hpp:7644: undefined reference to `clEnqueueWriteBuffer'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Program::Program(cl::Context const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, int*)':
/usr/include/CL/opencl.hpp:6392: undefined reference to `clCreateProgramWithSource'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_program*>::release(_cl_program*)':
/usr/include/CL/opencl.hpp:1751: undefined reference to `clReleaseProgram'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Program::build(cl::Device const&, char const*, void (*)(_cl_program*, void*), void*) const':
/usr/include/CL/opencl.hpp:6702: undefined reference to `clBuildProgram'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::GetInfoFunctor1<int (*)(_cl_program*, _cl_device_id*, unsigned int, unsigned long, void*, unsigned long*), _cl_program*, _cl_device_id*>::operator()(unsigned int, unsigned long, void*, unsigned long*)':
/usr/include/CL/opencl.hpp:1628: undefined reference to `clGetProgramBuildInfo'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_device_id*>::retain(_cl_device_id*)':
/usr/include/CL/opencl.hpp:1669: undefined reference to `clRetainDevice'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_device_id*>::release(_cl_device_id*)':
/usr/include/CL/opencl.hpp:1680: undefined reference to `clReleaseDevice'
/usr/bin/ld: /usr/include/CL/opencl.hpp:1680: undefined reference to `clReleaseDevice'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Kernel::Kernel(cl::Program const&, char const*, int*)':
/usr/include/CL/opencl.hpp:7067: undefined reference to `clCreateKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_kernel*>::release(_cl_kernel*)':
/usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Kernel::Kernel(cl::Program const&, char const*, int*)':
/usr/include/CL/opencl.hpp:7067: undefined reference to `clCreateKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_kernel*>::release(_cl_kernel*)':
/usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Kernel::Kernel(cl::Program const&, char const*, int*)':
/usr/include/CL/opencl.hpp:7067: undefined reference to `clCreateKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::detail::ReferenceHandler<_cl_kernel*>::release(_cl_kernel*)':
/usr/include/CL/opencl.hpp:1760: undefined reference to `clReleaseKernel'
/usr/bin/ld: spectrumserver.p/src_fft_impl.cpp.o: in function `cl::Kernel::Kernel(cl::Program const&, char const*, int*)':

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:06 PM
Sorry about that my editing didn't work
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 06:09 PM
So it doesn't see the opencl library....

Did you perform this? Then tried to compile?

sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

That solved the problem with linking for me.

As I can't see what you are doing, I can only guess you didn't do that.

It solved for me the final compiling.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:19 PM

Which directory should that be done from ?

If I try from PhantomSDR-Plus


root@phantom:/home/wessex/PhantomSDR-Plus# sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so
ln: failed to create symbolic link '/usr/lib/libOpenCL.so': File exists




Quote from: Bas ON5HB on Sep 25, 2024, 06:09 PMSo it doesn't see the opencl library....

Did you perform this? Then tried to compile?


sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

That solved the problem with linking for me.

As I can't see what you are doing, I can only guess you didn't do that.

It solved for me the final compiling.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 06:23 PM
The line is directory included, doesn't matter where you run it, as long as it's on the websdr-computer ;D

The line you have may be wrong and missing the directory parts.

Have seen it before. Check the exsiting link, it's probably without directory-parts

Won't be a first that lib's aren't found....like the Windows-dll-hell :o
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 06:24 PM
Try to run

sudo ldconfig

Then recompile
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 06:26 PM
Quote from: magicint1337 on Sep 25, 2024, 06:24 PMTry to run

sudo ldconfig

Then recompile

That shouldn't be needed after a reboot, but I have seen that to solve many things in the past ;D

That should be a default line of the install.sh ;D
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:30 PM

root@phantom:/# sudo ldconfig
/sbin/ldconfig.real: File /lib/x86_64-linux-gnu/libOpenCL.so.1.0.0 is empty, not checked.
/sbin/ldconfig.real: File /lib/x86_64-linux-gnu/libOpenCL.so.1 is empty, not checked.
/sbin/ldconfig.real: File /lib/x86_64-linux-gnu/libOpenCL.so is empty, not checked.
/sbin/ldconfig.real: File /lib/libOpenCL.so is empty, not checked.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 06:31 PM
Did you run this?

sudo apt install ocl-icd-opencl-dev

Looks like you are missing this part....else apt purge and reinstall.

Then reboot and try again.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 06:34 PM
Yea apt purge and run sudo ldconfig again

The libs are broken

Reboot should not be needed when the ldconfig is run
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 06:35 PM
Quote from: magicint1337 on Sep 25, 2024, 06:34 PMYea apt purge and run sudo ldconfig again

The libs are broken

Reboot should not be needed when the ldconfig is run

I like to see people rebooting all the time ;D  8)
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 06:44 PM
root@phantom:/home/wessex/PhantomSDR-Plus# apt purge
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  intel-igc-cm libigc1 libigdfcl1 libz3-4
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


root@phantom:/home/wessex/PhantomSDR-Plus# sudo ldconfig
/sbin/ldconfig.real: File /lib/x86_64-linux-gnu/libOpenCL.so.1.0.0 is empty, not checked.
/sbin/ldconfig.real: File /lib/x86_64-linux-gnu/libOpenCL.so.1 is empty, not checked.
/sbin/ldconfig.real: File /lib/x86_64-linux-gnu/libOpenCL.so is empty, not checked.
/sbin/ldconfig.real: File /lib/libOpenCL.so is empty, not checked.



Quote from: magicint1337 on Sep 25, 2024, 06:34 PMYea apt purge and run sudo ldconfig again

The libs are broken

Reboot should not be needed when the ldconfig is run
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 06:52 PM
I give up. It shouldn't be this hard.

Especially on modern Intel CPU's.

Maybe a good idea to format and start again, then FIRST install OpenCL.

Looks like your Ubuntu 22.04 is a real mess. Maybe even upgraded to new version, what should NOT be done.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 06:53 PM
No
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 06:54 PM
Run this

sudo apt remove intel-oneapi-runtime-opencl intel-basekit clinfo opencl-headers


Then this


sudo apt install intel-oneapi-runtime-opencl intel-basekit clinfo opencl-headers

And then this


sudo ldconfig
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 07:09 PM
This is a mess.

I think I've spent enough time on this today.

Maybe the best option is to start again with a clean Linux build, then try adding OpenCL before installing PhantomSDR-Plus.

Do you wish to add anything to the existing instructions before I do this ?

e.g.

Ubuntu Prerequisites

apt install build-essential cmake pkg-config meson libfftw3-dev libwebsocketpp-dev libflac++-dev zlib1g-dev libzstd-dev libboost-all-dev libopus-dev libliquid-dev git psmisc


Restart your Terminal after you ran install.sh otherwise it wont work..

git clone --recursive https://github.com/Steven9101/PhantomSDR-Plus.git
cd PhantomSDR-Plus
chmod +x *.sh
sudo ./install.sh


Reboot

check for Cypress drivers

lsusb



Check for OpenCL


install intel-gpu-tools and run intel_gpu_top



Start


./start-rx888mk2.sh









Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 07:11 PM
apt install build-essential cmake pkg-config meson libfftw3-dev libwebsocketpp-dev libflac++-dev zlib1g-dev libzstd-dev libboost-all-dev libopus-dev libliquid-dev git psmisc libclfft-dev intel-oneapi-runtime-opencl intel-basekit clinfo opencl-headers

This should be fine for your system
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 07:12 PM
But i went to your system when it ran without opencl and havent had any issues (it ran smoothly)
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 07:12 PM
root@phantom:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:      jammy


Quote from: Bas ON5HB on Sep 25, 2024, 06:52 PMI give up. It shouldn't be this hard.

Especially on modern Intel CPU's.

Maybe a good idea to format and start again, then FIRST install OpenCL.

Looks like your Ubuntu 22.04 is a real mess. Maybe even upgraded to new version, what should NOT be done.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 07:15 PM
Did you try the apt remove and other commands i posted earlier?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 07:17 PM
Yeh, but I upgraded the PC specifically to extract the maximum from it, and that includes running OpenCL.



Quote from: magicint1337 on Sep 25, 2024, 07:12 PMBut i went to your system when it ran without opencl and havent had any issues (it ran smoothly)
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 07:18 PM
Yes but many files were not present or found.

I'll start again.

Quote from: magicint1337 on Sep 25, 2024, 07:15 PMDid you try the apt remove and other commands i posted earlier?
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 25, 2024, 07:19 PM
Ubuntu has the habit of breaking things:

root@Websdr:~# lsb_release -a
No LSB modules are available.
Distributor ID:    Linuxmint
Description:    Linux Mint 21.3
Release:    21.3
Codename:    virginia

Base is the same but Mint protects things they are not sure about.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 07:59 PM
But I thought Linux was supposed to be great !

Looks like it's broken the PC hardware too, probably too many reboots :-)

I'll have to return the new PC for a replacement, as it will no longer power up.

Not a good day...

Thanks for everyone's help.

Regards,

Martin

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 08:10 PM
Come on guy's make your mind up, I though Ubuntu 22.04 was the preferred OS.

I've now tasted Debian, Fedora, Mint, Puppy, Alpine, CentOS, Redhat, Pure and Ubuntu, and they all seem to inflect their own type of pain.

Regards,

Martin

Quote from: Bas ON5HB on Sep 25, 2024, 07:19 PMUbuntu has the habit of breaking things:

root@Websdr:~# lsb_release -a
No LSB modules are available.
Distributor ID:    Linuxmint
Description:    Linux Mint 21.3
Release:    21.3
Codename:    virginia

Base is the same but Mint protects things they are not sure about.

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 25, 2024, 09:09 PM
I always use ubuntu 22.04
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 25, 2024, 11:24 PM
Understood.

I suggest the installation instructions need to be expanded, to try and ensure that any dependencies are dealt with, in the correct order.

As PhantomSDR-Plus becomes more widely adopted, these types of problems are likely to get worse, unless a relatively foolproof process is developed.

I'm certainly not skilled in Linux, but there are many who are even less proficient than myself, and part of my extended attempts throughout today, were in order to try and make things easier for them in the future.

I sometimes think that when folks are very familiar with a process, they assume everyone else is too, and this makes it a lot harder for others to follow.

It always reminds me of when I was being taught maths at school. It usually followed a step by step, methodical path, up to a certain point, then the teacher would say something like, "and from this we can deduce that" and then miss out several vital stages, before magically arriving at the answer.

There are good mathematicians, and good teachers, but unfortunately they are often not the same person.

Please spell things out, in detail, so that folks who don't know, can follow the various steps, and understand what is happening. We can then learn better.

Regards,

Martin


Quote from: magicint1337 on Sep 25, 2024, 09:09 PMI always use ubuntu 22.04
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 26, 2024, 12:07 PM
The thing is, OpenCL isn't the same for all CPU's...so there is no simple solution.
Try Cuda, I have, couldn't work it out.

The problem isn't PhantomSDR+ but the manufacturers of the hardware.

Intel alone has dosens of different CPU's and GPU's that all have a different driver, most combined into one, but not all.

AMD has dropped OpenCL as name and has ROCM and other names to do OpenCL.

Broadcom also different. nVidia Cuda that is compatible only with nVidia but is also different over various cards.

There is no simple answer to this.

As for the OS, Ubuntu 22.04 is the one to use, Mint 21.3 uses the same base and can be used without problems. They just refuse for things to be done in snapd that could break updates.
Mint uses the normal package distribution.

We have spelled everything out as best as we could.
No easy solution possible.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 26, 2024, 12:41 PM
Hi Bas,

Yes, I understand, and I also appreciate your assistance in trying to get it to behave as intended.

I have followed most of the instructions, and bought specific hardware that I thought would ease the process, but it would seem that you are correct in saying "No easy solution possible".


I'll try again when the replacement for the faulty PC arrives.

Regards,

Martin



Quote from: Bas ON5HB on Sep 26, 2024, 12:07 PMWe have spelled everything out as best as we could.
No easy solution possible.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 26, 2024, 01:42 PM
Yeah, probably something wrong as the Skylake CPU you tried to use has the most simplistic way of supporting Intel OpenCL.

It should have worked and recompiled almost by itself ;D

Or lastest and greatest package:

https://github.com/intel/compute-runtime/releases

It should have worked, almost all ways of doing it do support that CPU...therefor baffled me it wouldn't work.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 26, 2024, 02:12 PM
OK, I just followed your recommendation and bought a HP Elitedesk PC i5-6500T 3.1Ghz, I wasn't aware there were further considerations.

If I'd know I could have asked for a different replacement, but it's currently being shipped, so I'll have to make do with what I've chosen.

You live and learn...

Quote from: Bas ON5HB on Sep 26, 2024, 01:42 PMYeah, probably something wrong as the Skylake CPU you tried to use has the most simplistic way of supporting Intel OpenCL.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 26, 2024, 03:32 PM
My testing server, just freed this as my desktop machine ;D

Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz

I installed Ubuntu 22.04 fresh.

Now I'm going to install OpenCL and will tell you in about an hour if I have the same difficulites, however I do not expect such.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 27, 2024, 09:48 PM
Hi Bas,

I'm responding in this thread, to avoid contaminating your new one.

The replacement PC arrived.

I made a fresh Ubuntu 22.04 build and followed all the updated instructions to the letter.


clinfo indicated that it had installed correctly.


root@phantom:/home/wessex/PhantomSDR-Plus# clinfo
Number of platforms                               1
  Platform Name                                   Intel(R) OpenCL Graphics
  Platform Vendor                                 Intel(R) Corporation
  Platform Version                                OpenCL 3.0
  Platform Profile                                FULL_PROFILE

I then proceeded with the installation of PhantomSDR-Plus


root@phantom:/home/wessex/PhantomSDR-Plus# sudo ./install.sh
Updating package lists and installing necessary packages...
Hit:1 http://gb.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://gb.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:4 http://gb.archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
libfftw3-dev is already the newest version (3.3.8-2ubuntu8).
libopus-dev is already the newest version (1.3.1-0.1build2).
libzstd-dev is already the newest version (1.4.8+dfsg-3build1).
pkg-config is already the newest version (0.29.2-1ubuntu3).
libboost-all-dev is already the newest version (1.74.0.3ubuntu7).
libcurlpp-dev is already the newest version (0.8.1-5).
libliquid-dev is already the newest version (1.3.2-3).
libwebsocketpp-dev is already the newest version (0.8.2-4).
meson is already the newest version (0.61.2-1).
nlohmann-json3-dev is already the newest version (3.10.5-2).
cmake is already the newest version (3.22.1-1ubuntu1.22.04.2).
curl is already the newest version (7.81.0-1ubuntu1.18).
git is already the newest version (1:2.34.1-1ubuntu1.11).
libflac++-dev is already the newest version (1.3.3-2ubuntu0.2).
zlib1g-dev is already the newest version (1:1.2.11.dfsg-2ubuntu9.2).
The following additional packages will be installed:
  libssh2-1 libstd-rust-1.75 libstd-rust-dev rustc
Suggested packages:
  cargo-doc llvm-17 lld-17 clang-17
The following NEW packages will be installed:
  cargo libssh2-1 libstd-rust-1.75 libstd-rust-dev rustc
0 upgraded, 5 newly installed, 0 to remove and 13 not upgraded.
Need to get 0 B/98.2 MB of archives.
After this operation, 392 MB of additional disk space will be used.
Selecting previously unselected package libssh2-1:amd64.
(Reading database ... 105948 files and directories currently installed.)
Preparing to unpack .../libssh2-1_1.10.0-3_amd64.deb ...
Unpacking libssh2-1:amd64 (1.10.0-3) ...
Selecting previously unselected package libstd-rust-1.75:amd64.
Preparing to unpack .../libstd-rust-1.75_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04                                                                                         _amd64.deb ...
Unpacking libstd-rust-1.75:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Selecting previously unselected package libstd-rust-dev:amd64.
Preparing to unpack .../libstd-rust-dev_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_                                                                                         amd64.deb ...
Unpacking libstd-rust-dev:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Selecting previously unselected package rustc.
Preparing to unpack .../rustc_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb                                                                                          ...
Unpacking rustc (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Selecting previously unselected package cargo.
Preparing to unpack .../cargo_1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04_amd64.deb                                                                                          ...
Unpacking cargo (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up libstd-rust-1.75:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up libstd-rust-dev:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up rustc (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Setting up libssh2-1:amd64 (1.10.0-3) ...
Setting up cargo (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
Packages installed successfully.
Building the main application...
Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
ninja: Entering directory `/home/wessex/PhantomSDR-Plus/build'
ninja: no work to do.
Welcome to PhantomPlus Installer!
Which SDR would you like to set up?
  [1] RX888 MKII / RX888
  [2] RTLSDR
  [3] SDRPlay
Select an option [1-3]: 1
Setting up RX888 MKII / RX888...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  cargo libssh2-1 libstd-rust-1.75 libstd-rust-dev rustc
0 upgraded, 0 newly installed, 5 to remove and 13 not upgraded.
After this operation, 392 MB disk space will be freed.
(Reading database ... 106083 files and directories currently installed.)
Removing cargo (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Removing libssh2-1:amd64 (1.10.0-3) ...
Removing rustc (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Removing libstd-rust-dev:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Removing libstd-rust-1.75:amd64 (1.75.0+dfsg0ubuntu1~bpo0-0ubuntu0.22.04) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Installing Rust...
info: downloading installer
info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
warning: Updating existing toolchain, profile choice will be ignored
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.81.0 (eeb90cda1 2024-09-04                                                                                         )


Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.

This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish"  # For fish
Cloning the rx888_stream repository...
fatal: destination path 'rx888_stream' already exists and is not an empty direct                                                                                         ory.
Building and installing...
    Finished `release` profile [optimized] target(s) in 0.19s
  Installing rx888_stream v0.1.0 (/home/wessex/PhantomSDR-Plus/rx888_stream)
    Updating crates.io index
     Locking 45 packages to latest compatible versions
      Adding windows-sys v0.52.0 (latest: v0.59.0)
warning: variable does not need to be mutable
   --> src/main.rs:232:9
    |
232 |     let mut handle = open_device_with_vid_pid_timeout(
    |         ----^^^^^^
    |         |
    |         help: remove this `mut`
    |
    = note: `#[warn(unused_mut)]` on by default

warning: `rx888_stream` (bin "rx888_stream") generated 1 warning (run `cargo fix                                                                                          --bin "rx888_stream"` to apply 1 suggestion)
    Finished `release` profile [optimized] target(s) in 1.71s
   Replacing /root/.cargo/bin/rx888_stream
    Replaced package `rx888_stream v0.1.0 (/home/wessex/PhantomSDR-Plus/rx888_st                                                                                         ream)` with `rx888_stream v0.1.0 (/home/wessex/PhantomSDR-Plus/rx888_stream)` (e                                                                                         xecutable `rx888_stream`)
RX888 is successfully set up. Please restart your Terminal and then run the star                                                                                         t command.





Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 27, 2024, 10:18 PM
Cont.

I tried to run PhantomSDR-Plus but, it came up with errors.


wessex@phantom:~/PhantomSDR-Plus$ sudo ./start-rx888mk2.sh
[sudo] password for wessex:
spectrumserver: no process found
rx888_stream: no process found
./start-rx888mk2.sh: line 8: rx888_stream: command not found

As su

root@phantom:/home/wessex/PhantomSDR-Plus# ./start-rx888mk2.sh                  spectrumserver: no process found
rx888_stream: no process found
root@phantom:/home/wessex/PhantomSDR-Plus# thread 'main' panicked at library/std/src/io/stdio.rs:1118:9:
failed printing to stdout: Broken pipe (os error 32)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


I edited the toml files and put none in place of opencl.

It started without any obvious errors, and I could get a browser to connect, it asked me to tap to start the audio, but there was no audio or waterfall. Restarting PhantomSDR-Plus and refreshing the browser, had no effect.

I went away for a while to have my evening meal, and I've just returned, refreshed the browser, and the audio and waterfall are running.

So, as before, it is still not recognising opencl.

Regards,

Martin

 









Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 27, 2024, 10:53 PM
I suspect something has changed from earlier versions with the way opencl is deployed, but I'm not a software guy.


https://www.intel.com/content/www/us/en/developer/articles/tool/opencl-drivers.html

Intel® SDK for OpenCL Applications is EOL. The transition to Intel® oneAPI and its unified, cross-architecture programming model brings greater efficiency and reuse across hardware targets. See the Intel® oneAPI Programming Guide for information migrating OpenCL code and OpenCL interoperability by way of SYCL* objects.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 27, 2024, 11:01 PM
snipped from clinfo - is this a clue ?

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Intel(R) OpenCL Graphics
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [INTEL]
  clCreateContext(NULL, ...) [default]            Success [INTEL]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 Intel(R) OpenCL Graphics
    Device Name                                   Intel(R) HD Graphics 530
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 Intel(R) OpenCL Graphics
    Device Name                                   Intel(R) HD Graphics 530
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 Intel(R) OpenCL Graphics
    Device Name                                   Intel(R) HD Graphics 530

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.14
  ICD loader Profile                              OpenCL 3.0

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 28, 2024, 11:39 AM
Maybe after meal you restarted your terminal and reconnected? Because after the rust installation this is needed. Try it with opencl again and restart and send the error if any
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 28, 2024, 05:11 PM
No, I had just left the browser running, with a blank waterfall, when I returned I refreshed the tab, and it was working.

Without Opencl running, I can just about achieve a 60MHz sample rate, above this it has severe audio dropouts. I'd hoped to be able to have a slightly greater margin.

The next job it to somehow implement an automatic startup on boot or power restoration. I guess a chron job would achieve this, but there should really be an inbuilt option to start on boot.


Regards,

Martin





Quote from: magicint1337 on Sep 28, 2024, 11:39 AMMaybe after meal you restarted your terminal and reconnected? Because after the rust installation this is needed. Try it with opencl again and restart and send the error if any
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 28, 2024, 05:26 PM
Looks like you didn't install the libaries.

You never told us the install showed the libraries.

Also, I do not run a desktop, that is disabled in grub at boot.

GRUB_CMDLINE_LINUX_DEFAULT="systemd.unit=multi-user.target usbcore.usbfs_memory_mb=2048 pci=noaer"

Maybe you have a desktop running? I never do. Blackbox only. ;)
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 28, 2024, 06:24 PM

Which / What libraries ? Do you mean the OpenCL deb files or some other prerequisites that should have been part of the Ubuntu install ?thing else ?

I followed all of the instructions, step by step, and as described.

I'm not running the Linux desktop, it's headless, and I'm SSHing in, but I do have a VGA monitor connected, so that I can confirm that it is booting up correctly.

Regards,

Martin


Quote from: Bas ON5HB on Sep 28, 2024, 05:26 PMLooks like you didn't install the libaries.

You never told us the install showed the libraries.

Also, I do not run a desktop, that is disabled in grub at boot.

GRUB_CMDLINE_LINUX_DEFAULT="systemd.unit=multi-user.target usbcore.usbfs_memory_mb=2048 pci=noaer"

Maybe you have a desktop running? I never do. Blackbox only. ;)
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 28, 2024, 06:59 PM
You must have missed something, as I wrote it while doing it.

https://www.phantomsdr.fun/index.php?topic=58.msg331#msg331

I can not understand why it keeps failing on your part, sorry I don't.

I especially took my Desktop machine, formatted it, and started from scratch.

I wrote down all steps.

It's beyond me why you can't get it working.

Maybe time to ask a Linux-nerd to help you? I'm baffled why you didn't get it working, again.

Sorry mate. I'm clueless at this point.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: John DF4UE on Sep 28, 2024, 07:37 PM
ge Martin and Bas,

when I installed Ubuntu 22.04 LTS I could choose which kernel should be installed. I selected HWE (newest kernel).
Can this have an influence on the installation of OpenCl ? I have now idea, just a thought.

uname -r
6.8.0-45-generic

73

John
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 28, 2024, 08:50 PM
Hi Bas,

I appreciate your help, and I'm not having a go at you, it's just very frustrating (for all parties) when something works for one person but not another.

We are using different hardware, and it may be that as part of the initial Ubuntu installation process, you have done something that I have not. Maybe using different libraries, or permissions, or something similar.


I followed the instructions on the intel Github and created a directory named neo, which housed all the downloaded deb files. They were all present, and seemed to have installed correctly without flagging up any errors.

I think I'll try again from scratch, just in case I've missed anything, but having now done it twice, with the same end result, it would seem to be something peculiar with the hardware / Bios / or some other incompatibility with Opencl.

I do know a Linux guru, so I may ask him, as you suggest.

Thnaks again for perservering.

Martin








Quote from: Bas ON5HB on Sep 28, 2024, 06:59 PMI can not understand why it keeps failing on your part, sorry I don't.

I especially took my Desktop machine, formatted it, and started from scratch.

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 28, 2024, 08:56 PM
Quote from: John DF4UE on Sep 28, 2024, 07:37 PMge Martin and Bas,

when I installed Ubuntu 22.04 LTS I could choose which kernel should be installed. I selected HWE (newest kernel).
Can this have an influence on the installation of OpenCl ? I have now idea, just a thought.

uname -r
6.8.0-45-generic

73

John

Normally no. Test and find out. But typical a kernel has no impact.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 28, 2024, 09:07 PM
Quote from: Martin G8JNJ on Sep 28, 2024, 08:50 PMHi Bas,

I appreciate your help, and I'm not having a go at you, it's just very frustrating (for all parties) when something works for one person but not another.

We are using different hardware, and it may be that as part of the initial Ubuntu installation process, you have done something that I have not. Maybe using different libraries, or permissions, or something similar.

We are NOT using different hardware, as I especially changed my Desktop machine to match yours.
It's the EXACT same machine and hardware,

I'm getting the feeling you are not following directions on purpose....ELSE IT WOULD HAVE WORKED!

At the same time you keep insisting on demands you want to see, and you post nasty comments.

You do not want to get it running, you want it all about Martin.

I have had enough of your tone and I'm not going to put any effort in solving your problem anymore.

You Sir, need to learn some manners, in all aspects. We are not your employees.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 28, 2024, 10:00 PM
Hi Bas,

I hadn't realised you were using exactly the same make and model as myself, including I assume the same processor.

I can assure you I have followed your written instructions to the letter, and I would not wish to self sabotage this project after spending a considerable amount of money on the RX888, cooling mods, the original PC, it's subsequent replacement, and the second replacement after the first had failed, not to mention several days worth of effort that has not produced the end result I had hoped for.


I don't understand which of my comments you have interpreted as being "a nasty demand", I'm not demanding anything of you, and wouldn't wish to, why should I ? In fact I can't recall any time I have "demanded anything of anyone" and that includes in a work environment, it's just not my style. I'll debate, and make persuasive statements, to try and move a project forward, but that's not the same as making a demand. I can't do much to alter your perception of me, it's your opinion, and is as valid as that of anyone else.

I genuinely appreciate that you have tried to help me, and I have already said as much. I'm not blaming you, I'm just stating that my outcome is different to yours, for an unknown reason. I would not have persevered if I wasn't bothered, and didn't want to know what had gone wrong. That's how we learn. I'm not trying to "wind you up" it would serve no purpose, and be counterproductive in trying to get the thing to work as it should.

I find the situation as frustrating as you do, and I would really like to find out what is causing the problem. It is more than likely to be something that I have done incorrectly, and I would like to know what it is. If I have made a mistake, I will willingly admit to it, especially if it helps someone else to avoid the same problem. I see this as a work in progress, and finding and resolving bugs are an inherent part of it.

Regards,

Martin


Quote from: Bas ON5HB on Sep 28, 2024, 09:07 PM
Quote from: Martin G8JNJ on Sep 28, 2024, 08:50 PMHi Bas,

I appreciate your help, and I'm not having a go at you, it's just very frustrating (for all parties) when something works for one person but not another.

We are using different hardware, and it may be that as part of the initial Ubuntu installation process, you have done something that I have not. Maybe using different libraries, or permissions, or something similar.

We are NOT using different hardware, as I especially changed my Desktop machine to match yours.
It's the EXACT same machine and hardware,

I'm getting the feeling you are not following directions on purpose....ELSE IT WOULD HAVE WORKED!

At the same time you keep insisting on demands you want to see, and you post nasty comments.

You do not want to get it running, you want it all about Martin.

I have had enough of your tone and I'm not going to put any effort in solving your problem anymore.

You Sir, need to learn some manners, in all aspects. We are not your employees.
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: magicint1337 on Sep 29, 2024, 02:19 AM
Hi guys. Please keep it respectful, we are all here to help. To be honest the easiest way would be to let me ssh into the system and let me find the error so we know what it is. If thats fine for you we can do it, but its your decision. Otherwise if not we need more info on what you did exactly, maybe explain here the steps you did in the order and not refer to the tutorial, maybe we can find something missing.

Greetings!
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: 9a7aof on Sep 29, 2024, 08:58 AM
What is the problem?

For me, PhantomSDR+ works on an old FUJITSU LIFEBOOK S752 laptop with 20MHz bandwidth, the operating system is LMDE 6 (Debian Bookworm with Cinammon interface).

There is no acceleration, it is not even necessary for that bandwidth, the load on the processor is less than 55 percent.

You need to read the instructions and follow them consistently, the people who made that SDR did a great job and simplified the installation process to the limit.

I tried PhantomSDR+ with RTL-SDR v3, RSP1 clone, RSP1A original... everything worked fine.

I'm currently working with RX888MK2 and everything works fine. The waterfall is deliberately slow because if I speed it up the processor load rises too much for my taste.

websdr@Siemens:~/PhantomSDR-Plus$ inxi
System:
  Kernel: 6.1.0-25-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    Console: pty pts/0 Distro: LMDE 6 Faye base: Debian 12.1 bookworm
Machine:
  Type: Laptop System: FUJITSU product: LIFEBOOK S752 v: 10601581625
    serial: <superuser required>
  Mobo: FUJITSU model: FJNB252 v: L3 serial: <superuser required>
    UEFI-[Legacy]: FUJITSU // Phoenix v: Version 2.04 date: 10/16/2012
CPU:
  Info: dual core model: Intel Core i5-3320M bits: 64 type: MT MCP
    arch: Ivy Bridge rev: 9 cache: L1: 128 KiB L2: 512 KiB L3: 3 MiB
  Speed (MHz): avg: 2968 high: 3063 min/max: 1200/3300 cores: 1: 2934
    2: 3063 3: 2934 4: 2944 bogomips: 20753
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics
    vendor: Fujitsu . LIFEBOOK E752 driver: i915 v: kernel arch: Gen-7
    bus-ID: 00:02.0
  Display: server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: crocus gpu: i915 tty: 80x24
    resolution: 1366x768
  API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio
    vendor: Fujitsu . LIFEBOOK E752 driver: snd_hda_intel v: kernel
    bus-ID: 00:1b.0
  API: ALSA v: k6.1.0-25-amd64 status: kernel-api
  Server-1: PipeWire v: 0.3.65 status: active
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
Network:
  Device-1: Intel 82579V Gigabit Network vendor: Fujitsu . LIFEBOOK E752
    driver: e1000e v: kernel port: 4080 bus-ID: 00:19.0
  IF: enp0s25 state: down mac: <filter>
  Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak] driver: iwlwifi
    v: kernel bus-ID: 0a:00.0
  IF: wlp10s0 state: up mac: <filter>
  Device-3: Sierra Wireless MC8305 Modem type: USB driver: qcserial,qmi_wwan
    bus-ID: 1-1.5:4
  IF: wwan0 state: down mac: <filter>
Drives:
  Local Storage: total: 232.89 GiB used: 19.06 GiB (8.2%)
  ID-1: /dev/sda vendor: Toshiba model: MK2552GSX size: 232.89 GiB
Partition:
  ID-1: / size: 33.61 GiB used: 14.73 GiB (43.8%) fs: ext4 dev: /dev/sda5
  ID-2: /home size: 61.94 GiB used: 4.33 GiB (7.0%) fs: ext4 dev: /dev/sda6
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 67.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 160 Uptime: 2d 14h 4m Memory: 7.62 GiB used: 1.06 GiB (13.9%)
  Init: systemd target: graphical (5) Compilers: gcc: 12.2.0 Packages: 2948
  Shell: Bash v: 5.2.15 inxi: 3.3.26
websdr@Siemens:~/PhantomSDR-Plus$


websdr@Siemens:~/PhantomSDR-Plus$ neofetch
`.-::---..                     websdr@Siemens
      .:++++ooooosssoo:.       --------------
    .+o++::.      `.:oos+.     OS: LMDE 6 (faye) x86_64
   :oo:.`             -+oo:    Host: LIFEBOOK S752 10601581625
 `+o/`    .::::::-.    .++-`   Kernel: 6.1.0-25-amd64
`/s/    .yyyyyyyyyyo:   +o-`   Uptime: 2 days, 14 hours, 8 mins
`so     .ss       ohyo` :s-:   Packages: 2948 (dpkg)
`s/     .ss  h  m  myy/ /s``   Shell: bash 5.2.15
`s:     `oo  s  m  Myy+-o:`    Resolution: 1366x768
`oo      :+sdoohyoydyso/.      Terminal: /dev/pts/0
 :o.      .:////////++:        CPU: Intel i5-3320M (4) @ 3.300GHz
 `/++        -:::::-           GPU: Intel 3rd Gen Core processor Graphics Contr
  `++-                         Memory: 689MiB / 7800MiB
   `/+-
     .+/.                                             
       .:+-.                                           
          `--.``

websdr@Siemens:~/PhantomSDR-Plus$

websdr@Siemens:~/PhantomSDR-Plus$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7,6Gi       1,0Gi       4,1Gi        32Mi       2,9Gi       6,6Gi
Swap:             0B          0B          0B
websdr@Siemens:~/PhantomSDR-Plus$

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 29, 2024, 01:55 PM
OK, another day of effort and...

Third time lucky.

What I did differently this time.

When installing Ubuntu, I didn't tick the option to install 3rd party drivers.

Installed clinfo intel-gpu-tools, OpenCL, cuFFT and clFFT10, all of these were installed before the deb files.

I had previously installed libclfft-dev, after the deb files, in the order shown on this page  https://www.phantomsdr.fun/index.php?topic=58.msg331#msg331

When I initially tried Bas's list of deb files on the same page https://www.phantomsdr.fun/index.php?topic=58.msg331#msg331 I got an error.

N: Download is performed unsandboxed as root as file '/home/wessex/neo/intel-igc                      -core_1.0.17537.20_amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire:                      :Run (13: Permission denied)

I then used the list on the Intel Github, and that seemed to run OK.

Each time I was instructed to open a new terminal, I also performed a reboot, just to be safe.

All the rest was performed as before, so I don't know which of these actions made the difference.

intel-gpu-top now shows OpenCL performing as expected, this is when running smoothly at 80meg sample rate, so it was definitely worth the effort.


intel-gpu-top: Intel Skylake (Gen9) @ /dev/dri/card0 - 1051/1099 MHz;   3% RC6
   11.06/19.64 W;      507 irqs/s

      IMC reads:     8073 MiB/s
     IMC writes:     6154 MiB/s

         ENGINES     BUSY                                       MI_SEMA MI_WAIT
       Render/3D   94.94% |█████████████████████████████████▎ |      0%      0%
         Blitter    0.00% |                                   |      0%      0%
           Video    0.00% |                                   |      0%      0%
    VideoEnhance    0.00% |                                   |      0%      0%


Thanks to everyone who helped me to resolve this issue. Even though I don't know which part of the installation caused the problem. Hopefully, these observations may help identify why it didn't work on previous occasions.

Regards,

Martin
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 29, 2024, 02:26 PM
You can now connect to it (on a temporary basis) at http://g8jnj.zapto.org:8090

It's running at 82Meg sample rate, which is good, as I wanted to cover the 40MHz 8m band.

Once I sort out how to get it to start on boot, I'll move it to my Wessex site.

Regards,

Martin
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: John DF4UE on Sep 29, 2024, 06:35 PM
Congratulation Martin,

software is sometimes magical  ;D

John
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Martin G8JNJ on Sep 29, 2024, 09:31 PM
I think I'd prefer "unpredictable" I tried adding a service, so that it would start up automatically on boot.

It didn't work, due to some form of timing issue.


× rx888boot.service - Start RX888 on boot
     Loaded: loaded (/etc/systemd/system/rx888boot.service; enabled; vendor preset: enabled)
     Active: failed (Result: start-limit-hit) since Sun 2024-09-29 15:40:57 UTC; 29s ago
    Process: 1110 ExecStart=/home/wessex/PhantomSDR-Plus/start-rx888mk2.sh (code=exited, status=0/SUCCESS)
   Main PID: 1110 (code=exited, status=0/SUCCESS)
        CPU: 19ms

Sep 29 15:40:57 phantom systemd[1]: rx888boot.service: Scheduled restart job, restart counter is at 5.
Sep 29 15:40:57 phantom systemd[1]: Stopped Start RX888 on boot.
Sep 29 15:40:57 phantom systemd[1]: rx888boot.service: Start request repeated too quickly.
Sep 29 15:40:57 phantom systemd[1]: rx888boot.service: Failed with result 'start-limit-hit'.
Sep 29 15:40:57 phantom systemd[1]: Failed to start Start RX888 on boot.

But somehow the OpenCL part became corrupted in the process, and when started manually with the service disbaled, the streamer wouldn't run.

Re-installing the deb files fixed it, but I don't understand how adding something unrelated managed to mess things up so badly.

Regards,

Martin

Quote from: John DF4UE on Sep 29, 2024, 06:35 PMsoftware is sometimes magical  ;D

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Sep 30, 2024, 05:25 PM
Quote from: 9a7aof on Sep 29, 2024, 08:58 AMWhat is the problem?

For me, PhantomSDR+ works on an old FUJITSU LIFEBOOK S752 laptop with 20MHz bandwidth, the operating system is LMDE 6 (Debian Bookworm with Cinammon interface).

There is no acceleration, it is not even necessary for that bandwidth, the load on the processor is less than 55 percent.


Sorry you do not run 50%, you run 200%, equals to 4-core loaded upto 50%.

This may sound the same but it isn't.

As you can only load 1 core upto 100% IF the program is single-threaded, go beyond this and it will give problems, slowdowns etc.
With applications that can handle more threads you may count all loads together.

So a 4 core CPU may be loaded upto 400% (in practice it's not more then 350%).

That is why the thread-settings in the toml are important, to make sure the cores are NOT overloaded and you never get above the max the CPU can handle.

It depends on the CPU how much bandwidth you can do, however, OpenCL takes so much load OFF the cores that 30MHz will result in 70% usage (total!).

If the USB port would be faster, the RX888MK2 could do 60MHz bandwidth and because of OpenCL the CPU can handle it.
That is the difference.

In fact, you could run 2 instances of the RX-888MHz on 1 CPU at 30MHz....try that without OpenCL or Cuda...no way ;)

Title: Re: Phantom SDR Plus & RX888 - setup
Post by: 9a7aof on Oct 01, 2024, 05:55 PM
Yes i know,

QuoteSorry you do not run 50%, you run 200%, equals to 4-core loaded upto 50%.
I should have written the load per core, four virtual cores, each about 50 percent, a total of 200 percent.

websdr@Siemens:~$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +64.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:        +66.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:        +56.0°C  (high = +87.0°C, crit = +105.0°C)


I was not able to write a script to automatically start Phantom SDR+ as a service, so I start it through cron on reboot:
#-------------------
@reboot /bin/bash -lc 'cd /home/websdr/PhantomSDR-Plus/ && ./start-rx888mk2.sh'
#-------------------

I have a question, I see that some colleagues managed to fix the bug with switching the modulation type AM => FM => AM and the problem with the correct display of the modulation type when the marker is clicked.

Is it possible to start a test branch where the rest of us can test the fixed bugs before the final version.

Another possibility would be to put the fixed scripts in a tar.gz archive with included paths where these scripts should be located.

By simply unpacking the tar.gz archive, the fixed scripts would be in the right place.

I know what I'm writing about, I've been a satisfied Linux user since 1996.

Kind regards,
Darko, 9a7aof



Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Bas ON5HB on Oct 01, 2024, 06:18 PM
The problem of going to FM and back to other modulation has been seen before.
I also noticed it.

However, running OpenCL acceleration doesn't show this problem.

I can not say where this problem is, but it's shown all over non-OpenCL running systems.

I do not know when I started Linux, it was at the time of OS/2 1.3x when I side-looked at Linux.
But compiling a system took days, and failed a lot.

My first Linux was Slackware....still hate it ;D TurboLinux wasn't much better :o
Title: Re: Phantom SDR Plus & RX888 - setup
Post by: Emmanuel SV1BTL on Oct 31, 2024, 05:56 AM
Hi,
After too many experiments and fine tunings during the last week, I've setup the .toml and .sh files as follows. No cross modulation or overloads until now, even during hard periods of extreme high propagation and very strong signals in radio bands of 41 and 49 meters.
Antenna is EndFed, with 64:1 balun, ~46m. long, loading coil at 38m. (192μH), covering all amateurs' band from 160-10m. It is the same antenna used for transmitting my radioamateur activities. The sack is located in Athens, Greece, so the conditions are the expected ones for an urban area.

config-rx888mk2.toml

[server]
port=8888 # Server port
html_root="frontend/dist/" # HTML files to be hosted
otherusers=1 # Send where other users are listening, 0 to disable
threads=4

[websdr]
register_online=true # If the SDR should be registered on https://sdr-list.xyz then put it to true
name="SV1BTL - Athens, GR" # Name that is shown on https://sdr-list.xyz
antenna="EndFed 160-10m." # Antenna that is shown on https://sdr-list.xyz
grid_locator="KM17VX" # 4 or 6 length Grid Locator shown on https://sdr-list.xyz and for the Distance of FT8 Signals
hostname="sv1btlham.no-ip.org" # If you use ddns or something to host with a domain enter it here for https://sdr-list.xyzv

[limits]
audio=100
waterfall=100
events=100

[input]
sps=60000000 # Input Sample Rate
fft_size=8388608 # FFT bins
fft_threads=2
brightness_offset=-4
# Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
frequency=0 # Baseband frequency
signal="real" # real or iq
accelerator="opencl" # Accelerator: none, cuda, opencl
audio_sps=12000 # Audio Sample Rate
audio_compression="flac" # flac or opus
waterfall_size=2048
waterfall_compression="zstd" # zstd or av1
smeter_offset=9

[input.driver]
name="stdin" # Driver name
format="s16" # Sample format: u8, s8, u16, s16, u32, s32, f32, f64

[input.defaults]
frequency=7120000 # Default frequency to show user
modulation="LSB" # Default modulation
#####

.sh

#!/bin/bash
cd ~/PhantomSDR-Plus
killall -s 9 spectrumserver
sudo killall -s 9 rx888_stream
sleep 1

# Turn USB powersaving off
echo on | sudo tee /sys/bus/usb/devices/*/power/control > /dev/null
if test -e ~/PhantomSDR-Plus/rtl.fifo; then
echo fifo alredy exists
else
echo creating fifo...
mkfifo ~/PhantomSDR-Plus/rtl.fifo
fi
sleep 1

RUST_BACKTRACE=1

sudo ~/PhantomSDR-Plus/rx888_stream/target/release/rx888_stream -f ~/PhantomSDR-Plus/rx888_stream/SDDC_FX3.img -s 60000000 -g 50 -a 50 -m high --pga -r -d -o - > ~/PhantomSDR-Plus/rtl.fifo &
sleep 1
~/PhantomSDR-Plus/build/spectrumserver --config ~/PhantomSDR-Plus/config-rx888mk2.toml < ~/PhantomSDR-Plus/rtl.fifo &
# > /dev/null 2>&1 &

exit
#####

P.S. Using a Mini PC Intel Core i5-12450H, 16 GB DDR4, 512 GB M.2 2280 NVMe. Ubuntu 22.04

73 de SV1BTL, Emmanuel