성능 문제 해결¶
BC-250의 흔한 성능 문제와 해결 방법을 다룹니다.
빠른 진단¶
특정 문제를 해결하기 전에 다음 명령으로 시스템 상태를 확인하세요:
# Check GPU frequency and temperature
sensors
# Check GPU clock state (live)
# Pick the right card: ls -l /sys/class/drm/ | grep card (usually card0 for the BC-250)
watch -n 1 cat /sys/class/drm/card0/device/pp_dpm_sclk
watch -n 1 cat /sys/class/drm/card0/device/pp_dpm_mclk
# Note: `gpu_busy_percent` does NOT work on the BC-250 (amdgpu driver leaves
# the metric field uninitialised, hence the famous MangoHud 655% bug).
# See the MangoHud admonition further down for the fix and root cause.
# Check if GPU driver is loaded
lspci -k | grep -A 3 VGA
# Verify Mesa version
glxinfo | grep "OpenGL version"
# Check governor status
systemctl status cyan-skillfish-governor-smu
# or if using TT governor:
# systemctl status cyan-skillfish-governor-tt
GPU가 1500MHz에 고정¶
증상:
- 부하와 관계없이 GPU 주파수가 1500MHz에 고정
- 온도는 괜찮지만 게임에서 낮은 FPS
- radeontop 또는 모니터링 도구에서 항상 1500MHz 표시
원인: 기본 GPU governor가 BIOS에서 잠겨 있습니다. 사용자 공간 governor 없이는 GPU가 동적으로 주파수를 조절할 수 없습니다.
해결: GPU Governor 설치
BC-250은 350-2300MHz(패치된 커널) 또는 1000-2000MHz(패치되지 않은 커널) 사이의 동적 주파수 조절을 위해 커스텀 GPU governor가 필요합니다.
옵션 1: Cyan Skillfish Governor SMU (권장)¶
특징: - SMU 펌웨어 호출을 통한 연속 주파수 조절 - GPU 사용률 70-95% 유지 (설정 가능) - 모든 배포판에서 커널 패치 불필요 - 24ms burst-to-max 시간 - 버스트 부하에 더 반응적
설치:
Fedora/RPM:
Arch/AUR:
Debian/Ubuntu:
업스트림은 .deb를 제공하지 않습니다. filippor의 릴리스에서 최신 cyan-skillfish-governor-smu-*-x86_64-linux.tar.gz를 받아 추출한 뒤 sudo ./scripts/install.sh를 실행하세요.
설정:
governor는 전압/주파수 페어를 사용합니다. 설정 파일을 편집하고 테스트한 안정적인 포인트를 추가하세요:
safe-points = [
{ freq_mhz = 350, voltage_mv = 570 },
{ freq_mhz = 860, voltage_mv = 600 },
{ freq_mhz = 1090, voltage_mv = 650 },
{ freq_mhz = 1280, voltage_mv = 700 },
{ freq_mhz = 1460, voltage_mv = 750 },
{ freq_mhz = 1620, voltage_mv = 800 },
{ freq_mhz = 1760, voltage_mv = 850 },
{ freq_mhz = 1890, voltage_mv = 900 },
{ freq_mhz = 2030, voltage_mv = 950 },
{ freq_mhz = 2090, voltage_mv = 975 },
{ freq_mhz = 2140, voltage_mv = 1000 },
{ freq_mhz = 2230, voltage_mv = 1050 },
]
load_target = { min = 70, max = 95 }
값을 테스트하세요
기본값은 보수적입니다. 보드별로 안정성을 테스트하세요:
# Stop the governor
sudo systemctl stop cyan-skillfish-governor-smu
# Manually set frequency/voltage
echo vc 0 <CLOCK> <VOLTAGE> > /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
# Run stress test (benchmark, game, etc.)
# If stable, add to config. If crashes, increase voltage or lower frequency.
활성화 및 시작:
GPU 주파수가 2000MHz 이상으로 올라가지 않음¶
증상: - governor가 설치되었지만 GPU가 2000MHz 이상으로 올라가지 않음 - governor 설정에 최대 2300MHz가 있지만 실제 주파수는 제한됨
원인: 커널에 주파수 범위 패치가 없음.
해결: 커널 패치 적용
BC-250은 주파수 범위를 500-2500MHz로 잠금 해제하는 커널 패치가 필요합니다 (기본값은 1000-2000MHz).
사전 패치된 커널:
Bazzite: 기본적으로 패치된 커널 사용 (조치 불필요)
CachyOS:
Fedora/Arch - 수동 패치:
패치 다운로드:
wget https://raw.githubusercontent.com/mothenjoyer69/bc250-documentation/main/kernel-patches/amdgpu-frequency-range.patch
커널 소스에 적용 후 재컴파일하거나 dkms 또는 CachyOS 커널 매니저 등의 도구 사용.
확인:
소프트웨어 렌더링(llvmpipe) 대신 GPU 미사용¶
증상:
- glxinfo | grep "OpenGL renderer"에 "llvmpipe" 표시
- 게임이 극도로 느림 (5-10 FPS)
- Steam 시스템 정보에 "Software Rendering" 표시
진단:
glxinfo | grep "OpenGL renderer"
# Bad: OpenGL renderer string: llvmpipe (LLVM 15.0.0, 256 bits)
# Good: OpenGL renderer string: AMD Radeon Graphics (gfx1013, LLVM 15.0.0, DRM 3.54, 6.12.0)
vulkaninfo --summary
# Should show AMD RADV driver
원인 1: Mesa가 너무 오래됨
해결: Mesa 25.1.3 이상으로 업그레이드
Fedora 43+:
Fedora 42는 지원 종료
Mesa 25.x가 포함된 Fedora 43으로 업그레이드하세요.
Arch/Manjaro:
확인:
원인 2: 잘못된 그래픽 어댑터 선택
일부 게임(특히 Red Dead Redemption 2)은 기본적으로 소프트웨어 렌더링을 사용합니다.
해결:
사용 가능한 어댑터 확인:
게임 내에서 그래픽 어댑터 번호를 GPU(llvmpipe가 아닌)에 맞게 변경.
RDR2의 경우 다음으로 실행:
원인 3: 드라이버가 로드되지 않음
amdgpu 드라이버가 로드되었는지 확인:
로드되지 않은 경우:
일반적인 수정 — 다음 커널 파라미터 설정 (nomodeset은 제거):
# Edit /etc/default/grub (sg_display=0 only needed for kernels < 6.10)
GRUB_CMDLINE_LINUX_DEFAULT="amdgpu.sg_display=0"
# Regenerate grub config
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Fedora
sudo grub-mkconfig -o /boot/grub/grub.cfg # Arch
낮은 FPS / 게임 성능 저하¶
GPU 사용률 확인¶
# Monitor GPU clock state under load (proxy for utilisation since gpu_busy_percent is broken on BC-250)
watch -n 1 cat /sys/class/drm/card0/device/pp_dpm_sclk
# If the * marker sits at the lowest level under a heavy game = governor not boosting
# If it sits at the top level = GPU is loaded; check temps and thermal throttle
# Alternative: `radeontop` for a busier overview (apt/dnf/pacman install radeontop)
문제: Governor 미설치¶
위의 "GPU가 1500MHz에 고정" 섹션 참조.
문제: 문제 있는 커널 버전¶
증상: - 이전에 작동하던 설정이 커널 업데이트 후 성능 급락 - 부하 시 무작위 GPU 크래시 - 게임 중 시스템 동결 - 커널 6.15.0-6.15.6 또는 6.17.8-6.17.10 실행 중
해결:
작동하는 커널 설치
문제 있는 커널 버전 피하기
커널 6.15.0-6.15.6 및 6.17.8-6.17.10은 GPU 드라이버 지원을 망가뜨립니다. 최상의 성능을 위해 6.18.18 LTS(권장) 또는 6.17.11+를 사용하세요.
Arch/Manjaro:
# Option 1: Install working kernel (6.17.11+ or 6.18.x)
sudo pacman -S linux # Check version is 6.17.11+ or 6.18.x
# Option 2: Install LTS kernel for guaranteed stability
sudo pacman -S linux-lts linux-lts-headers
# Set as default in bootloader
CachyOS:
# Check version first
paru -S linux-cachyos # Ensure it's 6.17.11+ or 6.18.x
# Or for LTS stability:
paru -S linux-cachyos-lts linux-cachyos-lts-headers
Fedora:
# Check current kernel
uname -r
# Install older kernel from koji if needed
# Or wait for kernel fixes
문제: IOMMU로 인한 크래시¶
증상: - GPU 부하 시 무작위 시스템 크래시 - 이상한 성능 문제 - 시스템 멈춤
BC-250에서 IOMMU는 고장
IOMMU는 BIOS에서 **반드시 비활성화**해야 합니다. BC-250에서 고장 상태이며 크래시, 디스플레이 실패, 불안정을 유발합니다.
해결:
BIOS에서 IOMMU 비활성화 (필수), 또는 백업으로 커널 파라미터 추가:
문제: 게임별 최적화¶
Steam 실행 옵션:
# FSR enabled
WINE_FULLSCREEN_FSR=1 %command%
# Vulkan backend
PROTON_USE_WINED3D=0 %command%
# Gamescope for consistent frametimes
gamescope -W 1920 -H 1080 -f -- %command%
열 스로틀링¶
증상: - 처음에는 성능이 좋다가 5-15분 후 저하 - 온도 85-90°C 이상 - 지속 부하에서 GPU 주파수 하락
온도 확인:
안전한 작동 온도: - 70-85°C: 부하 시 정상 - 85-90°C: 높지만 허용 가능 - 90°C+: 열 스로틀링 가능성
해결:
1. 냉각 개선¶
Arctic P12 Max 권장 (높은 정압: 3.27 mmH2O)
다른 좋은 옵션: - Noctua NF-A12x25 (2.34 mmH2O) - Arctic P14 PWM (2.4 mmH2O)
팬 구성:
2. 재도포 / 열 패드 교체¶
- APU 다이: 고품질 서멀 페이스트(Arctic MX-4, Noctua NT-H1) 또는 PTM7950 상변화 패드 사용
- 메모리/VRM: 2mm 열 패드 (두께 먼저 확인)
- 히트싱크가 제대로 고정되었는지 확인
3. GPU 언더볼트¶
열 스로틀링이 지속되면 언더볼트 시도:
# Example: 2000MHz at 940mV instead of 1000mV
echo vc 0 2000 940 > /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
echo c > /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
벤치마크로 안정성 테스트. 안정적이면 governor 설정 업데이트.
VRAM 할당 문제¶
현재 VRAM 분할 확인¶
문제: "Out of Memory"로 게임 크래시¶
증상: - 로딩 후 게임 크래시 - 아티팩트 후 크래시 (Company of Heroes 3, RDR2) - "Out of memory" 오류
흔한 경우: 512MB 동적 할당 + ZRAM 활성화
해결 1: 고정 VRAM 할당 사용
BIOS로 부팅하여 VRAM 할당 변경: - 대부분의 게임: 4GB VRAM / 12GB RAM - 경쟁/e스포츠: 6GB VRAM / 10GB RAM - VRAM 많이 쓰는 게임: 8GB VRAM / 8GB RAM 또는 10GB VRAM / 6GB RAM
동적 할당 문제
512MB 동적 할당은 일부 게임에서 ZRAM과 충돌합니다. 고정 할당을 사용하세요.
해결 2: ZRAM 비활성화
해결 3: ZRAM을 zswap으로 교체 (RAM 많이 쓰는 게임에 더 좋음)
zswap은 디스크에 쓰기 전에 RAM에서 스왑을 압축하여 ZRAM의 VRAM 충돌을 피하면서 메모리 압박을 완화합니다.
Bazzite 설정:
# Disable zram
echo "" | sudo tee /etc/systemd/zram-generator.conf
# Set up swapfile first (see https://docs.bazzite.gg/Advanced/swapfile/)
# Enable lz4 drivers in initramfs
rpm-ostree initramfs --enable \
--arg=--add-drivers \
--arg=lz4 \
--arg=--add-drivers \
--arg=lz4_compress
# Add kernel parameters
rpm-ostree kargs --append-if-missing="zswap.enabled=1 zswap.max_pool_percent=25 zswap.compressor=lz4"
# Reboot, then set swappiness
echo 180 | sudo tee /proc/sys/vm/swappiness
확인: grep -r . /sys/module/zswap/parameters/
zswap과 SSD 수명
zswap은 결국 디스크의 스왑 파일에 씁니다. 느린 저장 장치에서는 권장하지 않습니다.
해결 4: VRAM 가시성 증가 (고급)
12GB 이상 VRAM이 필요한 LLM/AI 워크로드용:
커널 명령줄에 추가:
GPU가 최대 ~14.75GB VRAM을 할당할 수 있습니다. 크래시 방지를 위해 애플리케이션에서 14.25-14.5GB로 제한하세요.
스터터링 및 프레임 페이싱¶
문제: 불일관한 프레임 시간¶
증상: - FPS 카운터는 60+를 보여주지만 끊기는 느낌 - 프레임 시간 그래프에 스파이크 - 게임플레이 중 스터터링
해결 1: Gamescope 사용
Gamescope는 일관된 프레임 페이싱을 제공합니다:
# Install gamescope
sudo dnf install gamescope # Fedora
sudo pacman -S gamescope # Arch
# Launch game through gamescope
gamescope -W 1920 -H 1080 -f -- %command%
# With frame limit
gamescope -W 1920 -H 1080 -r 60 -f -- %command%
해결 2: 컴포지터 비활성화 (X11)
KDE Plasma (X11):
# Disable compositor in System Settings > Display > Compositor
# Or use keyboard shortcut: Alt+Shift+F12
해결 3: Wayland 사용
Wayland는 일반적으로 X11보다 프레임 페이싱이 더 좋습니다.
해결 4: 오디오 설정
일부 게임(특히 에뮬레이터)은 프레임 페이싱이 오디오에 연결됩니다:
# Check PulseAudio/PipeWire sample rate
pactl info | grep "Default Sample"
# Lock to 48kHz
# Edit /etc/pulse/daemon.conf (PulseAudio) or PipeWire config
default-sample-rate = 48000
Ryujinx (Switch 에뮬레이터): 설정에서 오디오 백엔드를 변경하면 성능이 크게 개선될 수 있습니다.
시스템 구성 문제¶
커널 파라미터 (최적)¶
/etc/default/grub 편집:
설명:
- amdgpu.sg_display=0: 커널 < 6.10에 필요 (6.10 이상에서는 해가 없음)
- mitigations=off: Cyberpunk 2077에서 +18 FPS (60→78 FPS) 하지만 보안 감소
보안 경고
mitigations=off는 CPU 취약점 완화를 비활성화합니다. 시스템에서 실행되는 모든 코드를 신뢰하는 경우에만 사용하세요.
grub 재생성:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Fedora
sudo grub-mkconfig -o /boot/grub/grub.cfg # Arch
nomodeset 제거¶
중요: 드라이버 설치 후 nomodeset 제거
nomodeset은 설치용입니다. GPU 가속을 비활성화합니다. Mesa 설치 후 제거하세요.
존재 여부 확인:
발견되면 제거하고 grub 설정 재생성.
성능 모니터링 도구¶
실시간 모니터링¶
MangoHud (게임 내 오버레이):
# Install
sudo dnf install mangohud # Fedora
sudo pacman -S mangohud # Arch
# Use in Steam launch options
mangohud %command%
# Or global config in ~/.config/MangoHud/MangoHud.conf
MangoHud가 BC-250에서 655% GPU 사용률을 보고합니다
BC-250 amdgpu 드라이버는 /sys/.../gpu_metrics의 GPU 활동 필드를 채우지 않습니다. 바이트 0x1C-0x1D가 0xFFFF로 유지되고, MangoHud는 65535를 읽어 100으로 나누므로 오버레이에 655% GPU 부하가 표시됩니다. Fedora 43, 커널 7.0.9-105.fc43.x86_64, MangoHud 0.8.2에서 재현됨.
수정: 기본 설정으로 cyan-skillfish-governor-smu(smu 브랜치) 실행. governor는 gpu_metrics 위에 쓰기 가능한 tmpfs 파일을 bind-mount하고 매 주기마다 샘플링된 활동 값(busy-flag 방법)을 바이트 0x1C에 씁니다. gpu_metrics를 읽는 모든 것(MangoHud, radeontop 등)이 정상적인 퍼센트를 볼 수 있습니다. MangoHud 설정 변경 불필요.
# /etc/cyan-skillfish-governor-smu/config.toml — defaults shown for reference
[gpu-usage]
fix-metrics = true
method = "busy-flag"
flush-every = 10
실시간 확인: governor 중지 시 gpu_metrics의 오프셋 0x1C 바이트는 ffff. governor 실행 시 같은 바이트는 유휴 시 0000(0%). 서비스 활성 중 bind mount가 /proc/self/mountinfo에 표시됨.
출처: filippor/cyan-skillfish-governor smu branch — src/gpu_usage_fix.rs.
Radeontop (터미널):
Sensors (온도/전압):
CoolerControl (GUI):
벤치마킹¶
Unigine Superposition:
# Good for thermal/stability testing
# 1080p Extreme preset
# Stock BC-250: ~3888 score
# 2.22GHz OC: ~4118 score
vkmark (Vulkan):
Cyberpunk 2077 벤치마크: 커뮤니티 인기 테스트 — 일관된 결과: - 스톡: ~57 FPS (1080p high) - 2.22GHz: ~60 FPS - mitigations=off 사용 시: +15-20 FPS
헤드리스 BC-250에서 GPU 부하 테스트¶
많은 BC-250 빌드가 헤드리스로 실행됩니다 (LLM 서버, 렌더 팜 등). 워크로드가 GPU를 실제로 로드하는지 확인할 때 피해야 할 두 가지:
헤드리스 박스에서 GPU 부하 테스트에 glmark2 --off-screen을 사용하지 마세요
디스플레이 없이 glmark2 --off-screen은 조용히 LLVMpipe(CPU 소프트웨어 렌더링)로 폴백합니다. GPU는 아무것도 하지 않고, gpu_busy_percent는 0에 머물고, governor는 boost하지 않으며, 몇 시간 동안 "governor가 작동 안 함" 유령 버그를 쫓을 수 있습니다. BC-250 유지보수자의 문서화된 경험입니다.
GPU를 실제로 로드하는 방법:
# Vulkan compute, deterministic
clpeak
# Real-world Vulkan workload
llama-bench -m model.gguf -ngl 99
# Vulkan rendering benchmark (offscreen works correctly)
vkmark
테스트 결과로 결론을 내기 전에 GPU 클럭과 전력이 실제로 올라가는지 확인:
# In another terminal while your test runs
watch -n 1 cat /sys/kernel/debug/dri/0/amdgpu_pm_info 2>/dev/null \
| grep -E "GFX|SCLK|MCLK|^[[:space:]]*[0-9]+\.[0-9]+ W"
SCLK가 유휴에 머물고 전력이 "부하 테스트" 중 60W 이하라면 테스트가 GPU를 로드하지 않으며, 그 테스트에서 내린 결론은 노이즈입니다.
배포판별 문제¶
Fedora¶
문제: MTG Arena가 GUI 크래시 - Fedora + Gnome에서 확인된 문제 - Manjaro에서는 정상 - Gnome 대신 KDE Plasma 시도
Bazzite¶
문제: 절전 시 동결 - 알려진 문제: 절전 진입 시 시스템이 동결된 것처럼 보임 - 해결: 전원 버튼을 눌러 깨우기 (길게 누르지 말고 짧게)
문제: Bazzite 업데이트로 시스템 고장 - 업데이트로 문제가 생기면 롤백:
CachyOS¶
문제: 설치 ISO가 부팅되지 않음 - LTS 커널 ISO 사용 - LTS 커널로 커스텀 ISO 빌드 (시스템 구성 섹션의 가이드 참조)
빠른 성능 체크리스트¶
시스템이 제대로 구성되었는지 확인하는 체크리스트:
- Mesa 버전 25.1.3 이상
- 커널 6.18.18 LTS(권장), 6.17.11+, 또는 6.12.x-6.14.x LTS (6.15.0-6.15.6 또는 6.17.8-6.17.10 아님)
- GPU governor 설치 및 실행 중 (cyan-skillfish-governor-smu 권장)
- 커널 파라미터에서
nomodeset제거 - BIOS를 P3.00으로 플래시, 512MB 동적 또는 4-12GB 고정 VRAM
-
glxinfo에 RADV 드라이버 표시, llvmpipe 아님 - 부하 시 온도 85°C 이하
- 높은 정압 팬으로 냉각 (>2.0 mmH2O)
- BIOS에서 IOMMU 비활성화
-
systemctl status cyan-skillfish-governor-smu가 active 표시
빠른 테스트:
# This should show GPU scaling dynamically
watch -n 0.5 'cat /sys/class/drm/card0/device/pp_dpm_sclk && cat /sys/class/drm/card0/device/pp_dpm_mclk'
# Run a game or benchmark
# Frequency should scale from ~1000MHz idle to 2000+MHz under load
# GPU utilization should be 80-100% in demanding scenes
도움 받기¶
이 가이드를 따른 후에도 성능 문제가 지속되는 경우:
-
시스템 정보 수집:
-
Discord 커뮤니티 참여:
- BC-250 Discord: 가장 큰 커뮤니티, 가장 활발한 지원
-
먼저 특정 문제를 검색 — 아마 이미 해결됨
-
GitHub 문서 확인:
- https://github.com/mothenjoyer69/bc250-documentation
- https://github.com/AMD-BC-250/documentation