mshell v1.2.9.5 ¹èÆ÷ ( amd-modules Ãß°¡ ) amd gpu dpu/apu H/W Æ®·£½ºÄÚµù ±â´É Ãß°¡
기존에 sa6400(epyc7002) / ds425+(geminilakenk) 에서만 custom-modules 를 사용하는 경우
amd 그래픽 카드(외장/내장)의 h/w 트랜스코딩 기능을 활성화 드렸었습니다.
사실 이 모듈은 rr 의 것을 그대로 가져왔고 제가 라이젠 APU 가 가능하도록 코드를 더 열어서 amdgpu 만 추가 컴파일해서 탑재했던 것 입니다.
H/W 트랜스 코딩 셋팅 방법은 지난번 공유 드렸던 이 가이드를 참조 하시면 좋을것 같습니다.
라이젠 APU / AMD dGPU 그래픽 네이티브 H/W 트랜스코딩 만들기라이젠 APU / AMD dGPU 그래픽 네이티브 H/W 트랜스코딩 (젤리핀/PLEX) 가이드 입니다. 5-1 (Jellyfin) / 6-1 (plex) 로 두가지 트랜스코딩이 가능합니다. 시놀로지 DSM 은 기본적으로 AMD 용 Mesa 드라이버를 지원하...by 화정큐삼 from 서버포럼
amd-modules 는 커널 5 기반의 4개 플랫폼
epyc7002 / geminilakenk / v1000nk / r1000nk 의 DSM 7.3.2 버전만 지원합니다.
지원하는 AMD GPU 범위 입니다.
dGPU (외장 그래픽 카드)
| 아키텍처 | 칩 | 대표 제품 |
|---|---|---|
| GCN3/4 (VI) | Tonga, Fiji, Polaris 10/11/12, Vega-M | R9 285/380/390, R9 Fury/Nano, RX 460·470·480·550·560·570·580·590, WX 2100·3100·4100·7100 |
| GCN5 (Vega) | Vega10/12/20, Arcturus | RX Vega 56·64, Radeon VII, WX 8200·9100, Instinct MI 시리즈 |
| RDNA1 | Navi 10/12/14 | RX 5500·5600·5700 (XT) |
| RDNA2 | Sienna Cichlid(Navi21), Navy Flounder(Navi22) | RX 6700·6800·6900 (XT) |
APU (내장 그래픽 — Ryzen)
| 아키텍처 | 칩 | Ryzen 제품 |
|---|---|---|
| GCN3 | Carrizo, Stoney | 카리조/스토니 APU |
| GCN5 (Vega) | Raven | Ryzen 2000G·3000G |
| GCN5 (Vega) | Renoir | Ryzen 4000G·4000U |
| GCN5 (Vega) | Cezanne / Barcelo | Ryzen 5000G·5000U |
기존의 all-modules 는 인텔 iGPU 의 H/W 트랜스코딩을 위한 i915 와 drm 백포트 모듈중심으로 되어있는데,
amd-modules 는 i915 모듈을 들어내고 대신 이번에 제가 백포트한 amdgpu + drm + amd 펌웨어 를
대신 이식해 둔것 입니다.
기존의 all-modules 의 안정성과 동일하게 동작 되는것이 장점입니다.
커널 4 기반의 DS918+ / DS920+ 등도 지원을 드리려 했지만 amd gpu 관련된 백포트 소스는
커널 4.15 부터 등장하기 시작했다고 합니다.
하지만, 시놀로지의 커널4 기반의 플랫폼들은 4.4 가 마지막 버전입니다.
시놀로지가 4.15 에 대비한 DSM 버전이 나오고 툴체인을 배포한다면 가능한 일이라서 몇시간 작업하다가 더 이상 진행하면 안되는 케이스라 판단하고 접었습니다.

위 메뉴에서 가급적 IML 방식을 추천드립니다.
잘 안되시는 경우라면 RR 이 채택하고 있는 PML 방식을 사용해도 됩니다만,
추천 방식은 MSHELL 의 고유 방식인 IML 입니다.
DSM 까지 설치하시고 나서 amdgpu 모듈이 잘 동작하고 있는지는 아래와 같은 커맨드로 확인해 보시면 됩니다.
lspci -nnq | grep AMD
ll /dev/dri
lsmod | grep amd
dmesg | grep amd
admin2@DS920p:~$ lspci -nnq | grep AMD
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lexa XT [Radeon PRO WX 3100] [1002:6985]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] [1002:aae0]
admin2@DS920p:~$ ll /dev/dri
total 0
drwxr-xr-x 3 root root 100 May 21 16:00 .
drwxr-xr-x 13 root root 13980 May 21 16:00 ..
drwxr-xr-x 2 root root 80 May 21 16:00 by-path
crw------- 1 root root 226, 0 May 21 16:00 card0
crw-rw---- 1 root videodriver 226, 128 May 21 16:00 renderD128
admin2@DS920p:~$ lsmod | grep amd
amdgpu 3141632 0
gpu_sched 24576 1 amdgpu
ttm 57344 2 amdgpu,drm_ttm_helper
drm_kms_helper 143360 1 amdgpu
drm 352256 6 gpu_sched,drm_kms_helper,amdgpu,drm_ttm_helper,ttm
i2c_algo_bit 16384 1 amdgpu
backlight 16384 1 amdgpu
hdmi_video 24576 2 amdgpu,drm
dmabuf 45056 5 gpu_sched,drm_kms_helper,amdgpu,ttm,drm
admin2@DS920p:~$ dmesg | grep amd
[ 1668.056482] [drm] amdgpu kernel modesetting enabled.
[ 1668.070487] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
[ 1668.133087] amdgpu 0000:01:00.0: No more image in the PCI ROM
[ 1668.139322] amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR
[ 1668.145841] amdgpu: ATOM BIOS: 113-D0910100-102
[ 1668.172993] amdgpu 0000:01:00.0: amdgpu: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
[ 1668.182880] amdgpu 0000:01:00.0: amdgpu: GART: 256M 0x000000FF00000000 - 0x000000FF0FFFFFFF
[ 1668.229951] [drm] amdgpu: 4096M of VRAM memory ready
[ 1668.235056] [drm] amdgpu: 4096M of GTT memory ready.
[ 1668.259924] amdgpu: hwmgr_sw_init smu backed is polaris10_smu
[ 1668.606501] amdgpu 0000:01:00.0: amdgpu: SE 2, SH per SE 1, CU per SH 5, active_cu_number 8
[ 1668.625346] [drm] Initialized amdgpu 3.40.0 20150101 for 0000:01:00.0 on minor 0
admin2@DS920p:~$ uname -a
Linux DS920p 5.10.55+ #86009 SMP Tue Mar 17 18:49:51 CST 2026 x86_64 GNU/Linux synology_epyc7002_sa6400
라이젠 APU 가속 중심으로 시험해 보시면 좋을것 같습니다.
저는 RX560 과 같은 폴라리스12를 가지고 있는 WX3100 으로 테스트 해봤습니만,
Claude 로 테스트 트랜스코딩 성능 측정 해본 결과로도 그렇게 나쁘지 않았습니다.
라이젠 APU 는 더 신형이라서 커버되는 코덱이 많을겁니다.
저처럼 Claude Code 쓰시는 분들은 시놀로지 설치하시고
sudoers 권한을 Claude Code 한테 열어주시면, 알아서 도커 Jellyfin 환경을 다 잡아줍니다.
도커는 미리 설치한 상태에서 위 가이드 내용 알려주면서 시도해 달라고 하기만 하시면 됩니다.
추가로 트랜스코딩 성능을 코덱별로 테스트 해달라고 하셔도 알아서 리포팅을 해주네요.


Ä¿³Î 4.15 °¡ ÇÊ¿äÇÑ »çÇ×À» shimming 󸮷Π¿ìȸÇÒ ¼ö ÀÖÀ»°Í °°½À´Ï´Ù.
Ä¿³Î¹öÀü ºÒÀÏÄ¡·Î ÅÍÁ® ³ª°£°÷ÀÌ ¸¹Áö ¾Ê¾Æ¼ ºÀÇÕÀÌ ÀßÇÏ¸é µÉµí ÇÕ´Ï´Ù.
Àß »ç¿ëÇϰڽÀ´Ï´Ù~~
¸ðµç Ç÷§Æû ¾ÈÁ¤È ¹öÀü v1.2.9.6 ¹èÆ÷ µÇ¾ú½À´Ï´Ù.