NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.41k stars 14.36k forks source link

Heroic white screens seconds after launch #253887

Closed GetPsyched closed 1 year ago

GetPsyched commented 1 year ago

Describe the bug

Upon launching, heroic white screens without any visible errors.

Steps To Reproduce

  1. Install heroic or heroic-unwrapped
  2. Run the app
  3. See white screen

Expected behavior

It works without white screening

Additional context

Notify maintainers

Hello, @aidalgol 👋🏻

Metadata

[getpsyched@potato:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.49, NixOS, 23.11 (Tapir), 23.11.20230830.e7f38be`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - nixpkgs: `/nix/store/jfji1id0l3xxy8mgph757dwyngsjaamr-source`
GetPsyched commented 1 year ago

I am thinking of adding a heroic-bin package so that any user facing this or similar issues can use pre-built binaries as a instant solution than waiting for existing nix expressions to be fixed.

Please guide me if you guys think this should/can be done. (The NixOS manual doesn't provide much help with wrappers around AppImages)

aidalgol commented 1 year ago

Could you please run heroic in a terminal (in the environment where the issue occurs) and paste the output in a comment, in a collapsed section.

I also have a few questions,

  1. Do you get those same errors when you run heroic from the terminal?
  2. Is this X11 KDE, or Wayland KDE?
  3. What is your GPU, and which drivers are you using?

I am thinking of adding a heroic-bin package so that any user facing this or similar issues can use pre-built binaries as a instant solution than waiting for existing nix expressions to be fixed.

I don't think we should do this. If a user wants to run pre-built binaries from upstream, there are straightforward ways to do so. Since Heroic ships an AppImage, you can use appimage-run.

GetPsyched commented 1 year ago

I've already tried running heroic from a terminal and weirdly, there's absolutely no error that shows up. Which makes me think it's a purely front-end error given heroic uses electron.

  1. Yes, I do.
  2. Wayland KDE
  3. Nvidia. My driver setup is contained in this file

Yeah, that makes sense. But how do I make sure it's always installed on my system? Do I have to run appimage-run <the-image> every single time I need to launch?

GetPsyched commented 1 year ago

Update: I have tested this in Sway as well and the app does white screen with no errors in the terminal.

aidalgol commented 1 year ago

Try running Heroic from the branch I just pushed (command below) to see if it resolves the issue. I've changed the Electron version the package uses to match that of the upstream package, as there seems to be a regression in the latest version of Electron.

nix shell github:aidalgol/nixpkgs/heroic-white-screen-fix#heroic -c heroic
GetPsyched commented 1 year ago

Just tested this. I don't get the white screen anymore!!

Henry-Hiles commented 1 year ago

This happens for me now, trying the nix shell now.

Henry-Hiles commented 1 year ago

That fixed it, thanks!