StarLabsLtd / firmware

78 stars 5 forks source link

[*] Arch kernels enable simple drm without support for coreboots framebuffer #181

Open isomorphian opened 4 months ago

isomorphian commented 4 months ago

I have just received my StarLite V and so far have had nothing but issues. I have 5 other intel-based devices running Hyprland with no issues. On this device, running Hyprland, any graphical application will crash after about 30 seconds.

In addition, with either Gnome or KDE on wayland, the desktop environment will flicker uncontrollably before crashing after about 30 seconds.

Also, I am experiencing random kernel panics running the stock Arch kernel.

I have had somewhat better experience running X11. Apps will not crash, although every so often, upon starting the X server, the device will lock up completely, and not even allow me to switch virtual terminals. The only way out of this situation is to cut the power by holding the power button.

I am on the latest firmware that was just released to solve the intermittent touchscreen issue.

DavidG-Ghb commented 1 month ago

I can also confirm that I'm still encountering flickering on Manjaro, kernel 6.11.2-4 with firmware 24.09.

I'm running Wayland KDE Plasma 6.1.5 and Wayland KDM so I can use Malit virtual keyboard before login. I have the flickering during login, seems to flicker less if the mouse isn't moving. The flickering disappears after login because I've disabled the 'Unknown-1' virtual display device.

Also surprisingly, after updating the firmware, the laptop is now reporting 0% battery with 100% battery health. If I unplug it, it continues running, so the battery is there.

Update: Battery is reporting correctly after power cycling with the power disconnected

Sean-StarLabs commented 1 month ago

Can you try adding framebuffer-coreboot to initramfs?

stronnag commented 1 month ago

Can you try adding framebuffer-coreboot to initramfs?

Hangs in early boot:

framebuffer coreboot8: probe with driver framebuffer failed with error -17
:: running hook udev
:: Triggering uevents ...
Sean-StarLabs commented 1 month ago

Hmm, the order might be relevant, or efifb might be fighting it - I'll try to reach out to an arch dev

Sean-StarLabs commented 1 month ago

What's the output of: sudo dmesg | grep -'efifb|simpledrm'

And cat /proc/fb?

stronnag commented 1 month ago

Working (Arch LQX 6.11.4):

$ dmesg | grep -e 'efifb\|simpledrm'
[    0.764561] efifb: probing for efifb
[    0.764583] efifb: framebuffer at 0x90000000, using 5400k, total 5400k
[    0.764585] efifb: mode is 1440x960x32, linelength=5760, pages=1
[    0.764586] efifb: scrolling: redraw
[    0.764587] efifb: Truecolor: size=0:8:8:8, shift=0:16:8:0
$ cat /proc/fb 
0 i915drmfb

Not working (Arch / Arch-Zen 6.11.4):

$ dmesg | grep -e 'efifb\|simpledrm'
[    0.378524] [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
[    0.379835] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
[    3.137671] [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
[    3.141034] simple-framebuffer simple-framebuffer.0: [drm] fb1: simpledrmdrmfb frame buffer device
$ cat /proc/fb
0 i915drmfb
1 simpledrmdrmfb

(the user does not require sudo for dmesg)

Sean-StarLabs commented 1 month ago

Thanks, so last suggestion, what if you blacklist efifb?

stronnag commented 1 month ago

Thanks, so last suggestion, what if you blacklist efifb?

Nothing changes, as it's a builtin on the working LQX kernel and is never loaded on the non-working kernel. Unless I misunderstand what you meant by "blacklist".

sim31 commented 4 weeks ago

I use arch as well and I see an issue that might be related to simpledrm. In displays settings I see some unknown display which does not actually exist. Searching around this issue lead me to discover this post, which implies that it is probably a simpledrm issue.

I don't have any other symptoms so I've been ignoring this. There are some problems with screensharing in some apps, but investigating it I was lead to believe it's unrelated.

stronnag commented 4 weeks ago

Confirming that adding initcall_blacklist=simpledrm_platform_driver_init to the kernel boot line solves the flickering problem for me.

DavidG-Ghb commented 3 weeks ago

Testing, this also works for me. The 'unknown' display disappears. No further issues with the KDM Wayland login.

TheJackiMonster commented 3 weeks ago

Adding initcall_blacklist=simpledrm_platform_driver_init solved my issues with the regular linux kernel on GNOME using Wayland. Also some weird coincidence is that it solved my issues getting the touchscreen and pen input to work again. Since I've updated the firmware to 24.09 these didn't work using the linux-lts kernel.

I believe blacklisting the simpledrm driver only fixed the flickering issues while the newer kernel solved the problem with touchscreen and pen. Either way it's a big improvement.

czinehuba commented 3 weeks ago

initcall_blacklist=simpledrm_platform_driver_init solved the flickering for me as well on mainline arch and wayland. I was using lts before but the touch screen stopped working last update. So thanks for the tip

MRDGH2821 commented 2 weeks ago

https://gist.github.com/MRDGH2821/d11a8b4337f51c6d774760ee0e743055

I made a script to make it easy to flash firmware

Sean-StarLabs commented 2 weeks ago

Just because the "why" baffles me, why?