Skip to content

BlurView with react native - java.lang.IllegalArgumentException: Software rendering doesn't support hardware bitmapsΒ #650

@mohsinDPRO

Description

@mohsinDPRO

Version used are as follows:-

"react": "18.2.0",
"react-native": "npm:react-native-tvos@^0.73.7-0",

I have a simple component which is trying to render the BlurView.
In case of iOS it is rendering as expected, but in case of android it is throwing error:- java.lang.IllegalArgumentException: Software rendering doesn't support hardware bitmaps

Here is the code:-

import React from "react";
import { StyleSheet, View, ImageBackground, Text } from "react-native";
import { BlurView } from "@react-native-community/blur";

const PDPScreen = () => {
	return (
		<View style={styles.container}>
			{/* Background image to blur */}
			<ImageBackground source={{ uri: "https://picsum.photos/800/600" }} style={styles.backgroundImage}>
				{/* BlurView Layer */}
				<BlurView
					style={styles.blurView}
					blurType="light" // or 'dark', 'extraLight'
					blurAmount={10}
					reducedTransparencyFallbackColor="white"
					overlayColor="rgba(255,255,255,0.2)" // important for Android
				/>

				{/* Content on top of blur */}
				<View style={styles.content}>
					<Text style={styles.text}>This is on top of a blurred background</Text>
				</View>
			</ImageBackground>
		</View>
	);
};

export default PDPScreen;

const styles = StyleSheet.create({
	container: {
		flex: 1,
	},
	backgroundImage: {
		flex: 1,
		justifyContent: "center",
	},
	blurView: {
		...StyleSheet.absoluteFillObject,
	},
	content: {
		padding: 20,
		backgroundColor: "transparent", // avoid putting background here to see the blur effect
		alignItems: "center",
	},
	text: {
		fontSize: 18,
		color: "#000",
		fontWeight: "600",
	},
});

here is the error stack trace:-


java.lang.IllegalArgumentException: Software rendering doesn't support hardware bitmaps
at android.graphics.BaseCanvas.throwIfHwBitmapInSwMode(BaseCanvas.java:726)
at android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:81)
at android.graphics.BaseCanvas.drawBitmap(BaseCanvas.java:139)
at android.graphics.Canvas.drawBitmap(Canvas.java:1604)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:549)
at android.widget.ImageView.onDraw(ImageView.java:1428)
at android.view.View.draw(View.java:23889)
at android.view.View.draw(View.java:23762)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23892)
at android.view.View.draw(View.java:23762)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at com.shopify.reactnative.flash_list.AutoLayoutView.dispatchDraw(AutoLayoutView.kt:34)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23892)
at android.widget.ScrollView.draw(ScrollView.java:1971)
at com.facebook.react.views.scroll.ReactScrollView.draw(ReactScrollView.java:646)
at android.view.View.draw(View.java:23762)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23892)
at android.view.View.draw(View.java:23762)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23760)
2025-07-29 23:53:03.786 10841-10841 unknown:ReactNative     com.dotstudiopro.greenlight          E  	at android.view.ViewGroup.drawChild(ViewGroup.java:4556) (Ask Gemini)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23892)
at android.view.View.draw(View.java:23762)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1312)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.swmansion.rnscreens.ScreenStack.performDraw(ScreenStack.kt:315)
at com.swmansion.rnscreens.ScreenStack.access$performDraw(ScreenStack.kt:15)
at com.swmansion.rnscreens.ScreenStack$DrawingOp.draw(ScreenStack.kt:327)
at com.swmansion.rnscreens.ScreenStack.drawAndRelease(ScreenStack.kt:282)
at com.swmansion.rnscreens.ScreenStack.dispatchDraw(ScreenStack.kt:298)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at com.facebook.react.views.view.ReactViewGroup.drawChild(ReactViewGroup.java:968)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.views.view.ReactViewGroup.dispatchDraw(ReactViewGroup.java:941)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at com.facebook.react.ReactRootView.dispatchDraw(ReactRootView.java:288)
at android.view.View.draw(View.java:23760)
at android.view.ViewGroup.drawChild(ViewGroup.java:4556)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4317)
at android.view.View.draw(View.java:23892)
at eightbitlab.com.blurview.PreDrawBlurController.updateBlur(PreDrawBlurController.java:120)
at eightbitlab.com.blurview.PreDrawBlurController.init(PreDrawBlurController.java:103)
at eightbitlab.com.blurview.PreDrawBlurController.updateBlurViewSize(PreDrawBlurController.java:184)
at eightbitlab.com.blurview.BlurView.onSizeChanged(BlurView.java:63)
at android.view.View.sizeChange(View.java:24612)
at android.view.View.setFrame(View.java:24564)
at android.view.View.layout(View.java:24415)
at android.view.ViewGroup.layout(ViewGroup.java:6440)
at com.facebook.react.uimanager.NativeViewHierarchyManager.updateLayout(NativeViewHierarchyManager.java:254)
2025-07-29 23:53:03.786 10841-10841 unknown:ReactNative     com.dotstudiopro.greenlight          E  	at com.facebook.react.uimanager.NativeViewHierarchyManager.updateLayout(NativeViewHierarchyManager.java:222) (Ask Gemini)
at com.swmansion.reanimated.layoutReanimation.ReanimatedNativeHierarchyManagerBase.updateLayout(ReanimatedNativeHierarchyManagerBase.java:14)
at com.facebook.react.uimanager.UIViewOperationQueue$UpdateLayoutOperation.execute(UIViewOperationQueue.java:169)
at com.facebook.react.uimanager.UIViewOperationQueue$1.run(UIViewOperationQueue.java:926)
at com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches(UIViewOperationQueue.java:1037)
at com.facebook.react.uimanager.UIViewOperationQueue.-$$Nest$mflushPendingBatches(Unknown Source:0)
at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1097)
at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1337)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1348)
at android.view.Choreographer.doCallbacks(Choreographer.java:952)
at android.view.Choreographer.doFrame(Choreographer.java:878)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1322)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)
at android.app.ActivityThread.main(ActivityThread.java:8177)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

We are expecting it to render a blurview, instead it is crashing on android.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions