system76 / firmware-open

System76 Open Firmware
Other
951 stars 86 forks source link

Oryp8 latest firmware fails to properly provide both internal and external displays when booting with HDMI plugged in #391

Open n-hebert opened 1 year ago

n-hebert commented 1 year ago

On the latest firmware for the Oryp8 (from Oct 22), if you boot with HDMI plugged in a whole host of video related problems erupts on Pop!_OS that are hard to describe, but effectively summarize as the title given. On Windows the problem is much simpler to describe: the LCD panel is not detected at all. If you press Windows+P or whatever hot key you like to bring up the options to use a 2nd screen, it says it's using the "PC Screen" when it's using the external and selecting any other options does nothing. If you unplug the external, the LCD screen does not come back on; the only screen that is addressable is the external.

To fix, a reboot is required.

As part of troubleshooting #387, I flashed back to the previous firmware from Sept '21 and this problem does not exist there. It's functional and better.

Steps to reproduce

  1. Flash the latest Oct '22 firmware to the Oryp8
  2. Plug in a live HDMI display to the Oryp8 (the screen must be on and ready due to communication between the devices)
  3. Power on (preferably Windows) and let the system boot

Expected behavior

The LCD panel can be used along with the external monitor

Actual behavior

On Windows, the internal LCD panel is not seen, even in device manager. On Pop!_OS the LCD panel just shows the boot logo forever or goes black or worse things happen between the both of the screens.

Additional info

This has persisted across multiple updates & upgrades of both Pop!_OS and Windows 10 and I do not have a work-around other than a hard reboot.

crawfxrd commented 1 year ago

2023-07-19_05cfb1a has been released.

Need to check if this still occurs.

n-hebert commented 1 year ago

That's good news!

I'll lend a hand and try both this and the other, alongside ya.

n-hebert commented 1 year ago

Looks like this one is still a live fish for me.

Boot with HDMI, load into Windows 10 (default selection), now you cannot use the internal LCD no matter what settings you change. Unplugging the HDMI just leaves a black screen. The screen is lit (i.e. there's voltage going to it), I'll note in case that's interesting. It's just showing nothing and no device picks up for use. This isn't a Windows-only issue; it occurs on NixOS for me, too. Obviously muted when integrated or compute graphics are selected, as there's no HDMI.

In short, identical behavior. :confused:

n-hebert commented 6 months ago

2023-09-08_42bf7a6 still exhibits identical behavior. I would really like to see a fix on this one. I have reason to believe this is a regression introduced in the latest 2021 firmware -- the laptop didn't do this when I bought it initially. Maybe the old bugs that it replaces are worse, but I hope that helps to triage.

crawfxrd commented 6 months ago

Please provide the cbmem log:

make -C coreboot/util/cbmem/
sudo ./coreboot/util/cbmem/cbmem -c > cbmem.txt
n-hebert commented 6 months ago

cbmem.txt

Happy to. Hope it helps, let me know if I need to boot into the fault mode before running that, this is just from my system running without first reproducing the defect. Call it a 'good boot' log.

crawfxrd commented 6 months ago

Yes. Cold boot into a state that produces the issue and get the cbmem log.

n-hebert commented 6 months ago

Hey @crawfxrd , done. Here's the bad boot for CB Mem. badboot cbmem.txt

On Pop!_OS the display doesn't even come up, despite waiting a long time. It looks like this: PXL_20240311_220004356

I hope it makes clear the degree of the bug: if you plug in HDMI before boot then you just can't use the laptop. Linux 6.6.10-76060610-generic #202401051437~1709085277~22.04~31d73d8 SMP PREEMPT_DYNAMIC Wed F x86_64 x86_64 x86_64 GNU/Linux on Pop!_OS LTS (22.04)