Flywheel (Legacy)

Flywheel (Legacy)

40M Downloads

1.18.1 Flywheel crashes on start in Linux

cori1200 opened this issue · 7 comments

commented

Describe the Bug

When i want to start the Game with only Create and Flywheel loaded it wont start.

Reproducing Steps

  1. Create new installations with 1.18.1 Forge 39.0.7
  2. Adding Flywheel and Create
  3. Starting the Game

Expected Result

Normal Game boot

Screenshot or Video

Not available

Crash Report or Log

Operating System

Ubuntu 20.04

What is your GPU?

Intel® HD Graphics 4400 (HSW GT2)

What is your CPU?

Intel® Core™ i5-4300U CPU @ 1.90GHz × 4

Mod Version

0.4.2-rc

Minecraft Version

1.18.1

Forge Version

39.0.7

Other Mods

Additional Context

When playing on the same forge version but with the mods from 1.18 then it starts.
I Use the newest 1.18.1Create version for the this.
I don't know if this is only a Linux error. Haven't had the time to test this.
If you have any other questions please just ask.

commented

I have the same error, only difference is my CPU and GPU are AMD. Seems nothing I do helps, and it crashes even if it's the only mod enabled.

commented

The same problem on windows11 client

commented

I'm having the same issue with the latest Create and Flywheel from CurseForge. (flywheel-forge-1.18-0.4.2-rc.jar)

I'm running on Arch Linux with the official Mojang launcher on a Ryzen 7 3700U and Vega integrated graphics.

commented

I pulled this out of the logs, it sounds like the shaders are not able to be compiled due to some invalid directives in the shader code.

[14:04:52] [Render thread/INFO]: OpenGL debug message: id=7, source=SHADER COMPILER, type=ERROR, severity=HIGH, message='0:60(1): error: #extension directive is not allowed in the middle of a shader'
[14:04:52] [Render thread/ERROR]: Shader compilation log for create:belt: 0:60(1): error: #extension directive is not allowed in the middle of a shader
commented

Adding Mesa versions here because looking up that error, turns out you can't have #extension directives in the middle of shader code and it is not always caught in other OpenGL graphics libraries for other platforms, but Mesa is apparently very picky on this issue.

I'm currently rebuilding the mod to see if I can find where exactly this is happening.

extra/mesa 21.3.1-1
extra/mesa-vdpau 21.3.1-1
extra/vulkan-radeon 21.3.1-1

The log has an interesting portion here:

void FLWFinalizeWorldPos(inout vec4 worldPos) {
    worldPos = uModel * worldPos;

    BoxCoord = (worldPos.xyz - uLightBoxMin) / uLightBoxSize;

    FragDistance = max(length(worldPos.xz), abs(worldPos.y)); // cylindrical fog

    gl_Position = uViewProjection * worldPos;
}

#elif defined(FRAGMENT_SHADER)


#define ALPHA_DISCARD 0.1
// optimize discard usage
#if defined(ALPHA_DISCARD)
#if defined(GL_ARB_conservative_depth)
#extension GL_ARB_conservative_depth : enable
layout (depth_greater) out float gl_FragDepth;
#endif
#endif

in vec3 BoxCoord;

out vec4 FragColor;

vec4 FLWBlockTexture(vec2 texCoords) {
    return texture(uBlockAtlas, texCoords);
}

You'll notice that the #extension directive got slapped in the middle of the shader, which you apparently can't do. So I'm currently trying to figure out how it got there.

commented

Alright, if you apply the following diffs on the current top commit, you can actually get the shaders to compile on Mesa, and the game launches and I can place belts and stuff.

flywheel.txt
create.txt

commented

Fixed in latest versions of Create and Flywheel.