srs icon indicating copy to clipboard operation
srs copied to clipboard

Support loongson, loongarch, 龙芯CPU

Open winlinvip opened this issue 4 years ago • 7 comments

LOONGARCH

龙芯已经适配的多媒体开源项目Media

  • 音视频应用开发框架、音视频编解码项目:FFmpeg、X264、OpenH264、libvpx、libyuv
  • 基础压缩解压缩、图片编解码和图形渲染项目:zlib、libpng、libjpeg-turbo、pixman、skia
  • 信号处理、线性代数库等高性能数学库:OpenBLAS 、FFT

如果要用龙芯服务器做视频云,还缺个流媒体服务器。

Build Loongarch SRS in Qemu

龙芯有qemu镜像可以在本机跑起来,下面是操作步骤。

首先,下载qemu环境,mac下执行下面的命令,其他系统参考这里

brew install qemu

然后,下载龙芯的iso镜像,还在路上,请稍等。。。

LOONGSON 3A5000/3B5000

龙芯3A5000/3B5000

龙芯3A5000/3B5000是面向个人计算机、服务器等信息化领域的通用处理器,基于龙芯自主指令系统(LoongArch®)的LA464微结构,并进一步提升频率,降低功耗,优化性能。在与龙芯3A4000处理器保持引脚兼容的基础上,频率提升至2.5GHz,功耗降低30%以上,性能提升50%以上。龙芯3B5000在龙芯3A5000的基础上支持多路互连。

image

ST for LOONGARCH

首先就需要适配ST到龙芯CPU,SRS 5.0已经支持了,参考 ST #24

适配的代码,参考提交:https://github.com/ossrs/state-threads/commit/db4296960809af07c34f2a6e50a623f8d1b90f86

Build for LOONGARCH

还需要适配一些依赖库的编译选项,主要是SRTP和Opus的,参考提交:https://github.com/ossrs/srs/commit/5b44cc6a17fa9078ae3f981e318f8f0d3ebb458f

winlinvip avatar Oct 24 '21 00:10 winlinvip

Is there a planned cycle at the moment?

TRANS_BY_GPT3

apt-getyou avatar Oct 27 '21 11:10 apt-getyou

The LoongArch platform adaptation for SRS is now available. Users have several ways to obtain the Loongson platform for testing:

  1. Apply for a free Loongson cloud host, with the recommendation to include the remark "3A5000 + required mapping ports": https://www.loongson.cn/loongsonCloud
  2. Download QEMU or KVM virtual machines: Currently, on GitHub, you can also download virtual machines with the LoongArch architecture (uploaded by Loongson experts to their own repositories). The official version is on its way, so you won't have to wait too long, but for now, you can use option one.

TRANS_BY_GPT3

yinshiyou avatar Oct 27 '21 13:10 yinshiyou

Does the boss have any plans for future adaptation to Shenwei?

TRANS_BY_GPT3

Dr-624 avatar Mar 07 '22 09:03 Dr-624

Currently, when reaching the step of 'make', it will report an error of undefined reference to '_st_md_cxt_save'. 1f4af33e061222f554d47ef31d15173

TRANS_BY_GPT3

Dr-624 avatar Mar 07 '22 09:03 Dr-624

Refer to the implementation of other platforms in trunk/3rdparty/st-srs/md_linux.S and add the implementation for Shenwei.

TRANS_BY_GPT3

yinshiyou avatar Mar 09 '22 06:03 yinshiyou

Hello, I have received your email.

TRANS_BY_GPT3

Dr-624 avatar Mar 09 '22 06:03 Dr-624

龙芯mips64' translates to 'Loongson MIPS64'.

ST adaptation https://github.com/ossrs/srs/commit/1589858cb0be003946ca6637cb6ee4039071a62f openssl adaptation https://github.com/ossrs/srs/commit/14832b66eb69fe81a3eb4e9d3afa7f6f2ddfb451 https://github.com/ossrs/srs/commit/079ac107f0bf4358df2855ac350054c9c733d0db FFmpeg adaptation https://github.com/ossrs/srs/commit/1ab584b2ae06e9724e7d34aac89dec9d69f09fdc

TRANS_BY_GPT3

winlinvip avatar Aug 09 '22 14:08 winlinvip

Currently, when reaching the "make" step, it will report an "undefined reference to '_st_md_cxt_save'" error 1f4af33e061222f554d47ef31d15173

Have you solved it? I am also facing this problem.

TRANS_BY_GPT3

xiangleiren avatar Jun 17 '23 04:06 xiangleiren

Hello, there is a problem with compiling on sw_64. Can you please provide some solutions? Thank you. image

TRANS_BY_GPT3

xiangleiren avatar Jun 17 '23 05:06 xiangleiren