rive-app / rive-app/rive-flutter

Floating point error raspberry Pi

Open
#486 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Dart
Stars
1.5k
Forks
240
PR merge metrics
No merged PRs in 30d

Description

<-- Thanks for using Rive!

Image

If something isn't working like you expected, please:

If you think you found a bug or if you can't find what you're looking for
in our docs, fill out the template below.

-->

Description

<-- A clear and concise description of what the problem is. -->
Rendering rive files on a raspberry pi 5 shows floating point errors on all circles.

Replacing:
Future<rive.File?> _loadFile() async {
final bytes = await rootBundle.load(widget.asset);
return rive.File.decode(
bytes.buffer.asUint8List(),
riveFactory: RiveExampleApp.getCurrentFactory,
assetLoader: widget.assetLoader,
);
}

With:
//Future<rive.File?> _loadFile() async {
// final bytes = await rootBundle.load(widget.asset);
// return rive.File.decode(
// bytes.buffer.asUint8List(),
// riveFactory: rive.Factory.flutter, // 👈 Directly specify it here
// assetLoader: widget.assetLoader,
// );
// }

Will fix the floating point error, but then other effects are not rendered anymore.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Run any circle, with or without feather effect, on a raspberry Pi 5 in chromium.
Source .riv/.rev file

<--
Attaching runtime-exported .riv file that reproduces the issue is immensely helpful for our team to identify the problem as fast as possible and fix it.
Please also include the source (.rev) by downloading a backup from the Editor.

N.B. Because GitHub only supports certain file types use a ZIP archive to upload .riv/.rev files to this issue.

You can also privately share the .riv/.rev file with us at hello@rive.app.
-->

Expected behavior

<-- A clear and concise description of what you expected to happen. -->
Circles rendered as normal.

Screenshots

<-- If applicable, add screenshots to help explain your problem. -->

Image

Device & Versions (please complete the following information)
  • Device: raspberry pi 5
  • OS: raspberry pi OS
  • Flutter Version: Copy-paste the output of flutter --version
    e.g.:
Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ea121f8859 (3 months ago) • 2025-04-11 19:10:07 +0000
Engine • revision cf56914b32
Tools • Dart 3.7.2 • DevTools 2.42.3
Additional context

<-- Add any other context about the problem here. -->
I already raised this problem a few weeks ago in the Philips slack team, but since the trial has ended and I can't see the slack anymore I was hoping to get the issue fixed via here!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the circle rendering issue on a Raspberry Pi 5 running Raspberry Pi OS and Chromium, using the _loadFile() example and the reported rive.Factory choices. Compare the default factory with rive.Factory.flutter, then verify that circles and other effects render normally without floating-point errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
computer-graphics, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.