Skip to content

WebGL 2 또는 WebGPU가 지원되지 않나요? 모든 브라우저에서 해결하는 방법 (2026) ​

마지막 업데이트: 2026년 9월.

검은색 게임 캔버스와 WebGL 미지원 경고가 표시된 브라우저 창

게임이나 3D 페이지에서 브라우저가 WebGL 2 또는 WebGPU를 지원하지 않는다고 표시된다면, 원인은 거의 항상 다음 네 가지 중 하나입니다. 하드웨어 가속이 꺼져 있거나, GPU 또는 드라이버가 브라우저의 차단 목록에 있거나, 브라우저가 해당 API를 지원하기에 너무 오래되었거나, 실제 GPU를 사용할 수 없는 가상 머신 또는 원격 데스크톱 세션을 이용 중인 경우입니다. 하드웨어 가속을 켜고, 그래픽 드라이버와 브라우저를 업데이트한 다음, 기능 지원 테스트로 결과를 확인하세요. WebGPU의 경우 플랫폼도 확인해야 합니다. 2026년 9월 기준으로 Firefox는 Windows와 Apple Silicon Mac에서만 정식 지원하며, Linux용 Chrome은 Intel Gen12 이상 및 최신 NVIDIA 하드웨어에서만 지원합니다.

이 페이지는 문제 해결 가이드입니다. 두 API를 이해하고 어떤 API를 기반으로 개발할지 결정하려면 게임용 WebGPU와 WebGL 비교를 읽어보세요.

빠른 해결 방법 ​

  • 먼저 진단하세요: WebGL 및 WebGPU 검사기를 여세요. WebGPU, WebGL 2, WebGL 1의 작동 여부와 브라우저가 사용 중인 GPU를 보여줍니다. 렌더러에 SwiftShader, llvmpipe 또는 "Software"가 표시되면 CPU 렌더링을 사용 중인 것이므로 아래 해결 방법을 적용하세요.
  • Chrome 및 Edge: 설정, 시스템으로 이동하여 "가능한 경우 그래픽 가속 사용"을 켠 다음 브라우저를 다시 시작하세요. chrome://gpu 또는 edge://gpu를 확인하세요. WebGL이 "Software only" 또는 "Unavailable"로 표시되면 GPU 드라이버를 업데이트하세요. 최후의 수단으로 chrome://flags/#ignore-gpu-blocklist를 사용할 수 있습니다.
  • Firefox: 설정, 일반, 성능으로 이동하여 "권장 설정을 사용"을 선택 해제하고 "가능한 경우 하드웨어 가속 사용"을 선택하세요. about:support의 그래픽 항목을 확인하세요. 최후의 수단으로 about:config에서 webgl.force-enabled를 true로 설정할 수 있습니다.
  • Safari: WebGPU를 사용하려면 Safari 26으로, WebGL 2를 사용하려면 Safari 15 이상으로 업데이트하세요. 별도로 전환할 수 있는 가속 설정은 없습니다.
  • Unity의 "does not support graphics API WebGL 2" 메시지는 canvas.getContext('webgl2')가 아무것도 반환하지 않았다는 뜻입니다. 동일한 해결 방법을 적용하면 되며, Safari에서는 버전이 15보다 낮다는 의미입니다.
  • 회사 또는 학교 기기, VM, 원격 데스크톱: 정책에 의해 GPU가 차단되었거나 GPU 자체가 제공되지 않는 환경입니다. IT 담당자에게 문의하거나 실제 GPU가 있는 기기에서 플레이하세요.

빠른 참조표 ​

2026년 9월 기준 WebGPU 지원 현황입니다. WebGPU 구현 현황 위키(2026년 8월 13일 업데이트), Firefox 및 WebKit 릴리스 노트, caniuse를 바탕으로 작성했습니다.

브라우저WindowsmacOSLinuxAndroidiOS 및 iPadOS
Chrome 및 Edge113+ (Windows on ARM: 플래그 뒤에 숨겨져 있음)113+Intel Gen12 이상은 144+, Wayland에서 NVIDIA는 147+ (드라이버 535.183.01 이상), 그 외는 플래그 뒤에 숨겨져 있음ARM, Qualcomm 또는 Intel GPU를 탑재한 Android 12 이상에서 121+, Android 16 이상에서 Imagination은 139+, Samsung Xclipse는 개발 진행 중Apple의 WebKit 엔진을 사용하므로 실제 기기에서 테스트
Firefox141+ (2025년 7월 22일)Apple Silicon과 macOS 26에서는 145+, 지원되는 모든 macOS와 Apple Silicon에서는 147+, Intel Mac은 Nightly에서만 지원Nightly에서만 지원, 2026년 정식 지원 예정플래그 뒤에 숨겨져 있음Apple의 WebKit 엔진 사용
Safari해당 없음26+ (2025년 9월 15일, macOS Tahoe, Sequoia 및 Sonoma)해당 없음해당 없음26+
현재 WebGPU가 정식 지원되는 환경2026년 9월 정식 릴리스 기준. 버전 번호는 기본 활성화된 최초 릴리스입니다.WindowsmacOSLinuxAndroidiOS, iPadOSChrome, EdgeFirefoxSafari113+ARM: 플래그 필요113+일부 GPU144+ Intel Gen12+147+ NVIDIA121+Android 12+139+ ImaginationWebKit 엔진Safari 참조141+145+ / 147+Apple Silicon만Intel: NightlyNightly만2026년 지원 예정플래그 필요WebKit 엔진Safari 참조해당 없음26+Tahoe~Sonoma해당 없음해당 없음26+정식 지원일부 하드웨어에서 지원플래그 필요정식 릴리스 미지원iOS 및 iPadOS의 모든 브라우저는 Apple의 WebKit 엔진을 사용하므로 Safari 행이 기준입니다.
같은 표를 격자로 나타낸 것입니다. 초록색은 정식 릴리스에서 기본으로 활성화되어 있다는 뜻입니다. 두 칸이 반만 초록색인 이유는 GPU에 따라 지원 여부가 달라지기 때문입니다. Linux용 Chrome은 Intel Gen12 이상 또는 Wayland에서 최신 NVIDIA GPU를 사용해야 하며, macOS용 Firefox는 Apple Silicon에서만 지원됩니다. Linux 및 Android용 Firefox와 Windows on ARM용 Chrome은 여전히 Nightly 또는 플래그가 필요합니다.

WebGL 2는 기본 기준입니다. caniuse에 따르면 Chrome 56+, Edge 79+, Firefox 51+, Safari 15+, iOS Safari 15+에서 지원되며, Unity 호환성 페이지에는 Android용 Chrome 58+가 명시되어 있습니다. 최신 브라우저에서 WebGL 2가 작동하지 않는다면 브라우저 버전이 아니라 기기 환경이 문제입니다.

30초 진단 ​

먼저 WebGL 및 WebGPU 검사기를 실행하세요. 페이지가 로드될 때 자동으로 실행되며 아무 데이터도 업로드하지 않습니다. 다음 세 가지를 확인하세요.

문제가 있는 기기에서는 페이지가 다음과 같이 보입니다.

주황색 GPU 렌더링 사용 불가 배너, 검은색 캔버스, WebGPU·WebGL 2·WebGL 1에 각각 빨간색 아니요 카드가 표시된 검사기
GPU가 차단되었거나 소프트웨어 렌더링만 가능한 브라우저는 검사기에서 이렇게 표시됩니다. 주황색 배너가 나타나고, 렌더링 캔버스는 검은색이며 FPS 수치가 없고, 세 API 카드 모두 '아니요'로 표시됩니다. "해결 방법" 상자에서 이미 하드웨어 가속을 안내하고 있다는 점도 확인하세요.

통과한 API를 확인하세요. WebGL 2는 작동하지만 WebGPU만 실패한다면 위 표를 확인하세요. WebGPU 지원 여부는 브라우저, OS, GPU의 조합에 따라 달라지므로 "이 플랫폼에서는 아직 지원되지 않음"이 답일 수 있습니다. WebGL 2도 실패한다면 계속 읽으세요. 가속 설정, 드라이버 또는 차단 목록이 원인일 가능성이 높습니다.

렌더러 항목을 확인하세요. 실제 GPU는 "ANGLE (NVIDIA, NVIDIA GeForce RTX 4060 ...)" 또는 "Apple M2"와 같은 형식으로 표시됩니다. SwiftShader, llvmpipe, "Microsoft Basic Render Driver" 또는 "software"가 포함된 항목이 표시된다면 브라우저가 CPU로 화면을 그리고 있다는 뜻입니다. 게임 성능이 매우 느려지고 WebGPU도 표시되지 않습니다.

브라우저 자체 GPU 페이지를 확인하세요. Chrome에서는 주소창에 chrome://gpu를 입력하세요. Edge에서는 edge://gpu를 입력합니다. "Graphics Feature Status"에는 WebGL과 WebGL2가 "Hardware accelerated", "Software only, hardware acceleration unavailable" 또는 "Unavailable"로 표시되며, 아래쪽의 "Problems Detected"에는 차단 목록 항목이나 드라이버 등 원인이 표시됩니다. Firefox에서는 about:support의 그래픽 섹션에서 "Compositing" 항목으로 가속 활성화 여부를 확인할 수 있으며, Failure Log 또는 Decision Log에서 차단 이유를 확인할 수 있습니다. Safari에는 이에 해당하는 페이지가 없습니다.

"소프트웨어 렌더링"은 다음을 의미합니다. 브라우저는 충돌하거나 잘못 렌더링되는 것으로 알려진 GPU와 드라이버 조합 목록을 유지합니다. 사용 중인 기기가 해당 항목과 일치하면 기능을 비활성화하거나 CPU 래스터라이저로 대체합니다. Chromium의 차단 목록은 Microsoft Basic Render Driver("Windows 설치 후 적절한 그래픽 드라이버가 설치되지 않은 경우 GPU 액세스가 차단됨"), VMware, VirtualBox, 오래된 Intel 및 NVIDIA 드라이버에서 모든 GPU 가속을 비활성화합니다. 항목이 드라이버 버전을 기준으로 적용되기 때문에 "드라이버 업데이트"만으로도 많은 문제가 해결됩니다. 2026년에는 한 가지가 달라졌습니다. 이전 Chromium은 GPU가 차단되면 WebGL의 CPU 구현인 SwiftShader로 대체했기 때문에 느리긴 해도 WebGL이 "작동"했습니다. Microsoft의 Edge 정책 문서에 따르면 버전 144부터 SwiftShader가 지원 중단되었으며, "SwiftShader가 사용되는 상황에서는 WebGL 컨텍스트 생성이 실패합니다". Chromium의 SwiftShader 문서에서도 Chrome에 관해 같은 내용을 설명하며, 사용자가 직접 활성화하는 옵션으로 --enable-unsafe-swiftshader를 제시합니다. 이전에는 느리게나마 게임이 실행되던 차단 목록의 컴퓨터에서 이제는 "지원되지 않음" 오류가 발생합니다.

정리하면 진단 과정은 정해진 순서로 묻는 세 가지 질문이며, 각 질문에는 하나의 해결 방법이 연결됩니다.

세 가지 질문, 세 가지 해결 방법검사 도구와 브라우저 자체 GPU 페이지로 각 질문에 답하세요. 아니요면 오른쪽으로, 예면 아래로 이동합니다.검은 캔버스 또는 "지원되지 않음" 오류검사 도구를 열고 렌더러 줄 확인예예예아니요아니요아니요하드웨어 가속이 켜져 있나요?재실행 후 chrome://gpu 또는 about:support에서 확인켜세요. Chrome: 설정, 시스템.Firefox: 설정, 일반, 성능.설정 적용에는 재시작이 필요합니다.렌더러에 실제 GPU 이름이 나오나요?SwiftShader, llvmpipe, Basic Render Driver면 아니요제조사에서 GPU 드라이버를 업데이트하세요.오래된 차단인가요? ignore-gpu-blocklist 플래그.VM 또는 원격 데스크톱: 호스트에서 플레이하세요.여기서 브라우저가 WebGPU를 제공하나요?WebGL 2는 통과하고 WebGPU만 실패할 때 확인브라우저를 업데이트한 다음 표를 확인하세요.Firefox: Windows와 Apple Silicon만 지원.Linux Chrome: Intel Gen12+, NVIDIA만 지원.검사 도구 다시 실행WebGL 2는 지원됨, WebGPU는 표의 예상 결과와 일치
왼쪽 열을 따라 내려가다가 처음 나오는 아니요에서 멈추세요. 순서가 중요합니다. 가속이 꺼져 있다면 드라이버 업데이트는 아무 소용이 없으며, WebGPU 질문은 WebGL 2가 이미 작동할 때만 적용됩니다. 정상적인 컴퓨터에서 WebGPU만 없다면 대개 고장이 아니라 플랫폼 문제이기 때문입니다.

Chrome 및 Edge ​

Chrome과 Edge는 Chromium 엔진을 공유하므로 여기의 모든 내용이 두 브라우저에 모두 적용됩니다. 필요한 경우 chrome://를 edge://로 바꾸세요.

하드웨어 가속 전환 설정 ​

설정을 열고 시스템으로 이동한 다음 "가능한 경우 그래픽 가속 사용"이 켜져 있는지 확인하세요. Edge에서는 시스템 및 성능 아래에 있습니다. 이 설정은 재시작한 후에만 적용되므로 브라우저를 다시 실행하세요. "Chrome 깜박임 해결"에 관한 많은 조언에서 이 설정을 끄라고 하기 때문에 의외로 꺼져 있는 경우가 많습니다. 그런 다음 chrome://gpu를 여세요. WebGL과 WebGL2에 "Hardware accelerated"라고 표시되면 해결된 것입니다. 그렇지 않다면 브라우저가 의도적으로 GPU 사용을 거부하는 것이며, 그 이유는 "Problems Detected" 아래에 나옵니다.

Windows ​

일반적인 원인은 오래되었거나 범용인 드라이버입니다. 렌더러에 "Microsoft Basic Render Driver"라고 표시된다면 Windows에 해당 GPU의 실제 드라이버가 전혀 없는 것이며, Chromium은 이를 "모두 차단"해야 하는 상태로 처리합니다. Windows Update를 기다리지 말고 NVIDIA, AMD 또는 Intel에서 직접 드라이버를 설치하세요. GPU가 두 개 있는 노트북에서는 Windows 설정의 시스템, 디스플레이, 그래픽에서 브라우저가 고성능 GPU를 사용하도록 지정할 수 있습니다. 내장 그래픽 칩에서 실행되는 브라우저도 검사 도구는 통과할 수 있지만 무거운 게임에서는 매우 느릴 수 있습니다.

Windows on ARM(Snapdragon 노트북)은 WebGPU의 특수 사례입니다. 구현 상태 위키에서는 chrome://flags/#enable-unsafe-webgpu 또는 --enable-unsafe-webgpu 스위치 뒤에 있는 기능으로 표시합니다. WebGL 2는 여기서 정상적으로 작동합니다.

macOS ​

Apple이 운영체제와 함께 드라이버를 제공하므로 Mac에서는 이 문제가 거의 발생하지 않습니다. Mac의 Chrome이 소프트웨어 렌더링을 보고한다면 가속 설정이 꺼져 있거나, macOS가 매우 오래되었거나, 가상 머신에서 실행 중인 상황을 의심하세요. macOS 업데이트가 곧 드라이버 업데이트입니다.

Linux ​

Linux는 WebGPU에 가장 많은 주의 사항이 있는 플랫폼입니다. 위키에 따르면 Chrome은 Linux에서 Chrome 144부터 Intel Gen12 이상에 WebGPU를 기본 제공하며, Chrome 147부터는 Wayland에서 드라이버 535.183.01 이상을 사용하는 NVIDIA GPU에도 기본 제공합니다. 그 밖의 모든 환경(AMD, 구형 Intel, X11의 NVIDIA)에서는 위키에 나열된 플래그 조합이 필요합니다: --enable-unsafe-webgpu --ozone-platform=x11 --use-angle=vulkan --enable-features=Vulkan,VulkanFromANGLE. 이 배포 방식에서는 브라우저의 나머지 부분은 OpenGL을 유지하면서 WebGPU만 Vulkan에서 실행하므로 GPU 제품군별로 제한됩니다.

Linux의 WebGL 2에서는 Mesa가 GPU를 사용하는지, 아니면 llvmpipe 소프트웨어 래스터라이저를 사용하는지가 핵심입니다. 렌더러에 llvmpipe라고 표시된다면 GPU용 Mesa 드라이버 또는 NVIDIA 전용 드라이버를 업데이트하세요.

차단 목록 무시 ​

chrome://flags/#ignore-gpu-blocklist("Override software rendering list")를 사용하면 GPU가 차단 목록에 있더라도 Chrome이 해당 GPU를 사용합니다. 차단 목록이 GPU를 잘못 거부하거나, WebGL이 전혀 작동하지 않는 것보다 간헐적인 그래픽 오류를 감수하는 편이 나을 때 적합한 방법입니다. 하지만 드라이버 충돌 때문에 차단된 경우에는 잘못된 선택이므로 먼저 드라이버 업데이트를 시도하세요.

Android Chrome ​

WebGL 2는 버전 58부터 Android Chrome에 포함되었으므로, 현재 사용되는 휴대전화에서 WebGL 2가 실패한다면 대개 GPU 드라이버가 차단 목록에 있기 때문입니다. Android에서는 GPU 드라이버만 따로 업데이트할 수 없습니다. 시스템 업데이트가 있는지 확인한 다음, Android에도 있는 chrome://flags/#ignore-gpu-blocklist를 시도하세요.

Android의 WebGPU는 ARM, Qualcomm 또는 Intel GPU를 탑재한 Android 12 이상에서 Chrome 121부터 제공되었고, Android 16 이상의 Imagination GPU에서는 Chrome 139부터 제공되었습니다. 위키에는 여전히 Samsung의 Xclipse GPU(Exynos Galaxy 휴대전화)가 개발 중으로 표시되므로, 완전히 업데이트된 Exynos Galaxy에서도 WebGPU가 없다고 표시될 수 있습니다. 이는 사용자의 문제가 아닙니다.

Firefox ​

하드웨어 가속 및 강제 활성화 ​

설정을 열고 일반에서 성능까지 스크롤한 다음 "권장 설정을 사용"의 선택을 해제하고 "가능한 경우 하드웨어 가속 사용"이 선택되어 있는지 확인하세요. Firefox를 재시작합니다. 그런 다음 about:support의 그래픽을 확인하세요. "합성"에는 WebRender가 표시되어야 하며, 차단된 WebGL은 실패 로그 또는 결정 로그에 차단된 드라이버나 기능과 함께 나타납니다.

Mozilla의 차단된 그래픽 드라이버 페이지에는 강제 활성화 방법이 설명되어 있습니다. about:config에서 WebGL 차단을 무시하려면 webgl.force-enabled를 true로, 합성 차단을 무시하려면 layers.acceleration.force-enabled를 true로 설정하세요. Mozilla의 표현을 빌리면 "사용자 책임하에 진행하세요. 기능이 차단된 데에는 대개 타당한 이유가 있습니다." 먼저 드라이버를 업데이트하세요.

WebGPU: 운영체제별 지원 Firefox 버전 ​

Firefox에서는 "WebGPU가 지원되지 않음"이 단순히 플랫폼 문제인 경우가 가장 많습니다. 릴리스 노트에 따르면 Firefox 141(2025년 7월 22일)은 Windows에서 WebGPU를 활성화했습니다. Firefox 145(2025년 11월 11일)는 Apple Silicon에서 실행되는 macOS 26 Tahoe를 추가했습니다. Firefox 147에서는 지원 범위가 "지원되는 모든 macOS 버전의 Apple Silicon 프로세서 탑재 기기"로 확대되었습니다. Intel Mac, Linux 및 Android는 아직 지원 대상이 아닙니다. MDN의 실험적 기능 페이지에서는 "Linux 및 Intel Silicon 기반 macOS 같은 다른 플랫폼에서는 Nightly에서 활성화되어 있다"고 설명하며, 위키에는 Linux 지원이 2026년으로 예상되고 Android는 플래그 뒤에 있다고 나옵니다.

설정 이름은 about:config의 dom.webgpu.enabled입니다. Firefox가 아직 공식 지원하지 않는 플랫폼에서 릴리스 빌드의 이 값을 true로 바꾸면 Mozilla가 해당 운영체제용으로 완성하지 않은 구현이 노출되므로 충돌할 수 있습니다. 지금 Linux Firefox에서 WebGPU를 사용하려면 기본적으로 활성화되어 있는 Nightly를 사용하세요. Caniuse는 운영체제가 아니라 브라우저별 플래그를 추적하므로 Firefox를 "기본적으로 비활성화됨"으로 표시합니다. 이 페이지 때문에 Windows 사용자에게 WebGPU가 없다고 판단하지 마세요.

Safari ​

Safari에는 가속 설정도, 사용자가 무시할 수 있는 차단 목록도 없습니다. 버전이 전부입니다.

WebGL 2를 사용하려면 macOS와 iOS에서 Safari 15 이상이 필요합니다. Unity의 호환성 페이지는 이를 명확히 설명합니다. "Apple Safari는 Safari 15 이전 버전에서 WebGL 2를 지원하지 않습니다." 오래된 macOS에 묶여 있는 Mac은 새 Safari를 설치할 수 없으므로, macOS를 업데이트하거나 구형 macOS에서도 WebGL 2를 실행하는 Chrome 또는 Firefox를 설치해야 합니다.

WebGPU는 2025년 9월 15일 Safari 26.0에서 기본 활성화 상태로 출시되었으며, macOS Tahoe, Sequoia 및 Sonoma와 iOS 26, iPadOS 26, visionOS 26을 지원합니다. WebKit의 릴리스 게시물에서는 WebGPU가 "macOS, iOS, iPadOS 및 visionOS에서 WebGL을 대체하며 새로운 사이트와 웹 앱에 권장된다"고 설명합니다. Safari 26에서도 WebGPU가 실패한다면 페이지가 HTTPS로 제공되는지 확인하고(WebGPU는 모든 브라우저에서 보안 컨텍스트에서만 작동합니다), 임베디드 웹 뷰 안에서 실행되고 있지는 않은지 확인하세요.

Safari 17과 18에서는 WebGPU가 기능 플래그 뒤에 있습니다. macOS에서는 Safari 설정의 고급을 열고 "웹 개발자를 위한 기능 보기"를 선택하면 WebGPU를 켤 수 있는 기능 플래그 탭이 나타납니다. iOS 18에서는 설정, 앱, Safari, 고급, 기능 플래그 순서로 이동합니다. 이전 iOS에서는 설정, Safari, 고급 순서입니다. 이는 출시 전 구현이므로 데모에는 괜찮지만 게임을 정식 배포할 때 의존할 기능은 아닙니다.

어떤 브라우저를 고쳤든 검사 도구를 새로고침하세요. 정상적인 결과는 다음과 같습니다.

보라색 준비 완료 배너, WebGPU를 통해 60 FPS로 렌더링되는 그라데이션 삼각형, WebGPU와 WebGL 2의 지원됨 카드를 보여주는 검사 도구
해결 후에는 다음과 같은 화면이 보여야 합니다. 삼각형이 60 FPS로 렌더링되고, 실시간 렌더링 줄에 WebGPU가 표시되며, WebGPU와 WebGL 2가 모두 지원됨으로 나옵니다. 여기서 WebGL 1이 아니요로 표시되는 것은 정상입니다. 검사 도구가 먼저 하나의 캔버스에서 WebGL 2를 요청하며, 캔버스는 하나의 컨텍스트 유형만 가질 수 있으므로 레거시 탐색 결과는 비어 있게 됩니다.

업무용 노트북, 학교 Chromebook, VM 및 원격 데스크톱 ​

전환 설정이 없거나 변경 사항이 유지되지 않는다면 누가 기기를 관리하는지 확인하세요. 관리형 브라우저에서는 정책에 의해 가속이 꺼져 있을 수 있습니다. Chrome과 Edge에는 모두 HardwareAccelerationModeEnabled 정책이 있으며, Microsoft 문서에 따르면 이 정책을 비활성화하면 브라우저가 "그래픽 가속을 끕니다". 설정의 토글이 회색으로 비활성화되거나 원래대로 돌아가며, chrome://policy에는 적용된 정책이 표시됩니다. Chromium 144부터는 GPU가 없는 컴퓨터에서도 기존 CPU 폴백을 유지하는 임시 정책인 EnableUnsafeSwiftShader도 있습니다. 학교 컴퓨터실을 관리하는데 갑자기 모든 WebGL 사이트가 작동하지 않게 되었다면, 드라이버 문제를 해결하는 동안 이 정책을 임시방편으로 사용할 수 있습니다.

가상 머신은 브라우저가 사용을 거부하는 가상 GPU를 제공합니다. Chromium의 차단 목록에는 명시적인 항목("Windows에서 VMware를 사용할 때 GPU 가속 렌더링을 사용하지 않음", "Linux에서 VirtualBox 드라이버가 불안정함", "7보다 오래된 Parallels 드라이버에 버그가 있음")이 있으며, 모두 모든 가속 기능을 비활성화합니다. 최신 게스트 도구를 설치한 뒤 VM 설정에서 3D 가속을 활성화하거나, 해당 VM은 GPU가 없는 경로를 테스트하는 용도로만 사용하고 게임은 호스트에서 플레이하세요.

원격 데스크톱도 다른 모습의 동일한 문제입니다. RDP 세션, Citrix 또는 Horizon 데스크톱, 클라우드 PC는 일반적으로 기본 디스플레이 어댑터를 노출하므로 브라우저가 사용 가능한 GPU를 찾지 못합니다. 세션 내부가 아니라 로컬 컴퓨터에서 브라우저를 실행하세요.

Chromebook은 간단합니다. ChromeOS는 Chrome 113부터 WebGPU를 지원하므로, 여기에서 오류가 발생한다면 거의 항상 정책 문제이거나 기기의 업데이트 지원 기간이 지난 경우입니다.

Unity의 "does not support graphics API WebGL 2" 오류 ​

플레이어에게 표시되는 정확한 문구는 다음과 같습니다.

이 콘텐츠에 필요한 그래픽 API "WebGL 2"를 사용 중인 브라우저가 지원하지 않습니다.

이 메시지는 webgl2 컨텍스트 요청이 null을 반환할 때 Unity의 웹 로더에서 발생합니다. Unity의 브라우저 호환성 페이지에 따르면 웹 빌드에는 "WebGL 2를 지원하는" 브라우저가 필요하고 WebGL 2가 기본 그래픽 API이므로, 개발자가 별도의 폴백을 추가하지 않았다면 로더가 대체할 수단이 없습니다.

플레이어라면 가능성이 높은 순서대로 원인은 다음과 같습니다. 하드웨어 가속이 꺼져 있거나, GPU 드라이버가 차단 목록에 있고 Chromium 144부터 SwiftShader의 구제도 받지 못하거나, VM 또는 원격 세션을 사용 중이거나, Safari 14 이하를 사용 중인 경우입니다. 검사기에서는 WebGL 2를 통과하지만 게임이 여전히 실패한다면 GPU에 접근할 수 없는 임베디드 프레임이나 웹 뷰 안에서 페이지가 실행 중일 가능성이 큽니다. 이때는 게임 URL을 직접 열면 해결됩니다.

개발자라면 Player Settings, Web, Other Settings의 Graphics APIs 목록에 따라 플레이어가 이 문제를 얼마나 자주 겪는지가 결정됩니다. Auto Graphics API를 켜면 Unity는 WebGL 2를 먼저 시도합니다. 커뮤니티 스레드에 따르면 WebGL 2는 실패했지만 WebGL 1 폴백은 성공한 경우에도 같은 경고가 나타나므로, 이 메시지만으로는 게임이 실행되었는지 알 수 없습니다. Linear 색 공간을 사용하면 WebGL 2만 사용할 수 있습니다. "WebGL 1 (Deprecated)"을 추가하면 포스트 프로세싱과 텍스처 포맷을 일부 포기하는 대신 매우 오래된 브라우저에서도 플레이할 수 있으며, 한 개발자의 측정에 따르면 데이터 파일이 약 1.5 MB 더 커집니다. Unity 6에서는 아직 실험적 기능으로 표시된 WebGPU도 추가할 수 있습니다. Unity의 활성화 가이드에 따르면 목록의 첫 번째 API를 사용한 뒤 아래쪽 API로 차례로 폴백하므로, 안전한 순서는 WebGPU, WebGL 2입니다. 어떤 구성을 선택하든 템플릿의 기본 오류 문구를 플레이어가 실제로 조치할 수 있는 내용으로 바꾸세요.

증상별 원인 ​

오류 없이 검거나 빈 캔버스가 표시됨. 컨텍스트는 생성되었지만 GPU가 그리지 못하는 상태입니다. 일반적인 원인은 생성 직후 컨텍스트가 손실되었거나, GPU가 셰이더를 처리하지 못하거나, 개인정보 보호 확장 프로그램이 WebGL 정보를 위장하는 경우입니다. 확장 프로그램을 끈 비공개 창에서 시도한 뒤 콘솔에서 "context lost" 또는 셰이더 컴파일 오류를 확인하세요.

게임 도중 "WebGL context lost"가 표시됨. MDN의 컨텍스트 손실 문서에는 다음과 같은 원인이 나와 있습니다. 여러 페이지가 GPU를 두고 경쟁하거나, 노트북이 통합 GPU와 외장 GPU 사이를 전환하거나, 다른 탭에서 발생한 멈춤을 해소하기 위해 브라우저가 GPU를 재설정하거나, 백그라운드에서 드라이버가 업데이트되는 경우입니다. GPU를 많이 사용하는 다른 탭을 닫고, GPU가 전환되지 않도록 노트북에 전원을 연결한 뒤 새로고침하세요. 매번 발생한다면 게임이 해당 기기의 GPU 메모리를 소진하는 것이므로 브라우저 설정이 아니라 게임의 버그입니다.

1~5 fps로 실행됨. 소프트웨어 렌더링 상태입니다. 렌더러에 SwiftShader, llvmpipe 또는 "Software"가 표시되는지 확인한 뒤 가속 또는 드라이버 문제를 해결하세요. 휴대전화에서 기기 픽셀 비율이 3배라면 CSS 픽셀 하나당 9개의 픽셀을 그려야 합니다. 게임이 해상도를 제한하지 않으면 성능이 크게 떨어지며, 이는 개발자가 해결해야 할 문제입니다.

WebGL 2는 작동하지만 WebGPU가 없음. 먼저 표를 확인하세요. 그런 다음 URL을 확인하세요. 일반 http:// 페이지에서는 navigator.gpu가 undefined입니다. 그다음 Graphics Feature Status에서 WebGPU 항목을 찾으세요. Linux용 Chrome과 Windows 이외 플랫폼의 Firefox에서는 대개 "아직 이 플랫폼에서 지원되지 않음"이 답입니다.

개발자용: 감지하고 폴백한 뒤 플레이어에게 알리기 ​

무거운 리소스를 불러오기 전에 두 API를 모두 감지하고, 실패 시 빈 페이지 대신 메시지를 표시하세요. MDN의 WebGPU 패턴은 navigator.gpu를 확인한 다음 requestAdapter()를 호출하는 방식입니다. 사용 가능한 어댑터가 없으면 null로 이행됩니다. WebGL의 경우 getContext('webgl2')는 실패 시 null을 반환합니다.

js
async function pickRenderer(canvas) {
  if (navigator.gpu) {
    const adapter = await navigator.gpu.requestAdapter()
    if (adapter) return { api: 'webgpu', adapter }
  }
  const gl2 = canvas.getContext('webgl2', { failIfMajorPerformanceCaveat: true })
  if (gl2) return { api: 'webgl2', gl: gl2 }
  const gl2soft = canvas.getContext('webgl2')
  if (gl2soft) return { api: 'webgl2', gl: gl2soft, software: true }
  return { api: null }
}

두 가지 세부 사항이 중요합니다. failIfMajorPerformanceCaveat: true를 사용하면 getContext가 소프트웨어 렌더링 컨텍스트를 넘겨주는 대신 실패합니다. 따라서 "이 환경에서는 2 fps로 실행될 것"임을 감지하고 플레이어에게 경고한 뒤, 소프트웨어 컨텍스트를 그대로 사용할지 결정할 수 있습니다. 또한 캔버스 하나는 정확히 하나의 컨텍스트 유형만 보유하므로, 컨텍스트를 생성하기 전에 결정하거나 별도의 캔버스를 사용해야 합니다. requestAdapter()는 OpenGL ES 3.1 및 Direct3D 11급 하드웨어를 위한 제한된 WebGPU 하위 집합인 featureLevel: 'compatibility'도 받을 수 있습니다.

컨텍스트 손실도 처리하세요. webglcontextlost를 수신하고, 복구할 의도가 있음을 브라우저에 알리도록 preventDefault()를 호출한 뒤, webglcontextrestored에서 GPU 리소스를 다시 생성하세요. 이를 생략한 게임은 노트북이 GPU를 전환할 때마다 "오류 없이 검은 캔버스" 증상을 보입니다.

js
canvas.addEventListener('webglcontextlost', (e) => {
  e.preventDefault()
  pauseGame()
})
canvas.addEventListener('webglcontextrestored', () => {
  recreateGpuResources()
  resumeGame()
})

플레이어에게 유용한 정보를 알려주세요. 학교 Chromebook을 쓰는 열두 살 플레이어에게 "WebGL 2 not supported"는 해결책 없는 막다른 길입니다. 더 나은 메시지는 감지한 정보(브라우저, OS, WebGL 1 작동 여부, 렌더러가 소프트웨어로 보였는지)를 알려주고, 해당 브라우저에서 적용할 한 줄짜리 해결 방법을 제공하며, 이 페이지나 검사기처럼 해결 여부를 확인할 수 있는 페이지로 연결합니다. 같은 결과를 분석 도구에도 기록하세요. WebGL 2에 실패하는 플레이어의 비율을 알면 더 가벼운 폴백을 개발할 가치가 있는지 판단할 수 있습니다.

엔진은 이 작업의 대부분을 처리합니다. Three.js의 WebGPU 렌더러, Babylon.js 및 PlayCanvas는 WebGL 2로 자동 폴백하며, 웹 게임 기술 스택 가이드에서 각 도구의 역할을 다룹니다. API를 직접 사용한다면 WebGPU 시작하기와 게임용 WebGL 기초 튜토리얼이 모두 작동하는 감지 코드부터 설명합니다.

자주 묻는 질문 ​

브라우저에서 WebGPU가 활성화되어 있는지 어떻게 확인하나요? ​

WebGL 및 WebGPU 검사기를 여세요. 어댑터 제조사와 아키텍처 정보와 함께 WebGPU 지원 여부를 알려줍니다. Chrome 또는 Edge에서는 chrome://gpu의 Graphics Feature Status에 WebGPU가 표시되며, API가 노출되지 않은 경우 콘솔에서 navigator.gpu가 undefined입니다. WebGPU는 HTTPS 페이지에서만 작동합니다.

Chrome에서 WebGL을 어떻게 활성화하나요? ​

설정, 시스템으로 이동하여 "가능한 경우 그래픽 가속 사용"을 켠 뒤 Chrome을 다시 실행하세요. 그런 다음 chrome://gpu를 열고 WebGL과 WebGL2에 "Hardware accelerated"가 표시되는지 확인하세요. 표시되지 않으면 GPU 드라이버를 업데이트하고, 최후의 수단으로 chrome://flags/#ignore-gpu-blocklist를 활성화하세요.

Firefox에서 WebGPU를 어떻게 활성화하나요? ​

Windows에서는 Firefox 141부터 기본으로 활성화되어 있으며, Apple Silicon Mac에서는 Firefox 145(macOS 26)부터, 지원되는 모든 macOS 버전에서는 Firefox 147부터 기본으로 활성화되어 있습니다. Linux, Intel Mac 및 Android에는 아직 정식 출시되지 않았습니다. about:config의 dom.webgpu.enabled 환경 설정을 사용하면 미완성 빌드가 노출되고 Firefox Nightly에서는 기본으로 활성화되어 있으므로, 지금 해당 플랫폼에서 필요하다면 Nightly를 사용하세요.

Safari는 WebGPU를 지원하나요? ​

예. macOS Tahoe, Sequoia 및 Sonoma, iOS 26, iPadOS 26, visionOS 26용 Safari 26.0(2025년 9월 15일)부터 기본으로 활성화되어 있습니다. Safari 17과 18에서는 설정, 고급, "웹 개발자용 기능 보기" 아래의 기능 플래그를 통해 사용할 수 있었습니다. WebGL 2에는 Safari 15 이상이 필요합니다.

하드웨어 가속이 켜져 있는데 WebGL이 차단됨 또는 소프트웨어 렌더링으로 표시되는 이유는 무엇인가요? ​

GPU 또는 해당 드라이버가 브라우저의 차단 목록에 있으므로, 가속을 활성화해도 브라우저가 사용을 거부하는 것입니다. chrome://gpu의 "Problems Detected" 또는 Firefox about:support의 Graphics 섹션에서 해당 항목을 확인할 수 있습니다. GPU 제조사에서 드라이버를 업데이트하고, 차단 정보가 오래된 것이라면 chrome://flags/#ignore-gpu-blocklist 또는 Firefox의 webgl.force-enabled로 우회하세요.

Unity WebGL 게임이 브라우저에서 작동하지 않는 이유는 무엇인가요? ​

페이지에 "Your browser does not support graphics API WebGL 2"가 표시된다면 브라우저가 WebGL 2 컨텍스트를 생성하지 못한 것입니다. 하드웨어 가속을 켜고 GPU 드라이버를 업데이트하며, VM 또는 원격 데스크톱 세션을 사용 중이 아닌지 확인하세요. Safari에서는 버전 15 이상으로 업데이트하세요. 검사기에서는 WebGL 2가 작동하지만 게임이 계속 실패한다면 임베디드 프레임 안이 아니라 게임 URL을 직접 여세요.

Android용 Chrome에서 WebGL 2가 작동하나요? ​

예. Chrome 58부터 지원하므로 현재 사용되는 휴대전화에서는 GPU 드라이버가 차단 목록에 있는 경우가 아니라면 작동합니다. 차단 문제는 시스템 업데이트 또는 chrome://flags/#ignore-gpu-blocklist로 해결할 수 있습니다. WebGPU는 별개입니다. ARM, Qualcomm 또는 Intel GPU가 탑재된 Android 12 이상에서는 Chrome 121 이상, Android 16 이상의 Imagination GPU에서는 Chrome 139 이상이 필요하며, Samsung Xclipse GPU 지원은 아직 개발 중입니다.

관련 문서 ​