Rpcs3: [Linux] Just a Black Screen

Created on 19 Apr 2018  路  26Comments  路  Source: RPCS3/rpcs3

If you get a black screen on linux, please add a comment to this issue with the following information:

  • Linux Distro
  • Graphics Card
  • Graphics Driver version
    and please test if it happens with both the AppImage and with self-compiled version.

Most helpful comment

I have an i7-7700K, same as @Whatcookie. I just tried the temporary rollback and can confirm that it fixes the issue for me too.

All 26 comments

Linux Distro: Arch Linux
Graphics Card: NVIDIA Corporation GK104 [GeForce GTX 660 Ti] (rev a1)
Graphics Driver version: extra/nvidia 390.48-3
Just a Black Screen both int the AppImage (rpcs3-v0.0.5-6660-3d551482_linux64.AppImage) and with self-compiled version (RPCS3 v0.0.5-6657-cecfc5904 Alpha | master).

Self-compiled version "v0.0.5-6660-3d551482a Alpha | master" also shows just a black screen...

Distro: Ubuntu 17.10
Graphics Card: Nvidia Gtx 1080
Driver: 384.111
Both Appimage and self-compiled 6661

Black Screen stuck on
rpcs3-v0.0.5-6661-3b24e7e6_linux64.AppImage and self compiled
Distro: Ubuntu 18.04
Graphics Card: Nvidia Gtx 1080 TI
Driver: 390.48

Linux Distro: Arch Linux
CPU: i5-6500
Graphics Card: Radeon RX 580
Graphics Driver version: Mesa 18.0
AppImage and self-compiled, 6661

arch linux (4.16.2-2)
gtx 970
nvidia 390.48
both appimage & selfcompiled

Linux Distro: Arch Linux (4.15.15-1)
Graphics Card: Radeon R9 270X
Graphics Driver version: Mesa 18.0.1
AppImage and self-compiled, 6661

Linux Distro: Fedora 27
Graphics Card : GTX 1070
Graphics Driver : 390.48
Appimage and self compiled.

I have tried building an old version (as far back as Dec 2017)
Building with GCC
Building with Clang
Removing NVIDIA drivers and reverting to nouveau.

The only thing I have not messed with is LLVM. When building it detects that LLVM is not installed and as such builds from source. I am wondering if have a distro version of LLVM will make a difference.

I have attached a back trace from a debug build incase it helps to shed some light on things.
debug_bt.txt

Linux Distro: Arch Linux 4.16.3-1
Graphics Card: Nvidia GTX 970
Graphics Driver: 390.48-9
Both AppImage and self-compiled from current master branch (6675). Persona 5 installs properly on initial startup but becomes a black screen right afterwards. No screen or FPS counter updates. Demon's Souls doesn't even display a black screen, it doesn't update even once. Built with GCC 7.3.1.

Tag v0.0.5 works.

Out of curiosity, does anybody else that is having this problem use PCSX2 aswell?

I have just tried the latest build (of PCSX2) and have found that I am having problems with that now aswell. All other emulators are working fine (Including Wine).

Something has changed and I cant tell if it is a driver thing or something to do with a library file.

@7oxicshadow pcsx2 works fine for me

@7oxicshadow PCSX2, RetroArch and Dolphin (OpenGL and Vulkan) works fine for me ..

Arch Linux 4.14.34-1-rt27-rt-bfq
Nvidia GeForce GTX 1080
Drivers 390.48

I think omitting the cpu family is obscuring the problem here. The black screen problem started with the commits that changed tsx functionallity. Setting the code that detects if the cpu has tsx or not to always return false lets the program run properly and all my games go ingame again.

try setting this function in utilities/sysinfo to always return false if your cpu supports tsx

bool utils::has_rtm()
{
// Check RTM and MPX extensions in order to filter out TSX on Haswell CPUs
static const bool g_value = get_cpuid(0, 0)[0] >= 0x7 && (get_cpuid(7, 0)[1] & 0x4800) == 0x4800;
return g_value;
}
i7 7700K
arch linux 4.16.3
amd 7950
mesa 18.0.1

I booted into windows for the first time in months and the tsx commits worked fine there. I guess this is some weird race condition but I don't know how to debug further.

Hm, I bet that's the issue, because both of the linux systems I have to test with don't have TSX and work fine.
If anybody that has commented on the issue doesn't have TSX, please mention it.

Tagging @Nekotekina because he introduced the code.

  • i7-6700K which allegedly has "Intel庐 TSX-NI"
  • Ubuntu GNOME 17.10
  • GTX 960
  • Nvidia binary driver 384.111 from nvidia-384 package in the repo

Returning false as per @Whatcookie fixes the problem for me.

I also have i7-6700K and @Whatcookie's solution works for me.

lscpu lists 'rtm' in the flags, but no 'tsx'/'tsx-ni'. Could this be related?

@jclc does it have hle? tsx is just the name of the extension, which consists of hle and rtm.
(Irrelevant though, since hle is backwards compatible and doesn't require feature detection, so the function is, as named, after rtm)
It's fairly certain at this point that the problem is in the rtm-using code, unless we suddenly discovered a bug in 2-generation-old CPUs.

Yes! @Whatcookie's solution works for me to!

@qm3ster You're right, it does have 'hle'.

@Caliel666 @distinctV @Kierek @apathyrecharge @mateoag Please try Whatcookie's temporary rollback:
In ./Utilities/sysinfo.cpp change line ~38 (in the bool utils::has_rtm() function):

bool utils::has_rtm()
{
    // Check RTM and MPX extensions in order to filter out TSX on Haswell CPUs
    static const bool g_value = get_cpuid(0, 0)[0] >= 0x7 && (get_cpuid(7, 0)[1] & 0x4800) == 0x4800;
-   return g_value;
+   return false;
}

Also, if possible, post your CPU.

I detected only under archlinux broken OpenGL backend when compile from source always black screen but working fine in latest Appimages in some recents IGPUS 9gen+
This problem I can't reproduced under Debian/ubuntu with latest mesa3d compiled from source.
For Vulkan backend does work perfectly and is not affected of any kind.

I have an i7-7700K, same as @Whatcookie. I just tried the temporary rollback and can confirm that it fixes the issue for me too.

confirming that the return false change fixes the issue on 6600k

I have ArchLinux 4.16.6 - i7-6700, @Whatcookie solution worked for me as well.

Was this page helpful?
0 / 5 - 0 ratings