| RDNA1.5ハイブリッド |
|---|
| BC-250はZen2CPUコアとPS5 GPUコア(カットダウン版)を組み合わせた独自のハイブリッドアーキテクチャを採用しています。これは標準的なAMD APUとは異なりDDR4/DDR5ではなくGDDR6メモリを使用し一般消費者向けAPUには見られないハードウェア機能を備えています。 |
| ⚠Mesa25.0以上を利用してください |
|---|
| Mesaのバージョン25.1より前のバージョンはカスタムパッチが必要でサポート対象外となっています。 主要なディストリビューションはすべてリポジトリにMesa 25.1以降を収録しています。 |
| # Update to latest Mesasudo dnf update mesa-* # Verify version glxinfo | grep "OpenGL version" # Should show: Mesa 25.1.X or newer |
| ⚠Fedra43を使用してください |
|---|
| Fedra 42は既にサポートが終了しています。43を使用してください |
| # Check Mesa versionrpm -qa | grep mesa # Update if needed rpm-ostree upgrade # For flatpak apps, install mesa-git (see Flatpak section below) |
| # Install/update Mesa sudo pacman -S mesa vulkan-radeon lib32-vulkan-radeon # Verify installation pacman -Q mesa vulkan-radeon |
| # CachyOS may have mesa-git available sudo pacman -S mesa-git vulkan-radeon-git} |
| # Add experimental repo to /etc/apt/sources.list deb http://deb.debian.org/debian experimental main contrib non-free # Install Mesa from experimental sudo apt update sudo apt install -t experimental mesa-vulkan-drivers libgl1-mesa-dri mesa-utils # Verify glxinfo | grep"OpenGL version" |
| # Update system sudo apt update && sudo apt upgrade # Mesa 25.1 should be installed by default |
| # Update Mesa sudo pacman -Syu mesa Install Vulkan drivers sudo pacman -S vulkan-radeon lib32-vulkan-radeon |
| # OpenGL version string includes Mesa version glxinfo | grep &"OpenGL version" # Expected: OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.1.X # Alternative method vulkaninfo | grep "driverVersion" |
| # Should show RADV, not AMDVLK or llvmpipe vulkaninfo | grep &"driverName" # Expected: driverName = radv # Check GPU name vulkaninfo | grep "deviceName" # Expected: deviceName = AMD Radeon Graphics (RADV GFX1013) |
| {# Full Vulkan device info vulkaninfo | grep -A 20 "VkPhysicalDeviceProperties" # Should show: # - deviceType =PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU # - vendorID = 0x1002 (AMD) # - driverName = radv |
} |
| {# Check for llvmpipe (software rendering) vulkaninfo | grep -i llvmpipe # Should return NOTHING - if llvmpipe appears, GPU is not working # Alternative check glxinfo|grep "OpenGL renderer" # Should show: AMD Radeon Graphics (gfx1013, LLVM...) # NOT: llvmpipe or software rasterizer |
| # Force RADV (not AMDVLK) - usually automatic* export AMD_VULKAN_ICD=RADV # Disable compute queue (may not be needed on Mesa 25.1+) # Only use if you have visual artifacts export RADV_DEBUG=nocompute # Disable hierarchical Z buffer (fixes some visual glitches) exportRADV_DEBUG=nohiz # Combine multiple debug flags exportRADV_DEBUG=nocompute,nohiz |
| Mesa25.1+でRADV_DEBUG=nocomputeを有効にするには |
|---|
| Mesa25.1には不具合のある計算専用キューを自動的に無効化するMR 33116RADV_DEBUG=nocomputeが含まれています。 もう必要ないかもしれませんが残しておいても問題ありません。 |
| # Enable unified heap on APU (recommended) # Add to /etc/drirc: <driconf> <device> <application name="Default"> <option name="radv_enable_unified_heap_on_apu" value="true" /> </application> </device> </driconf> |
| # Force Zink for OpenGL export MESA_LOADER_DRIVER_OVERRIDE=zink # Or per-application MESA_LOADER_DRIVER_OVERRIDE=zink ./opengl_game |
| # Right-click game -> Properties -> Launch Options # Basic (recommended) RADV_DEBUG=nohiz %command% # With compute queue disabled RADV_DEBUG=nocompute,nohiz %command% # With Zink for OpenGL games MESA_LOADER_DRIVER_OVERRIDE=zink %command% # All combined AMD_VULKAN_ICD=RADV RADV_DEBUG=nohiz %command% |
| # Edit /etc/environment sudo nano /etc/environment # Add these lines: AMD_VULKAN_ICD=RADV RADV_DEBUG=nohiz MESA_LOADER_DRIVER_OVERRIDE=zink |
| ## Log out and back in, or reboot sudo reboot |
| # Check ICD files exist ls /usr/share/vulkan/icd.d/ # Should show: radeon_icd.x86_64.json, radeon_icd.i686.json # If needed, manually set ICD files export VK_ICD_FILENAMES=&color(#000000{/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json} |
| # Test with nohiz first RADV_DEBUG=nohiz ./game # If that doesn't help, try nocompute as well RADV_DEBUG=nocompute,nohiz ./game # If nohiz doesn't fix black squares, force ACO backend RADV_DEBUG=aco AMD_DEBUG=aco ./game |
| 黒いブロックが出続けてしまう問題について |
|---|
| カスタム/パッチ適用済みカーネル(例:Vietnam rebase、deck-patched)を使用している一部のユーザーからRADV_DEBUG=nohizだけでは黒い四角形が出てしまう問題が解消されないという報告がありました。 ACOシェーダーコンパイラのバックエンドを強制的に適用(RADV_DEBUG=aco AMD_DEBUG=aco)することでこれらの不具合が完全に解消されたという報告があります。 |
| export RADV_DEBUG=nocompute |
| # Add to /etc/modprobe.d/ttm-mem-limit.conf options ttm pages_limit=3959290 page_pool_size=3959290 # Rebuild initramfs sudo dracut --regenerate-all --force # Fedora sudo mkinitcpio -P # Arch sudo update-initramfs -u # Debian/Ubuntu # Reboot |
| # vainfo will fail vainfo # Error: vaInitialize failed with error code -1 (unknown libva error) |
| {# For video playback, use software decoding # mpv, VLC, etc. will fall back automatically # For OBS recording, use software encoder (x264) |
| 特徴 | RADV | AMDVLK |
|---|---|---|
| オープンソース | 〇(Mesa) | 〇(AMD |
| BC—250サポート | 〇(Mesa25.1+) | × |
| パフォーマンス | ほとんどのゲームで良好 | 特定のゲームでは最良 |
| アップデート | 高頻度 | 低頻度 |
| 互換性 | 最高 | BC-250限定 |
| 特徴 | RADV | AMD PRO |
|---|---|---|
| BC—250サポート | 〇(Mesa25.1+) | × |
| ゲーム | 最適化済み | 適用不可 |
| OPENGL | Zink経由 | ネイティブ |
| Valkan | ネイティブ | ネイティブ |
| Linuxカーネル | アップストリームのAMDGPU | 同じ(amdgpu) |
| 特徴 | RADV | ROCm |
|---|---|---|
| 目的 | ゲーム(Vulkan) | コンピューティング(HIP/OpenCL) |
| BC—250サポート | フル | 一部 |
| グラフィック | 良好 | 不良 |
| コンピューティング | 制限あり(Vulkanコンピューティング) | フル |
| AI/ML | Vulkanバックエンド経由 | ネイティブ |
| ⚠BC-250のROCmは実験段階です |
|---|
| ROCmのGFX1013サポートは不完全です。rocBLASにはこのアーキテクチャ用のプリコンパイル済みカーネルがないため手動コンパイルまたは回避策が必要です。 ほとんどのユーザーはRADV + Vulkanコンピューティングバックエンド(llama.cppなど)を使用することをお勧めします。 |
| sudo dnf install meson ninja-build gcc g++ python3-mako \ libdrm-devel libxcb-devel libX11-devel libxshmfence-devel \ libXext-devel libXfixes-devel libXrandr-devel \ wayland-protocols-devel wayland-devel \ elfutils-devel llvm-devel cmake flex bison |
| sudo pacman -S meson ninja gcc python-mako libdrm libxcb libx11 \ libxshmfence libxext libxfixes libxrandr \ wayland wayland-protocols elfutils llvm cmake flex bison |
| # Clone Mesa git clone https://gitlab.freedesktop.org/mesa/mesa.git cd mesa # Checkout stable branch or apply custom patches git checkout mesa-25.1 # Apply custom patches if needed # git am /path/to/patch.patch # Configure build meson setup builddir/ \ -Dprefix=/usr/local \ -Dvulkan-drivers=amd \ -Dgallium-drivers=radeonsi,zink \ -Dplatforms=x11,wayland \ -Dbuildtype=release # Compile (use all CPU cores) meson compile -C builddir/ # Install sudo meson install -C builddir/ # Verify glxinfo | grep "OpenGL version" vulkaninfo | grep "driverName" |
| ⚠Mesaをコンパイルするとシステムが壊れる可能性があります |
|---|
| Mesaを/usr/localにインストールするとシステムパッケージと競合する可能性があります。変更を元に戻す方法を知っている場合のみこの操作を行ってください。/opt/mesa-gitのような別のプレフィックスを使用し、LD_LIBRARY_PATHを設定することを検討してください。 |
| # Example: Apply MR 33962 (artifact fixes) cdmesa git fetch origin merge-requests/33962/head:mr33962 git checkout mr33962 # Compile as above |
| # Add Flathub Beta repository {flatpak remote-add --if-not-exists flathub-beta \ https://flathub.org/beta-repo/flathub-beta.flatpakrepo # Install mesa-git for runtime 24.08 (check your flatpak runtime version) 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 # Configure systemd to use 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' # Reboot or restart flatpak services sudo systemctl daemon-reload |
| # Run flatpak app and check Mesa version flatpak run --command=sh com.valvesoftware.Steam $ glxinfo | grep "OpenGL version" |
| Flatpakのランタイムバージョンを確認して下さい |
|---|
| ランタイムが23.08より古い場合Mesa 25.1をサポートしない可能性があります。Flatpakアプリではランタイムが24.08以降であることを確認してください。 |
| # Download pre-compiled llama.cpp Vulkan binary wget https://github.com/ggerganov/llama.cpp/releases/download/b6104/llama-b6104-bin-ubuntu-vulkan-x64.zip unzip llama-b6104-bin-ubuntu-vulkan-x64.zip cd build/bin # Set environment variable to avoid OOM errors export GGML_VK_FORCE_MAX_ALLOCATION_SIZE=2000000000 # 2GB chunks # Run inference ./llama-server --model /path/to/model.gguf --gpu-layers 99 # Expected output: # ggml_vulkan: Found 1 Vulkan devices: # ggml_vulkan: 0 = AMD Radeon Graphics (RADV GFX1013) (radv)|uma: 1|fp16: 1 |
| # Disable GUI to free ~800MB RAM for inference sudo systemctl set-default multi-user.target && sudo reboot # Restore GUI later sudo systemctl set-default graphical.target && sudo reboot |
| vulkaninfo|grep deviceName # Shows: llvmpipe (LLVM 18.1.0, 256 bits) |
| vulkaninfo # Failed to create Vulkan instance # ERROR: [Loader Message] Code 0 : No drivers found |
| # Check ICD files ls /usr/share/vulkan/icd.d/ # Should have: radeon_icd.x86_64.json # Manually set ICD path export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json # Reinstall Mesa Vulkan drivers sudo dnf reinstall mesa-vulkan-drivers # Fedora sudo pacman -S vulkan-radeon # Arch |
| # Clear shader cache rm -rf ~/.cache/mesa_shader_cache rm -rf ~/.local/share/Steam/steamapps/shadercache # Disable shader cache temporarily export MESA_SHADER_CACHE_DISABLE=1 # Run game ./game # If that works, re-enable cache and pre-compile: unset MESA_SHADER_CACHE_DISABLE # Let game rebuild cache |
| # Check GPU frequency cat /sys/class/drm/card1/device/pp_dpm_sclk # Should show multiple frequency levels with * at current: # 0: 1000Mhz # 1: 1500Mhz * # 2: 2000Mhz # If stuck at 1500MHz, governor is not working systemctl status cyan-skillfish-governor-smu |