환경 변수 가이드¶
이 가이드는 BC-250 그래픽 설정, 성능 튜닝, 디버깅을 위한 모든 환경 변수를 다룹니다.
핵심 환경 변수¶
중요: RADV_DEBUG는 환경 변수이며 커널 인자가 아닙니다
grub, /etc/default/grub 등 커널 파라미터에 추가하지 마세요.
RADV_DEBUG는 다음 방법으로만 설정하세요:
- Steam 실행 옵션: RADV_DEBUG=nohiz %command%
- 셸: 실행 전 export RADV_DEBUG=nohiz
- /etc/environment(시스템 전역)
- 앱별 래퍼
RADV_DEBUG=nocompute¶
상태: Mesa 25.1+에서 DEPRECATED
연산 큐 문제는 업스트림에서 해결되었습니다. Mesa 25.0 이하에서만 사용하세요.
Mesa 25.1 이상에서는 Game Mode 안정성을 위해 RADV_DEBUG=nohiz를 사용하세요.
역할: BC-250 연산 큐에 하드웨어 문제가 있어 그래픽 아티팩트와 렌더링 문제를 유발했습니다. 이 변수는 모든 워크로드를 그래픽 큐로 강제했습니다.
사용 시점:
- Mesa 25.0 이하에서만 필요
- Mesa 25.1+에서는 불필요 — 연산 큐 문제 수정됨
설정 방법(오래된 Mesa에서 필요 시):
# Steam 실행 옵션
RADV_DEBUG=nocompute %command%
# 시스템 전역(/etc/environment에 추가)
RADV_DEBUG=nocompute
# 앱별
RADV_DEBUG=nocompute ./game
RADV_DEBUG=nohiz¶
목적: 추가 그래픽 아티팩트 수정
nocompute를 써도 일부 게임에서 렌더링 문제가 있습니다. 이 변수는 계층적 Z-buffer 최적화를 비활성화합니다.
사용 시점:
- 게임에서 시각적 아티팩트 또는 glitch가 보일 때
- 다른 RADV_DEBUG 옵션과 결합 가능
설정 방법:
RADV(Vulkan 드라이버) 변수¶
VK_ICD_FILENAMES¶
목적: Vulkan 드라이버 위치 명시
일부 애플리케이션, 특히 Steam Big Picture 모드에서 하드웨어 가속에 필요합니다.
사용법:
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json
필요한 경우:
- Steam Big Picture 하드웨어 가속
- Vulkan 드라이버를 자동으로 찾지 못하는 앱
- Flatpak 애플리케이션(경로가 다름)
radv_enable_unified_heap_on_apu¶
목적: 메모리 할당 문제 우회
APU 시스템에서 통합 메모리 힙을 활성화합니다. 일부 게임의 OOM 오류에 도움이 됩니다.
설정:
/etc/drirc에 추가:
<driconf>
<device>
<application name="Default">
<option name="radv_enable_unified_heap_on_apu" value="true" />
</application>
</device>
</driconf>
필요한 경우:
- 메모리 오류로 게임 크래시
- 전체 VRAM을 활용하지 못하는 앱
- BC-250 메모리 지원이 완전하지 않은 Mesa 버전
AMD GPU 변수¶
AMD_LOG_LEVEL¶
목적: AMD 드라이버 문제 디버깅
AMD GPU 드라이버 로깅 상세 수준을 제어합니다.
값:
0— 오류만1— 경고2— 정보3— 상세4— 디버그(매우 상세)
사용법:
사용 시점:
- 드라이버 문제 해결
- ROCm/연산 문제 디버깅
- 크래시 또는 멈춤 조사
HSA_OVERRIDE_GFX_VERSION¶
목적: GPU 아키텍처 감지 우회
BC-250(gfx1013)을 다른 아키텍처로 인식하게 합니다.
일반적인 값:
10.1.0— gfx1010(RDNA 1.0)으로 위장10.3.0— gfx1030(RDNA 2.0)으로 위장
사용법:
사용 시점:
- gfx1013을 지원하지 않는 ROCm 앱
- 연산 워크로드에서 제한적 지원 확보
- llama.cpp로 LLM 추론(성공은 제한적)
경고: 우회 방법이며 불안정 또는 잘못된 결과를 유발할 수 있습니다.
LLM/연산 변수¶
GGML_VK_FORCE_MAX_ALLOCATION_SIZE¶
목적: llama.cpp용 Vulkan 메모리 할당 크기 제한
단일 할당 크기를 제한하여 OOM 오류를 방지합니다.
값:
사용 시점:
- Vulkan 백엔드로 llama.cpp 실행
- 대형 모델에서 OOM 오류
- 메모리 fragmentation 문제
성능:
- 4비트 양자화 8B 모델 ~60 tokens/sec 가능
- Vulkan은 12GB VRAM 분할 중 ~10GB만 인식(제한)
TTM 모듈 설정¶
목적: GPU 공유 메모리 관리 제어
TTM(Translation Table Manager) 모듈은 CPU와 GPU 간 공유 메모리를 관리합니다.
설정:
/etc/modprobe.d/ttm-mem-limit.conf 생성:
역할:
- GPU용 사용 가능 메모리 페이지 설정(4KB 페이지 단위)
- 기본값은 12GB VRAM 분할에도 8GB만 허용할 수 있음
- 필요 시 전체 RAM을 VRAM으로 사용 가능
pages_limit 계산:
성능 변수¶
mitigations=off¶
유형: 커널 부트 파라미터(환경 변수 아님)
CPU 보안 완화를 비활성화하여 프로세서 성능을 향상합니다.
설정 방법:
/etc/default/grub 편집:
GRUB 업데이트:
성능 향상:
- CPU 성능 5–10% 개선
- 에뮬레이션 및 CPU 부담 게임에 특히 도움
보안 트레이드오프:
- Spectre, Meltdown 등 취약점 완화 비활성화
- 신뢰할 수 있는/격리된 시스템에서만 사용
Flatpak 변수¶
FLATPAK_GL_DRIVERS¶
목적: Flatpak이 특정 Mesa 드라이버 사용 강제
Flatpak 애플리케이션에서 mesa-git 드라이버를 활성화합니다.
설정:
sudo mkdir -p /etc/systemd/system/service.d
sudo bash -c 'echo -e "[Service]\nEnvironment=FLATPAK_GL_DRIVERS=mesa-git" > /etc/systemd/system/service.d/99-flatpak-mesa-git.conf'
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak install --system flathub-beta org.freedesktop.Platform.GL.mesa-git//24.08
flatpak install --system flathub-beta org.freedesktop.Platform.GL32.mesa-git//24.08
ROCm 변수(제한적 지원)¶
GGML_HIP_UMA¶
목적: HIP용 Unified Memory Architecture 활성화
llama.cpp를 ROCm 지원으로 컴파일할 때 사용합니다.
사용법:
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" \
cmake -S . -B build \
-DLLAMA_CURL=ON \
-DGGML_HIP=ON \
-DAMDGPU_TARGETS=gfx1013 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_HIP_COMPILER_ROCM_ROOT=/usr \
-DGGML_HIP_UMA=ON
현재 상태:
- BC-250에서 ROCm 지원은 매우 제한적
- rocBLAS에 gfx1013 바이너리 누락(
TensileLibrary_lazy_gfx1013.dat) - 우회 시 무의미한 출력
- Vulkan 백엔드 권장
변수 설정¶
게임별(Steam)¶
게임 우클릭 > 속성 > 실행 옵션:
시스템 전역(모든 앱)¶
/etc/environment 편집:
RADV_DEBUG=nocompute
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json
세션별(터미널)¶
systemd 서비스 파일¶
게임 서버 등 서비스용:
[Service]
Environment="RADV_DEBUG=nocompute"
Environment="VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
Proton/Wine 변수¶
DXVK_HUD¶
목적: DXVK 성능 오버레이 표시
PROTON_LOG¶
목적: Proton 디버그 로깅 활성화
PROTON_USE_WINED3D¶
목적: Vulkan 대신 OpenGL 사용
Vulkan에 문제가 있을 때 폴백:
디버깅 변수¶
RADV_PERFTEST¶
목적: 실험적 RADV 기능 활성화
경고: 실험적 기능은 불안정을 유발할 수 있습니다.
MESA_DEBUG¶
목적: Mesa 드라이버 디버깅
OpenCL 변수¶
RUSTICL_ENABLE¶
목적: Rusticl OpenCL 구현 활성화
참고: BC-250에서 OpenCL 지원은 제한적입니다. GPU가 GPU 디바이스로 인식되지 않을 수 있습니다.
완전한 게이밍 설정 예시¶
Steam 게임 권장 실행 옵션(Mesa 25.1+):
추가 디버깅(Mesa < 25.1만 — 25.1+에서는 nocompute 불필요):
환경 변수 우선순위¶
변수는 다음 순서로 적용됩니다(뒤가 앞을 덮어씀):
- 시스템 전역
/etc/environment - 사용자 프로필
~/.profile또는~/.bashrc - systemd 서비스 파일
- Steam 실행 옵션
- 직접 명령줄
VARIABLE=value ./app
확인¶
변수가 설정되었는지 확인:
# 모든 환경 변수 표시
env | grep -i radv
env | grep -i amd
# Vulkan 테스트
vulkaninfo | grep -i "device name"
# 드라이버 발견 여부
glxinfo | grep -i "opengl renderer"
Mesa 25.1+ 변경 사항¶
Mesa 25.1 이상:
RADV_DEBUG=nocompute가 더 필요 없을 수 있음(연산 큐 기본 비활성화)- 먼저 변수 없이 테스트
- 문제가 지속되면 다시 활성화
- Mesa MR #33116 상태 모니터링
문제 해결¶
게임이 GPU를 사용하지 않음¶
확인:
여전히 아티팩트 발생¶
시도:
메모리 오류¶
/etc/drirc에 추가:
ROCm 동작 안 함¶
ROCm 지원은 실험적이고 매우 제한적입니다. Vulkan을 사용하세요.
관련 설정 파일¶
/etc/environment— 시스템 전역 변수/etc/drirc— Mesa 드라이버 설정/etc/modprobe.d/— 커널 모듈 옵션~/.bashrc— 사용자 환경 변수~/.config/MangoHud/MangoHud.conf— MangoHud 설정
요약 표¶
| 변수 | 목적 | 필수 | 값 |
|---|---|---|---|
RADV_DEBUG=nocompute |
연산 큐 수정 | Yes (Mesa < 25.1) | nocompute |
RADV_DEBUG=nohiz |
아티팩트 수정 | Sometimes | nohiz |
VK_ICD_FILENAMES |
Vulkan 드라이버 경로 | Steam Big Picture용 | 위 참고 |
AMD_LOG_LEVEL |
디버그 로깅 | 디버그 전용 | 0-4 |
HSA_OVERRIDE_GFX_VERSION |
ROCm 호환 | ROCm 전용 | 10.1.0 |
GGML_VK_FORCE_MAX_ALLOCATION_SIZE |
llama.cpp 메모리 | LLM 추론 | 2000000000 |
mitigations=off |
CPU 성능 | 선택 | kernel param |
모범 사례¶
- Mesa 25.1+에서는
RADV_DEBUG=nohiz만 시작(nocompute는 더 필요 없음) - 특정 문제가 있을 때만 변수 추가
- 한 번에 하나의 변수만 변경하고 테스트
- 게임별 동작 설정 문서화
- Mesa 25.1+로 업그레이드했다면
RADV_DEBUG=nocompute제거 — 자동 처리됨 - 가능하면 시스템 전역보다 Steam 게임별 설정 사용