Managed to get Dolphin compiled on Linux now to give feedback about the RC there. Results are though catastrophic... let's start:
1) SCons scripts are broken in various ways.
1a) Include path are not set in some places causing the compilation to fail.
1b) Incorrect usage of compile/install mixing causes executables and libraries to not be linked
1c) Default target used where this should not be the case. Troubles with getting compilation started in the first place
1d) Global mode is broken. Most probably path errors.
1e) SCons script does not properly create a home directory or the emulator does not properly use it. the "Wii" directory is not existing under ~/.dolphin-emu/ causing the emulator to throw around massive amount of spurious error messages.
2) Shader compilation fails due to incorrect usage of OpenGL capability values. OGL-Cap values are not "mandatory". GPU drivers are not required to give values for them unless they actually state so. The OpenGL video module blindly uses OGL-Caps values which end up then with invalid values (-1 for example) causing the CG compiler to break down. All shader compilation fails due to this. Example output:
3) Crash due to a problem with fonts.
4) Opcode errors are shown in windows as a dialog box which can be clicked away to continue. In the linux version this ends up in the console and freezes the emulator. The same dialog box should be provided.
5) Game pads not working. Although attached and recognized by other emulators it is not listed in Linux. What is used to access the gamepad?
1) SCons scripts are broken in various ways.
1a) Include path are not set in some places causing the compilation to fail.
1b) Incorrect usage of compile/install mixing causes executables and libraries to not be linked
1c) Default target used where this should not be the case. Troubles with getting compilation started in the first place
1d) Global mode is broken. Most probably path errors.
1e) SCons script does not properly create a home directory or the emulator does not properly use it. the "Wii" directory is not existing under ~/.dolphin-emu/ causing the emulator to throw around massive amount of spurious error messages.
2) Shader compilation fails due to incorrect usage of OpenGL capability values. OGL-Cap values are not "mandatory". GPU drivers are not required to give values for them unless they actually state so. The OpenGL video module blindly uses OGL-Caps values which end up then with invalid values (-1 for example) causing the CG compiler to break down. All shader compilation fails due to this. Example output:
Code:
59:54:561 Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp:240 E[Video]: Failed to compile ps (0) : warning C6502: Profile option 'NumInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Profile option 'NumTexInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Profile option 'NumMathInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6503: Profile option 'MaxDrawBuffers' value (8) too large; clamped to 4
(0) : warning C6502: Profile option 'NumInstructionSlots' value (-1) too small; clamped to 0
(0) : warning C6502: Pro
59:54:561 Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp:241 E[Video]: uniform samplerRECT samp0 : register(s0);
void main(
out float4 ocol0 : COLOR0,
in float2 uv0 : TEXCOORD0)
{
float2 uv1 = float2(uv0.x + 1.0f, uv0.y);
float3 c0 = texRECT(samp0, uv0).rgb;
float3 c1 = texRECT(samp0, uv1).rgb;
float3 y_const = float3(0.257f,0.504f,0.098f);
float3 u_const = float3(-0.148f,-0.291f,0.439f);
float3 v_const = float3(0.439f,-0.368f,-0.071f);
float4 const3 = float4(0.0625f,0.5f,0.0625f,0.5f);
float3 c01 = (c0 + c1) * 0.5f;
ocol0 = float4(dot(c1,y_const),dot(c0
59:54:561 Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp:74 E[Video]: Failed to create RGB to YUYV fragment program
3) Crash due to a problem with fonts.
Code:
58:22:510 Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_SystemRegisters.cpp:344 N[PowerPC]: Flush Instruction Cache! ICE=0
58:22:513 Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_SystemRegisters.cpp:335 N[PowerPC]: Instruction Cache Enable (HID0.ICE) = 1
58:22:747 Source/Core/Common/Src/MsgHandler.cpp:53 E[*]: Warning: Error: Trying to access ANSI fonts but they are not loaded. Games may not show fonts correctly, or crash.
dolphin-emu: xcb_io.c:249: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed.
Aborted
4) Opcode errors are shown in windows as a dialog box which can be clicked away to continue. In the linux version this ends up in the console and freezes the emulator. The same dialog box should be provided.
5) Game pads not working. Although attached and recognized by other emulators it is not listed in Linux. What is used to access the gamepad?