Skip to content

WebGL 2 atau WebGPU Tidak Didukung? Cara Memperbaikinya di Setiap Browser (2026) ​

Terakhir diperbarui: September 2026.

Jendela browser yang menampilkan kanvas game hitam dan peringatan bahwa WebGL tidak didukung

Jika sebuah game atau halaman 3D menyatakan bahwa browser Anda tidak mendukung WebGL 2 atau WebGPU, penyebabnya hampir selalu salah satu dari empat hal: akselerasi perangkat keras dinonaktifkan, GPU atau driver Anda masuk daftar blokir browser, browser terlalu lama untuk API tersebut, atau Anda berada di mesin virtual maupun sesi desktop jarak jauh tanpa GPU sungguhan. Aktifkan akselerasi perangkat keras, perbarui driver grafis, perbarui browser, lalu konfirmasikan hasilnya dengan pengujian kemampuan. Untuk WebGPU, periksa juga platformnya: per September 2026, Firefox hanya menyediakannya di Windows dan Mac Apple Silicon, sedangkan Chrome di Linux hanya menyediakannya pada Intel Gen12+ dan perangkat keras NVIDIA terbaru.

Ini adalah halaman pemecahan masalah. Untuk memahami kedua API tersebut dan memilih salah satunya sebagai dasar pengembangan, baca WebGPU vs WebGL untuk Game.

Jawaban singkat ​

  • Lakukan diagnosis terlebih dahulu: buka pemeriksa WebGL dan WebGPU. Alat ini menunjukkan apakah WebGPU, WebGL 2, dan WebGL 1 berfungsi serta menyebutkan GPU yang digunakan browser Anda. Jika perender menampilkan SwiftShader, llvmpipe, atau "Software", berarti perenderan dilakukan oleh CPU dan perbaikan di bawah ini berlaku.
  • Chrome dan Edge: buka Setelan, Sistem, aktifkan "Gunakan akselerasi grafis jika tersedia", lalu luncurkan ulang. Periksa chrome://gpu (atau edge://gpu). Jika WebGL berstatus "Software only" atau "Unavailable", perbarui driver GPU. Sebagai upaya terakhir: chrome://flags/#ignore-gpu-blocklist.
  • Firefox: buka Pengaturan, Umum, Performa, hapus centang "Gunakan pengaturan performa yang disarankan", lalu centang "Gunakan akselerasi perangkat keras jika tersedia". Periksa about:support, bagian Grafis. Sebagai upaya terakhir: buka about:config, lalu atur webgl.force-enabled menjadi true.
  • Safari: perbarui ke Safari 26 untuk WebGPU dan Safari 15 atau yang lebih baru untuk WebGL 2. Tidak ada sakelar akselerasi yang dapat diaktifkan.
  • Pesan Unity "does not support graphics API WebGL 2" berarti canvas.getContext('webgl2') tidak menghasilkan apa pun. Perbaikannya sama, dan di Safari pesan ini berarti versinya lebih lama dari 15.
  • Perangkat kantor atau sekolah, VM, desktop jarak jauh: GPU diblokir oleh kebijakan atau memang tidak tersedia. Hubungi tim TI, atau mainkan di perangkat dengan GPU sungguhan.

Referensi singkat ​

Dukungan WebGPU per September 2026, berdasarkan wiki status implementasi WebGPU (diperbarui 13 Agustus 2026), catatan rilis Firefox dan WebKit, serta caniuse.

BrowserWindowsmacOSLinuxAndroidiOS dan iPadOS
Chrome dan Edge113+ (Windows di ARM: di balik flag)113+144+ pada Intel Gen12+, 147+ pada NVIDIA (driver 535.183.01+) di Wayland, lainnya di balik flag121+ pada Android 12+ dengan GPU ARM, Qualcomm, atau Intel, 139+ untuk Imagination pada Android 16+, Samsung Xclipse masih dalam pengembanganMenggunakan mesin WebKit Apple, jadi uji langsung di perangkat
Firefox141+ (22 Juli 2025)145+ pada macOS 26 dengan Apple Silicon, 147+ pada semua macOS yang didukung dengan Apple Silicon, Mac Intel hanya NightlyHanya Nightly, rilis direncanakan pada 2026Di balik flagMenggunakan mesin WebKit Apple
Safaritidak berlaku26+ (15 September 2025, pada macOS Tahoe, Sequoia, dan Sonoma)tidak berlakutidak berlaku26+
Platform yang menyediakan WebGPU saat iniVersi rilis, September 2026. Nomor versi adalah rilis pertama yang mengaktifkannya secara default.WindowsmacOSLinuxAndroidiOS, iPadOSChrome, EdgeFirefoxSafari113+ARM: di balik flag113+GPU tertentu144+ Intel Gen12+147+ NVIDIA121+Android 12+139+ ImaginationMesin WebKitlihat Safari141+145+ / 147+Hanya Apple SiliconIntel: NightlyHanya Nightlydirencanakan 2026Di balik flagMesin WebKitlihat Safarit/b26+Tahoe hingga Sonomat/bt/b26+Telah dirilisDirilis di perangkat tertentuDi balik flagBelum ada di versi rilisSemua browser di iOS dan iPadOS memakai mesin WebKit Apple, jadi baris Safari yang berlaku di sana.
Tabel yang sama dalam bentuk kisi. Hijau berarti aktif secara default dalam versi rilis. Dua sel berwarna setengah hijau karena jawabannya bergantung pada GPU: Chrome di Linux (Intel Gen12+ atau NVIDIA terbaru di Wayland) dan Firefox di macOS (hanya Apple Silicon). Firefox di Linux dan Android, serta Chrome di Windows pada ARM, masih memerlukan Nightly atau flag.

WebGL 2 adalah standar dasarnya. Menurut caniuse, WebGL 2 tersedia di Chrome 56+, Edge 79+, Firefox 51+, Safari 15+, dan iOS Safari 15+, sedangkan halaman kompatibilitas Unity mencantumkan Chrome 58+ di Android. Jika WebGL 2 gagal di browser modern mana pun, masalahnya terletak pada perangkat, bukan versi browser.

Diagnosis dalam 30 detik ​

Mulailah dengan pemeriksa WebGL dan WebGPU. Alat ini berjalan saat halaman dimuat dan tidak mengunggah apa pun. Perhatikan tiga hal yang ditampilkannya.

Pada perangkat yang mengalami masalah, halamannya terlihat seperti ini.

Pemeriksa yang menampilkan banner oranye Tidak ada perenderan GPU yang tersedia, kanvas hitam, dan tiga kartu Tidak berwarna merah untuk WebGPU, WebGL 2, serta WebGL 1
Beginilah tampilan browser yang diblokir atau hanya menggunakan perenderan perangkat lunak di pemeriksa: banner oranye, kanvas perenderan hitam tanpa pembacaan FPS, dan ketiga kartu API bertanda Tidak. Perhatikan kotak "Cara memperbaikinya", yang langsung menyarankan untuk memeriksa akselerasi perangkat keras.

API mana yang lolos. Jika WebGL 2 berfungsi dan hanya WebGPU yang gagal, lihat tabel di atas karena WebGPU bergantung pada kombinasi browser, OS, dan GPU, sehingga jawabannya mungkin "belum tersedia di platform ini". Jika WebGL 2 juga gagal, lanjutkan membaca: ini menunjukkan masalah pada akselerasi, driver, atau daftar blokir.

Baris perender. GPU sungguhan ditampilkan sebagai sesuatu seperti "ANGLE (NVIDIA, NVIDIA GeForce RTX 4060 ...)" atau "Apple M2". SwiftShader, llvmpipe, "Microsoft Basic Render Driver", atau apa pun yang memuat kata "software" berarti browser Anda melakukan perenderan melalui CPU. Game akan berjalan sangat lambat dan WebGPU tidak akan tersedia.

Halaman GPU milik browser. Di Chrome, ketik chrome://gpu pada bilah alamat (Edge: edge://gpu). "Graphics Feature Status" mencantumkan WebGL dan WebGL2 sebagai "Hardware accelerated", "Software only, hardware acceleration unavailable", atau "Unavailable", sedangkan "Problems Detected" di bagian bawah menjelaskan penyebabnya, biasanya dengan menyebutkan entri daftar blokir atau driver tertentu. Di Firefox, about:support memiliki bagian Grafis tempat "Compositing" menunjukkan apakah akselerasi aktif, sementara Failure Log atau Decision Log menjelaskan pemblokiran yang terjadi. Safari tidak memiliki halaman serupa.

"Perenderan perangkat lunak" berarti sebagai berikut: browser menyimpan daftar kombinasi GPU dan driver yang diketahui dapat menyebabkan crash atau kesalahan tampilan. Saat perangkat Anda cocok dengan salah satu entri, browser akan menonaktifkan fitur tersebut atau beralih ke peraster berbasis CPU. Daftar blokir Chromium menonaktifkan semua akselerasi GPU untuk Microsoft Basic Render Driver ("GPU access is blocked if users don't have proper graphics driver installed after Windows installation"), VMware dan VirtualBox, serta driver Intel dan NVIDIA lama. Entri tersebut ditentukan berdasarkan versi driver, itulah sebabnya "perbarui driver" dapat memperbaiki begitu banyak masalah ini. Satu hal berubah pada 2026. Chromium sebelumnya beralih ke SwiftShader, implementasi WebGL berbasis CPU, setiap kali GPU diblokir, sehingga WebGL tetap "berfungsi", tetapi lambat. Dokumentasi kebijakan Edge dari Microsoft menyatakan bahwa mulai versi 144, SwiftShader tidak digunakan lagi dan "pembuatan konteks WebGL gagal dalam skenario ketika SwiftShader digunakan", sedangkan dokumentasi SwiftShader Chromium menyatakan hal yang sama untuk Chrome, dengan --enable-unsafe-swiftshader sebagai opsi yang harus diaktifkan secara khusus. Mesin yang masuk daftar blokir dan sebelumnya masih bisa menjalankan game dengan lambat kini mendapatkan pesan kesalahan "tidak didukung".

Jika dirangkum, diagnosisnya terdiri dari tiga pertanyaan yang diajukan dalam urutan tetap, dan masing-masing memiliki satu perbaikan.

Tiga pertanyaan, tiga perbaikanJawab masing-masing dengan pemeriksa dan halaman GPU peramban. Tidak berarti ke kanan, ya berarti ke bawah.Kanvas hitam, atau kesalahan "tidak didukung"Buka pemeriksa dan baca baris perenderyayayatidaktidaktidakApakah akselerasi perangkat keras aktif?chrome://gpu atau about:support menyatakannya, setelah dimulai ulangAktifkan. Chrome: Setelan, Sistem.Firefox: Setelan, Umum, Performa.Mulai ulang, setelan memerlukan pemulaian ulang.Apakah perender menyebutkan GPU sungguhan?SwiftShader, llvmpipe, Basic Render Driver berarti tidakPerbarui driver GPU dari produsennya.Blok usang? Gunakan flag ignore-gpu-blocklist.VM atau desktop jarak jauh: mainkan di host.Apakah peramban menyediakan WebGPU di sini?Hanya ditanyakan jika WebGL 2 lolos dan WebGPU gagalPerbarui peramban, lalu periksa tabel.Firefox: hanya Windows dan Apple Silicon.Chrome Linux: hanya Intel Gen12+, NVIDIA.Jalankan kembali pemeriksaWebGL 2 bertuliskan Didukung, WebGPU sesuai prediksi tabel
Telusuri kolom kiri dari atas ke bawah dan berhenti pada jawaban tidak yang pertama. Urutannya penting: memperbarui driver tidak berguna selama akselerasi nonaktif, dan pertanyaan WebGPU hanya berlaku setelah WebGL 2 berfungsi, karena tidak tersedianya WebGPU pada mesin yang sehat biasanya disebabkan oleh platform, bukan kerusakan.

Chrome dan Edge ​

Chrome dan Edge memakai mesin Chromium yang sama, jadi semua yang dijelaskan di sini berlaku untuk keduanya. Ganti chrome:// dengan edge:// bila diperlukan.

Tombol akselerasi perangkat keras ​

Buka Setelan, lalu Sistem, dan pastikan "Gunakan akselerasi grafis jika tersedia" aktif (di Edge, opsi ini berada di Sistem dan performa). Mulai ulang peramban, karena setelan tersebut baru berlaku setelah pemulaian ulang. Opsi ini cukup sering nonaktif karena banyak saran untuk "memperbaiki kedipan Chrome" menyuruh pengguna mematikannya. Lalu buka chrome://gpu. Jika WebGL dan WebGL2 bertuliskan "Hardware accelerated", masalah selesai. Jika tidak, peramban sengaja menolak GPU Anda, dan alasannya tercantum di bawah "Problems Detected".

Windows ​

Penyebab yang lazim adalah driver usang atau generik. Jika perender menampilkan "Microsoft Basic Render Driver", Windows sama sekali tidak memiliki driver yang sebenarnya untuk GPU Anda, dan Chromium memperlakukannya sebagai perintah untuk "memblokir semuanya". Instal driver langsung dari NVIDIA, AMD, atau Intel daripada menunggu Windows Update. Pada laptop dengan dua GPU, Setelan Windows, Sistem, Tampilan, Grafis memungkinkan Anda menetapkan peramban agar memakai GPU berperforma tinggi. Peramban yang berjalan pada chip terintegrasi dapat lolos pemeriksaan, tetapi sangat lambat dalam game berat.

Windows on ARM (laptop Snapdragon) merupakan kasus khusus WebGPU: wiki status implementasi mencantumkannya sebagai fitur di balik chrome://flags/#enable-unsafe-webgpu atau opsi --enable-unsafe-webgpu. WebGL 2 berfungsi secara normal di sana.

macOS ​

Mac jarang mengalami masalah ini karena Apple menyediakan driver bersama OS. Jika Chrome pada Mac melaporkan perenderan perangkat lunak, kemungkinan penyebabnya adalah tombol akselerasi, versi macOS yang sangat lama, atau mesin virtual. Memperbarui macOS berarti memperbarui driver.

Linux ​

Linux memiliki paling banyak batasan untuk WebGPU. Menurut wiki, Chrome menyediakan WebGPU secara default di Linux untuk Intel Gen12 dan yang lebih baru mulai Chrome 144, serta untuk NVIDIA dengan driver 535.183.01 atau yang lebih baru di Wayland mulai Chrome 147. Semua konfigurasi lainnya (AMD, Intel lama, NVIDIA di X11) memerlukan rangkaian flag yang tercantum di wiki: --enable-unsafe-webgpu --ozone-platform=x11 --use-angle=vulkan --enable-features=Vulkan,VulkanFromANGLE. Peluncuran bertahap ini menjalankan WebGPU di Vulkan sementara bagian peramban lainnya tetap memakai OpenGL, sehingga pengaktifannya dibatasi menurut keluarga GPU.

Untuk WebGL 2 di Linux, pertanyaannya adalah apakah Mesa memakai GPU Anda atau rasterizer perangkat lunak llvmpipe. Jika perender menampilkan llvmpipe, perbarui driver Mesa untuk GPU Anda (atau driver proprietari NVIDIA).

Mengabaikan daftar blokir ​

chrome://flags/#ignore-gpu-blocklist ("Override software rendering list") memaksa Chrome memakai GPU Anda meskipun tercantum dalam daftar blokir. Ini adalah langkah yang tepat ketika daftar tersebut keliru menolak GPU Anda, atau ketika Anda lebih memilih gangguan sesekali daripada tidak bisa memakai WebGL sama sekali. Namun, ini merupakan langkah yang salah jika pemblokiran diterapkan karena driver mengalami crash, jadi coba perbarui driver terlebih dahulu.

Chrome Android ​

WebGL 2 telah tersedia di Chrome Android sejak versi 58, jadi pada ponsel masa kini, kegagalan WebGL 2 biasanya berarti driver GPU masuk daftar blokir. Di Android, driver tersebut tidak dapat diperbarui secara terpisah. Periksa pembaruan sistem, lalu coba chrome://flags/#ignore-gpu-blocklist, yang juga tersedia di Android.

WebGPU hadir di Android melalui Chrome 121 untuk Android 12 atau yang lebih baru dengan GPU ARM, Qualcomm, atau Intel, serta melalui Chrome 139 untuk GPU Imagination di Android 16 atau yang lebih baru. Wiki masih mencantumkan GPU Xclipse milik Samsung (ponsel Galaxy Exynos) sebagai sedang dalam pengembangan, sehingga Galaxy Exynos yang telah diperbarui sepenuhnya masih dapat melaporkan bahwa WebGPU tidak tersedia. Itu bukan bug di pihak Anda.

Firefox ​

Akselerasi perangkat keras dan pengabaian blokir ​

Buka Setelan, Umum, gulir ke Performa, hapus centang "Gunakan setelan performa yang disarankan", lalu pastikan "Gunakan akselerasi perangkat keras jika tersedia" dicentang. Mulai ulang Firefox. Kemudian periksa about:support, bagian Grafis: "Compositing" seharusnya menampilkan WebRender, sedangkan WebGL yang diblokir akan muncul di Failure Log atau Decision Log bersama driver atau fitur yang diblokir.

Halaman driver grafis yang diblokir milik Mozilla mendokumentasikan opsi untuk mengabaikan pemblokiran. Di about:config, atur webgl.force-enabled ke true untuk mengabaikan pemblokiran WebGL dan layers.acceleration.force-enabled ke true untuk mengabaikan pemblokiran compositing. Menurut Mozilla: "lakukan ini dengan risiko Anda sendiri. Biasanya ada alasan kuat mengapa fitur diblokir". Perbarui driver terlebih dahulu.

WebGPU: Firefox mana di OS apa ​

Di Firefox, pesan "WebGPU tidak didukung" paling sering hanya disebabkan oleh platform. Berdasarkan catatan rilis: Firefox 141 (22 Juli 2025) mengaktifkan WebGPU di Windows. Firefox 145 (11 November 2025) menambahkan dukungan untuk macOS 26 Tahoe di Apple Silicon. Firefox 147 memperluasnya ke "perangkat dengan prosesor Apple Silicon di semua versi macOS yang didukung". Mac berbasis Intel, Linux, dan Android masih belum didukung: halaman fitur eksperimental MDN menyatakan bahwa untuk "platform lain seperti Linux dan macOS di Intel Silicon, fitur ini diaktifkan di Nightly", sedangkan wiki mencantumkan dukungan Linux diperkirakan hadir pada 2026 dan Android tersedia di balik flag.

Preferensinya adalah dom.webgpu.enabled di about:config. Pada platform yang belum mendapat rilis resmi Firefox, mengubahnya menjadi true dalam versi rilis akan mengekspos implementasi yang belum diselesaikan Mozilla untuk OS tersebut, jadi bersiaplah menghadapi crash. Jika ingin memakai WebGPU di Firefox Linux saat ini, gunakan Nightly, yang mengaktifkannya secara default. Caniuse menandai Firefox sebagai "dinonaktifkan secara default" karena situs tersebut melacak flag berdasarkan peramban, bukan berdasarkan OS, jadi jangan biarkan halaman itu membuat pengguna Windows mengira WebGPU tidak tersedia.

Safari ​

Safari tidak memiliki tombol akselerasi maupun daftar blokir yang dapat diabaikan. Versi Safari menentukan semuanya.

WebGL 2 memerlukan Safari 15 atau yang lebih baru di macOS dan iOS. Halaman kompatibilitas Unity menyatakannya dengan jelas: "Apple Safari tidak mendukung WebGL 2 pada versi sebelum Safari 15". Mac yang tertahan pada macOS lama tidak dapat memperoleh Safari yang lebih baru, jadi solusinya adalah memperbarui macOS atau menginstal Chrome atau Firefox, yang dapat menjalankan WebGL 2 pada macOS lama.

WebGPU dirilis melalui Safari 26.0 pada 15 September 2025 di macOS Tahoe, Sequoia, dan Sonoma, serta iOS 26, iPadOS 26, dan visionOS 26, dan aktif secara default. Postingan rilis WebKit menyatakan bahwa WebGPU "menggantikan WebGL di macOS, iOS, iPadOS, dan visionOS serta lebih disarankan untuk situs dan aplikasi web baru". Jika Anda memakai Safari 26 dan WebGPU masih gagal, pastikan halaman disajikan melalui HTTPS (WebGPU hanya berfungsi dalam konteks aman di semua peramban) dan tidak berada di dalam web view tersemat.

Di Safari 17 dan 18, WebGPU tersedia di balik flag fitur. Di macOS, buka Pengaturan Safari, Lanjutan, centang "Tampilkan fitur untuk pengembang web", lalu tab Feature Flags akan muncul dan memungkinkan Anda mengaktifkan WebGPU. Di iOS 18, jalurnya adalah Pengaturan, App, Safari, Lanjutan, Feature Flags (iOS lama: Pengaturan, Safari, Lanjutan). Itu adalah implementasi prarilis, cukup untuk demo, tetapi bukan sesuatu yang layak dijadikan target saat merilis game.

Apa pun peramban yang Anda perbaiki, muat ulang pemeriksa. Hasil yang sehat terlihat seperti ini.

Pemeriksa menampilkan spanduk siap berwarna ungu, segitiga gradien yang dirender pada 60 FPS melalui WebGPU, serta kartu Didukung untuk WebGPU dan WebGL 2
Inilah yang seharusnya terlihat setelah perbaikan: segitiga dirender pada 60 FPS, baris perenderan langsung menyebutkan WebGPU, dan WebGPU serta WebGL 2 sama-sama bertuliskan Didukung. WebGL 1 yang menampilkan Tidak di sini adalah hal normal. Pemeriksa meminta WebGL 2 terlebih dahulu dari satu kanvas, dan sebuah kanvas hanya dapat menampung satu jenis konteks, sehingga pemeriksaan lama tidak menghasilkan apa pun.

Laptop kantor, Chromebook sekolah, VM, dan desktop jarak jauh ​

Jika tombol pengaturan tidak tersedia atau perubahannya tidak tersimpan, periksa siapa yang mengelola perangkat tersebut. Browser yang dikelola dapat menonaktifkan akselerasi melalui kebijakan. Chrome dan Edge sama-sama memiliki kebijakan HardwareAccelerationModeEnabled, dan dokumentasi Microsoft menyatakan bahwa ketika kebijakan ini dinonaktifkan, browser akan "menonaktifkan akselerasi grafis". Tombol pengaturan akan menjadi abu-abu atau kembali ke posisi semula, dan chrome://policy mencantumkan kebijakan yang diterapkan. Sejak Chromium 144, tersedia juga EnableUnsafeSwiftShader, kebijakan sementara yang mempertahankan fallback CPU lama pada mesin tanpa GPU. Jika Anda mengelola laboratorium sekolah yang tiba-tiba tidak dapat membuka semua situs WebGL, kebijakan tersebut dapat menjadi solusi sementara sambil Anda memperbaiki masalah driver.

Mesin virtual menyediakan GPU virtual yang ditolak oleh browser. Daftar blokir Chromium memiliki entri eksplisit ("Jangan gunakan rendering yang diakselerasi GPU dengan VMware di Windows", "Driver VirtualBox tidak stabil di Linux", "Driver Parallels yang lebih lama dari versi 7 bermasalah"), yang semuanya menonaktifkan setiap fitur terakselerasi. Aktifkan akselerasi 3D di pengaturan VM dengan guest tools terbaru, atau terima bahwa VM tersebut hanya digunakan untuk menguji jalur tanpa GPU dan mainkan game di mesin host.

Desktop jarak jauh adalah masalah yang sama dalam bentuk berbeda. Sesi RDP, desktop Citrix atau Horizon, maupun PC cloud biasanya hanya menyediakan adaptor tampilan dasar, sehingga browser tidak mendeteksi GPU yang dapat digunakan. Jalankan browser di mesin lokal alih-alih di dalam sesi tersebut.

Chromebook adalah kasus yang mudah: ChromeOS telah mendukung WebGPU sejak Chrome 113, jadi kegagalan di sana hampir selalu disebabkan oleh kebijakan atau perangkat yang telah melewati masa pembaruannya.

Kesalahan Unity "tidak mendukung API grafis WebGL 2" ​

Teks persis yang dilihat pemain:

Browser Anda tidak mendukung API grafis "WebGL 2" yang diperlukan untuk konten ini.

Pesan ini berasal dari pemuat web Unity ketika permintaan konteks webgl2 menghasilkan null. Halaman kompatibilitas browser Unity menyatakan bahwa build Web memerlukan browser yang "mendukung WebGL 2", dengan WebGL 2 sebagai API grafis bawaan, sehingga pemuat tidak memiliki fallback kecuali pengembang menambahkannya.

Jika Anda pemain, penyebab berdasarkan urutan kemungkinannya adalah: akselerasi perangkat keras dinonaktifkan, driver GPU masuk daftar blokir (dan sejak Chromium 144 tidak lagi diselamatkan oleh SwiftShader), Anda menggunakan VM atau sesi jarak jauh, atau Anda menggunakan Safari 14 maupun versi lebih lama. Jika pemeriksa menyatakan WebGL 2 berfungsi tetapi game tetap gagal, halaman tersebut mungkin berada di dalam frame tersemat atau web view tanpa akses GPU, dan membuka URL game secara langsung biasanya memperbaikinya.

Jika Anda pengembang, daftar Graphics APIs di Player Settings, Web, Other Settings menentukan seberapa sering pemain mengalami masalah ini. Saat Auto Graphics API diaktifkan, Unity mencoba WebGL 2 terlebih dahulu, dan diskusi komunitas mencatat bahwa peringatan yang sama muncul ketika fallback ke WebGL 1 berhasil tetapi WebGL 2 gagal, sehingga pesan itu saja tidak menunjukkan apakah game berhasil dijalankan. Ruang warna Linear hanya mengizinkan WebGL 2. Menambahkan "WebGL 1 (Deprecated)" membuat browser yang sangat lama tetap dapat memainkan game, dengan konsekuensi hilangnya pemrosesan pasca-render dan beberapa format tekstur, serta penambahan sekitar 1,5 MB pada file data menurut pengukuran seorang pengembang. Unity 6 juga memungkinkan Anda menambahkan WebGPU, yang masih ditandai eksperimental, dan panduan pengaktifannya menyatakan bahwa Unity menggunakan API pertama dalam daftar lalu beralih ke API berikutnya jika gagal. Karena itu, urutan yang aman adalah WebGPU, lalu WebGL 2. Apa pun pilihan Anda, ganti teks kesalahan bawaan di templat dengan pesan yang memberikan langkah konkret kepada pemain.

Dari gejala ke penyebab ​

Kanvas hitam atau kosong, tanpa pesan kesalahan. Konteks berhasil dibuat, tetapi GPU tidak menggambar. Penyebab umum: konteks hilang tepat setelah dibuat, GPU tidak mampu menangani shader, atau ekstensi privasi memalsukan WebGL. Coba jendela privat dengan ekstensi dinonaktifkan, lalu periksa konsol untuk pesan "context lost" atau kesalahan kompilasi shader.

"WebGL context lost" saat game sedang berjalan. Catatan kehilangan konteks MDN mencantumkan penyebabnya: halaman saling berebut GPU, laptop beralih antara GPU terintegrasi dan diskret, browser mereset GPU untuk menghentikan kemacetan dari tab lain, atau driver diperbarui di latar belakang. Tutup tab lain yang banyak menggunakan GPU, sambungkan laptop ke daya agar tidak terus beralih GPU, lalu muat ulang. Jika hal ini selalu terjadi, game kehabisan memori GPU di perangkat Anda, yang merupakan bug game dan bukan masalah pengaturan browser.

Berjalan pada 1 hingga 5 fps. Rendering perangkat lunak. Periksa apakah renderer menggunakan SwiftShader, llvmpipe, atau "Software", lalu perbaiki akselerasi atau driver. Di ponsel, rasio piksel perangkat 3x berarti sembilan piksel digambar untuk setiap piksel CSS. Game yang tidak membatasi resolusinya akan berjalan sangat lambat, dan itu merupakan tanggung jawab pengembang.

WebGPU tidak tersedia di mesin dengan WebGL 2 yang berfungsi. Periksa tabel terlebih dahulu. Kemudian periksa URL: navigator.gpu tidak terdefinisi pada halaman http:// biasa. Setelah itu, cari baris WebGPU di Graphics Feature Status. Pada Chrome Linux dan Firefox non-Windows, jawabannya biasanya "belum tersedia di platform ini".

Untuk pengembang: deteksi, fallback, dan beri tahu pemain ​

Deteksi kedua API sebelum memuat apa pun yang berat, dan tampilkan pesan ketika terjadi kegagalan, bukan halaman kosong. Pola MDN untuk WebGPU adalah memeriksa navigator.gpu, lalu memanggil requestAdapter(), yang menghasilkan null jika tidak ada adaptor yang tersedia. Untuk WebGL, getContext('webgl2') menghasilkan null jika gagal.

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 }
}

Ada dua detail penting. failIfMajorPerformanceCaveat: true membuat getContext gagal alih-alih memberikan konteks yang dirender melalui perangkat lunak. Dengan begitu, Anda dapat mendeteksi kondisi "ini akan berjalan pada 2 fps", memperingatkan pemain, lalu memutuskan apakah tetap akan menerima konteks perangkat lunak tersebut. Selain itu, satu kanvas hanya dapat memiliki tepat satu jenis konteks, jadi tentukan pilihan sebelum membuatnya atau gunakan kanvas terpisah. requestAdapter() juga menerima featureLevel: 'compatibility', yaitu subset WebGPU terbatas untuk perangkat keras kelas OpenGL ES 3.1 dan Direct3D 11.

Tangani juga kehilangan konteks. Dengarkan webglcontextlost, panggil preventDefault() agar browser mengetahui bahwa Anda akan mencoba memulihkannya, lalu bangun ulang sumber daya GPU di webglcontextrestored. Game yang melewatkan langkah ini akan mengalami gejala "kanvas hitam, tanpa pesan kesalahan" setiap kali laptop beralih GPU.

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

Sampaikan sesuatu yang berguna kepada pemain. "WebGL 2 tidak didukung" adalah jalan buntu bagi anak berusia dua belas tahun yang menggunakan Chromebook sekolah. Pesan yang lebih baik menyebutkan apa yang Anda deteksi (browser, OS, apakah WebGL 1 berfungsi, dan apakah renderer tampak menggunakan perangkat lunak), memberikan solusi satu baris untuk browser mereka, serta menautkan ke halaman seperti ini atau pemeriksa agar mereka dapat memastikan perbaikannya. Catat hasil yang sama ke analitik, karena proporsi pemain yang gagal menjalankan WebGL 2 menunjukkan apakah fallback yang lebih ringan layak dibuat.

Engine menangani sebagian besar hal ini. Renderer WebGPU Three.js, Babylon.js, dan PlayCanvas secara otomatis beralih ke WebGL 2, sedangkan panduan stack teknologi game web menjelaskan fungsi masing-masing. Jika Anda menggunakan API secara langsung, tutorial memulai WebGPU dan dasar-dasar WebGL sama-sama dimulai dengan blok deteksi yang berfungsi.

Pertanyaan Umum ​

Bagaimana cara memeriksa apakah WebGPU diaktifkan di browser saya? ​

Buka pemeriksa WebGL dan WebGPU, yang melaporkan apakah WebGPU didukung beserta vendor dan arsitektur adaptornya. Di Chrome atau Edge, chrome://gpu mencantumkan WebGPU di bagian Graphics Feature Status, sedangkan di konsol navigator.gpu bernilai undefined ketika API tidak tersedia. WebGPU hanya berfungsi pada halaman HTTPS.

Bagaimana cara mengaktifkan WebGL di Chrome? ​

Buka Settings, System, aktifkan "Use graphics acceleration when available", lalu luncurkan ulang Chrome. Setelah itu, buka chrome://gpu dan pastikan WebGL serta WebGL2 menampilkan "Hardware accelerated". Jika tidak, perbarui driver GPU Anda, dan sebagai upaya terakhir aktifkan chrome://flags/#ignore-gpu-blocklist.

Bagaimana cara mengaktifkan WebGPU di Firefox? ​

Di Windows, WebGPU aktif secara bawaan sejak Firefox 141, dan di Mac Apple Silicon sejak Firefox 145 (macOS 26) serta 147 (semua versi macOS yang didukung). Di Linux, Mac Intel, dan Android, fitur ini belum dirilis: preferensi dom.webgpu.enabled di about:config mengaktifkan build yang belum selesai, dan Firefox Nightly mengaktifkannya secara bawaan. Jadi, gunakan Nightly jika Anda memerlukannya di platform tersebut saat ini.

Apakah Safari mendukung WebGPU? ​

Ya, sejak Safari 26.0 (15 September 2025) di macOS Tahoe, Sequoia, dan Sonoma, iOS 26, iPadOS 26, serta visionOS 26, dan aktif secara bawaan. Safari 17 dan 18 menyediakan fitur ini di balik feature flag pada Settings, Advanced, "Show features for web developers". WebGL 2 memerlukan Safari 15 atau versi lebih baru.

Mengapa WebGL menyatakan diblokir atau menggunakan rendering perangkat lunak ketika akselerasi perangkat keras aktif? ​

GPU atau drivernya masuk daftar blokir browser, sehingga browser menolaknya meskipun akselerasi telah diaktifkan. Bagian "Problems Detected" di chrome://gpu atau bagian Graphics pada about:support Firefox akan menyebutkan entri penyebabnya. Perbarui driver dari produsen GPU, dan jika pemblokiran tersebut sudah tidak relevan, abaikan dengan chrome://flags/#ignore-gpu-blocklist atau webgl.force-enabled di Firefox.

Mengapa game Unity WebGL saya tidak berfungsi di browser? ​

Jika halaman menampilkan "Browser Anda tidak mendukung API grafis WebGL 2", browser tidak dapat membuat konteks WebGL 2. Aktifkan akselerasi perangkat keras, perbarui driver GPU, pastikan Anda tidak menggunakan VM atau sesi desktop jarak jauh, dan jika menggunakan Safari, perbarui ke versi 15 atau yang lebih baru. Jika pemeriksa menunjukkan WebGL 2 berfungsi tetapi game tetap gagal, buka URL game secara langsung, bukan di dalam frame tersemat.

Apakah WebGL 2 berfungsi di Chrome pada Android? ​

Ya, sejak Chrome 58, sehingga fitur ini berfungsi pada semua ponsel terkini kecuali driver GPU masuk daftar blokir. Anda dapat memperbaikinya dengan pembaruan sistem atau chrome://flags/#ignore-gpu-blocklist. WebGPU merupakan fitur terpisah: Chrome 121+ pada Android 12+ dengan GPU ARM, Qualcomm, atau Intel; Chrome 139+ untuk GPU Imagination pada Android 16+; sedangkan dukungan GPU Samsung Xclipse masih dalam pengembangan.

Terkait ​