[Cin] Got RX550 working on Linux!
Andrew Randrianasulu
randrianasulu at gmail.com
Fri Apr 25 13:29:39 CEST 2025
With some kind of HDMI (1.4) to VGA adapter
bash-5.1$ inxi -Gxi
Graphics:
Device-1: AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
vendor: ASRock driver: amdgpu v: kernel bus-ID: 01:00.0
Display: server: X.Org 1.21.1.99 driver: loaded: amdgpu
resolution: 1440x900~60Hz
OpenGL: renderer: AMD Radeon RX 550 / 550 Series (radeonsi polaris12 ACO
DRM 3.49 6.1.44-x64)
v: 4.6 Mesa 25.2.0-devel (git-cd8d8ca795) direct render: Yes
vainfo
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.19 (libva 2.19.0)
vainfo: Driver version: Mesa Gallium driver 25.2.0-devel for AMD
Radeon RX 550 / 550 Series (radeonsi, polaris12, ACO, DRM 3.49,
6.1.44-x64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
bash-5.1$ clpeak
Platform: rusticl
Device: AMD Radeon RX 550 / 550 Series (radeonsi, polaris12, ACO,
DRM 3.49, 6.1.44-x64)
Driver version : 25.2.0-devel (git-cd8d8ca795) (Linux x86)
Compute units : 8
Clock frequency : 1183 MHz
Global memory bandwidth (GBPS)
float : 75.30
float2 : 76.62
float4 : 80.28
float8 : 81.12
float16 : 78.93
Single-precision compute (GFLOPS)
float : 1188.83
float2 : 1187.27
float4 : 1182.98
float8 : 1174.67
float16 : 1157.09
No half precision support! Skipped
No double precision support! Skipped
Integer compute (GIOPS)
int : 240.17
int2 : 240.10
int4 : 240.01
int8 : 239.80
int16 : 239.45
Integer compute Fast 24bit (GIOPS)
int : 595.16
int2 : 594.82
int4 : 594.37
int8 : 593.12
int16 : 590.84
Transfer bandwidth (GBPS)
enqueueWriteBuffer : 3.38
enqueueReadBuffer : 1.44
enqueueWriteBuffer non-blocking : 3.39
enqueueReadBuffer non-blocking : 1.45
enqueueMapBuffer(for read) : 2.67
memcpy from mapped ptr : 3.53
enqueueUnmap(after write) : 3.29
memcpy to mapped ptr : 3.48
Kernel launch latency : 90.27 us
bash-5.1$
So, mpv plays 4k HDR file from iPhone11 smoothly (finally!)
CinGG only can do 15 fps on this file :( (8bit RGBA project, x11 output)
Encoding into 8bit HEVC also work:
bash-5.1$ mediainfo /dev/shm/vaapi-test.mp4
General
Complete name : /dev/shm/vaapi-test.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/mp41)
File size : 132 MiB
Duration : 19 s 158 ms
Overall bit rate : 57.7 Mb/s
Frame rate : 59.940 FPS
Writing application : Lavf61.1.100
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main at L5@Main
Codec ID : hev1
Codec ID/Info : High Efficiency Video Coding
Duration : 19 s 153 ms
Bit rate : 57.6 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 59.940 (60000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.116
Stream size : 132 MiB (100%)
Color range : Full
Matrix coefficients : BT.709
Codec configuration box : hvcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 19 s 158 ms
Source duration : 19 s 179 ms
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 300 KiB (0%)
Source stream size : 300 KiB (0%)
Language : Russian
Default : Yes
Alternate group : 1
but encoding still was done in seven minutes for 20 seconds test clip
(no tonemap either)
So I guess my machine seriosly bootlenecked by PCIe speeds/memory speeds?
bash-5.1$ dmesg | grep amdgpu
[ 9.887359] [drm] amdgpu kernel modesetting enabled.
[ 9.887485] amdgpu: CRAT table not found
[ 9.887527] amdgpu: Virtual CRAT table created for CPU
[ 9.887583] amdgpu: Topology: Add CPU node
[ 9.888699] amdgpu 0000:01:00.0: No more image in the PCI ROM
[ 9.889843] amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR
[ 9.889886] amdgpu: ATOM BIOS: 113-EXT-700004_L01
[ 9.890070] amdgpu 0000:01:00.0: vgaarb: deactivate vga console
[ 9.893944] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ)
feature not supported
[ 9.893950] amdgpu 0000:01:00.0: amdgpu: PCIE atomic ops is not supported
[ 10.064640] amdgpu 0000:01:00.0: amdgpu: VRAM: 4096M
0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
[ 10.064655] amdgpu 0000:01:00.0: amdgpu: GART: 256M
0x000000FF00000000 - 0x000000FF0FFFFFFF
[ 10.064725] [drm] amdgpu: 4096M of VRAM memory ready
[ 10.064729] [drm] amdgpu: 7998M of GTT memory ready.
[ 10.143106] amdgpu: hwmgr_sw_init smu backed is polaris10_smu
[ 10.572632] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops
amdgpu_dm_audio_component_bind_ops [amdgpu])
[ 10.754610] kfd kfd: amdgpu: skipped device 1002:699f, PCI rejects
atomics 730<0
[ 10.754630] amdgpu 0000:01:00.0: amdgpu: SE 2, SH per SE 1, CU per
SH 5, active_cu_number 8
[ 10.758061] amdgpu 0000:01:00.0: amdgpu: Using BACO for runtime pm
[ 10.758456] [drm] Initialized amdgpu 3.49.0 20150101 for
0000:01:00.0 on minor 0
[ 10.765104] fbcon: amdgpudrmfb (fb0) is primary device
[ 10.838142] amdgpu 0000:01:00.0: [drm] fb0: amdgpudrmfb frame buffer device
bash-5.1$ dmesg | grep PCIe
[ 0.364217] acpi PNP0A03:00: _OSC: platform does not support
[PCIeHotplug SHPCHotplug PME LTR]
[ 0.364477] acpi PNP0A03:00: _OSC: OS now controls [AER PCIeCapability]
[ 0.376895] pci 0000:01:00.0: 32.000 Gb/s available PCIe bandwidth,
limited by 5.0 GT/s PCIe x8 link at 0000:00:02.0 (capable of 63.008
Gb/s with 8.0 GT/s PCIe x8 link)
Hm, 32 Gb/s should be enough for many 4k streams?
4k ~= 8Kpix, 8*60 = 480Mpix/sec
4 byte/per pixel (30 bit for 10 bpc colors, 2 padding) still just 2Gb/s!
More information about the Cin
mailing list