Skip to content

Commit

Permalink
deploy: 8d51bc4
Browse files Browse the repository at this point in the history
  • Loading branch information
lunarlettuce committed Dec 29, 2023
1 parent 948dead commit 4a7c668
Show file tree
Hide file tree
Showing 2 changed files with 3,822 additions and 0 deletions.
109 changes: 109 additions & 0 deletions VinegarSystemSurvey.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
title: "Vinegar Merlin Hardware Survey Report (Dec 2023)"
author: "lunarlattice"
date: "`r Sys.Date()`"
output: html_document
---

```{r include=FALSE}
library(tidyverse)
library(knitr)
```

# THIS IS WIP!

## Background

The effort to run Roblox on Linux (hereafter abbreviated RoL) has faced many complications. Considering that the platform still does not have official support, nor even binaries built for x86_64 Linux, RoL wrappers including Grapejuice and Vinegar have had to run the Windows version of Roblox under the Wine compatibility layer, often leading to issues with Hyperion. Furthermore, as a result of Hyperion's vague messages and complexity, we are frequently unable to troubleshoot for problems on our users' systems.

An effort to "standardize" the platform on which Roblox runs has been made via distribution of RoL wrappers via the Flatpak packaging system, which provides a stable platform, but is still not always successful.

Additionally, some users on older processors without the AVX instruction set have reported being blocked by Hyperion.

![The Hyperion Error in Question](images/Screenshot%20from%202023-12-28%2020-55-36.png)

## Why Merlin?

I chose to begin the Merlin project not only to gauge the minimum size of the RoL userbase of Vinegar, but also to identify the most popular distribution methods, kernels, and processors. The issue of statistics regarding AVX was also a major topic; I wanted to see how much of our userbase was affected, and whether more research was warranted.

The data collected included:

- Vinegar Version (1.6.0 for all systems)

- Kernel

- Whether the user was using Flatpak

- The presence of AVX

- CPU Model

- GPU driver name

The survey began on December 21, 2023.

## Limitations

While Merlin was designed to collect as much pertinent information as possible, our users were not willing to provide any identifiers, and were given the opportunity to chose to not participate.

Additionally, we were not able to identify whether Roblox Player was successful at launching on the system due to a lack of bindings to the Roblox executable.

Our GPU data collection only includes driver name, but will be improved in a future release to collect actual model names.

## Results

### Raw Data

The results of the survey can be retrieved at <https://merlin.vinegarhq.org>

```{r}
merlin <- read.csv("https://merlin.vinegarhq.org/")
head(merlin)
```

There are `r nrow(merlin)` submissions at the time of writing.

#### Processor Model Statistics

```{r echo=FALSE}
merlin %>%
group_by(cpu) %>%
summarize(n = n()) %>%
arrange(desc(n)) -> cpu_stats
cpu_stats$cpu_prop = cpu_stats$n / sum(cpu_stats$n)
cpu_stats$cpu_prop_as_perc = (cpu_stats$cpu_prop * 100)
kable(cpu_stats)
```

Steam Decks are the largest group in the processor sample population, making up nearly `r (sum(grepl('AMD Custom APU 0405', merlin$cpu)) / nrow(merlin)) * 100`% of submissions.

Considering the great number Steam Deck of users, Roblox may benefit from tapping into providing the userbase with a native binary. Additionally, Roblox's concerns over compatbility would be minimal on Steam Deck, as users not only have identical hardware, but are also only able to use Flatpak, ensuring a stable software platform.

#### Processor Age Statistics

#### AVX Support

#### GPU Statistics

```{r echo=FALSE}
merlin %>%
group_by(gpu) %>%
summarize(n = n()) %>%
arrange(desc(n)) -> gpu_stats
gpu_stats$gpu_prop = gpu_stats$n / sum(gpu_stats$n)
gpu_stats$gpu_prop_as_perc = (gpu_stats$gpu_prop * 100)
kable(gpu_stats)
```

While most systems have AMD, NVIDIA, or Intel GPUs (i915, nvidia, nouveau, radeon,amdgpu), `r (sum(!grepl("nouveau|nvidia|amdgpu|radeon|i915", merlin$gpu)) / nrow(merlin)) * 100`% of systems have virtualized or unknown graphics adapters (virtio-pci, vmwgfx, evdi, simple-framebuffer, ast, bochs-drm, qx1).

Additionally, `r (sum(grepl("nouveau", merlin$gpu)) / nrow(merlin)) * 100`% of users have the open-source nouveau driver, which is significantly inferior in performance to the proprietary NVIDIA driver.

The sizeable usage of irregular or poorly-performing drivers could explain performance issues affecting our userbase.

#### Flatpak Usage
3,713 changes: 3,713 additions & 0 deletions VinegarSystemSurvey.html

Large diffs are not rendered by default.

0 comments on commit 4a7c668

Please sign in to comment.