TASEmulators / TASEmulators/BizHawk

Waterbox & LLVMpipe

Open
#3,247 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Question/Support re: Waterbox
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Since @nattthebear is non-trivial to catch on irc while I remember about this, I guess we need a ticket.

libTAS uses LLVMpipe to simulate hardware graphics stuff in software and make savestates of that.

Force software rendering

This option forces the OpenGL device driver Mesa 3D to use its software implementation of OpenGL (llvmpipe) to run the game. While this makes the game much slower, it is usually required to be able to use savestates. Indeed, the state of the GPU cannot be easily accessed and stored into savestates by the tool, thus savestates are incomplete and may crash the game. When using Mesa's software implementation, all of the graphics pipeline is done by the CPU and can be stored in the savestate.

You must be using Mesa 3D to be able to use this option, which usually means that you must be using the free driver for your GPU (e.g. nouveau for nvidia GPUs or radeon for ATI/AMD CPUs)

We know that waterbox can't snapshot GPU state, but would it be feasible to incorporate llvmpipe into waterboxhost so cores that require GPU (like Ruffle) could be ported?

Contributor guide

Open the contributing guide

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

Review waterboxhost and the linked docs/guides/options.md first; compare libTAS's LLVMpipe requirements with the Ruffle context in issue #2032. Done means a concrete feasibility decision and an implementation scope for GPU-capable cores and savestates.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
computer-graphics, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.