-
-
Notifications
You must be signed in to change notification settings - Fork 173
Some issues related to older i915 rendering on a Celeron G470 #315
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hey, if kmscube can output things, flutter-pi probably just does something wrong when speaking to the modesetting device. (Sometimes video drivers have very specific constraints that userspace applications like flutter-pi need to fulfill) Can you do the following:
|
Hi, yeah that's what i thought too, my skillset is somewhat limited with Linux so thank you so much for the quick and detailed reply ! I was able to dump the driver details which can be reached here -Dan |
Okay, seems like your display controller doesn't support an ARGB as the pixel format for the output planes. Should be easy to fix |
Fantastic news, I was worried we had hit a hardware limitation, which wouldn't have suprised me due to the age of the hardware. |
This is a flutter-pi specific issue, but if you want to try running without a real fix in place, you can try running with |
Allright, Thank you! :) Not sure if you're aware but there seems to be a version issue between Dart and flutter-pi - just rebuilt our app and i get this; |
np, I already have it almost done That issue is actually mentioned in the readme: https://github.com/ardera/flutter-pi#building-the-asset-bundle Maybe I should clarify that in the readme, because a lot of people seem to run into that problem |
Great, I've solved the issue, I just didn't read closely enough, thanks for the tip! I've rebuild the app and tested the --pixelformat XRGB8888 option and I still get the same message on the older hardware, so guess I'll just wait until you're done. |
Interesting, can you try with the |
Hello again, I've tried doing this without much success, seems I'm unable to build the gstreamer-video-player branch correctly. I'm pretty sure it's something I'm doing that's wrong though. (First I made sure the dependencies for the gstreamer video stuff was installed) git clone -b feature/gstreamer-video-player https://github.com/ardera/flutter-pi.git and I get this error CMakeError.log Cmake is installed; Reading package lists... Done |
Hi, sorry for the spam :( As suspected it was something wrong with cmake in my end, I was able to fix it by installing the 'build-essential' package. However, we seem to have a different issue when building it - see here |
Are you sure you're building the latest sources? That error was fixed by a commit some time ago The lines in the error message look different now: flutter-pi/include/pixel_format.h Lines 36 to 50 in 8eb4ccd
Maybe try deleting & cloning again |
Well, that explains it, I did in fact remove the old sources, then I cloned; I looked around at the other branches and found a recently updated one; It builds allthough I'm getting a lot of warnings, but it completed, was able to 'make install', and what do you know, tried starting our flutter app and it works! Amazing work, thank you so much for the help and patience! |
Nice! Glad it works now! Can you send me the warnings you're getting? |
Absolutely, |
Thanks, I'll look into it |
Hello again, so it seems there are more hardware variations than we first expected out in the wild from our client, so we seem to have some more issues with rendering, I'm hoping you're able to help us out again.. :) Let me know if you want me to create a seperate post for this and I'll delete this post. I am able to get kmscube running as before, I assume this is a good sign, that the issue is related to flutter-pi and not the hardware itself. I'll post the information you requested last time here; Driver details on drmdb - here The main differences now is that this is an AMD Sempron 145 cpu w/Radeon R600 onboard gpu. We're still running debian 11 etc. The celeron hw is still working perfectly after your earlier fix. I've installed the libdrm-amdgpu1 instead of libdrm-intel1; 'apt install libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdrm-amdgpu1 libdrm-dev libgbm-dev fontconfig libsystemd-dev libinput-dev libudev-dev libxkbcommon-dev' (and of course all the gstreamer stuff). Radeon requires firmware to work in linux, so I've added the contrib and non-free repositories and installed; The output I'm getting from flutter-pi is; Should you need anything else please let me know ! -Dan |
Oof, legacy KMS. That's pretty old 😄 Can you try the That'd help me see what's going on. Thanks! |
Yeah, this stuff is ancient, it will be replaced with RPI's as soon as they are back in stock, seems pretty much impossible to be able to get any these days, especially when we need about a thousand of them.. Anyway, sorry for the delay we've had some days off due to our consitution day :) I did the following; git clone --single-branch --branch feature/compositor-ng https://github.com/ardera/flutter-pi output from running our app, also this is being ran as root, just to avoid any permission issues temporarily. flutter-pi client/ > tmp.txt [locales] Warning: The system has no configured locale. The default "C" locale may or may not be supported by the app. Thanks again for your help and patience ! |
Can you try cloning and reconfiguring again? The output looks a bit different than what expected. I removed the So it should print stuff like I'm also not sure if |
Hello again ! Allright, I've recloned and rebuild flutter-pi as before, also changed to &> file.txt Here's a paste of the output, hopefully this helps ! edit: uh, the formatting somehow doesn't want to cooperate when pasting (even as code), attached tmp2.txt to the post instead ;) |
Is it possible you accidentally used the master branch this time? 😜 The output should definitely look different on the What does |
Doesn't look like it, but I've been known to do.. things :D git log from what i tried yesterday - gitlog1.txt |
maybe you're somehow not executing the flutter-pi you've built? 😅 because that's definitely the flutter-pi master branch output |
You're absolutely correct, I'll stop git cloning other branches directly from the client, it obviously doesn't work for some reason. Got the expected output now; |
Okay, apparently the And also record the dmesg log with: echo 0x1FF | sudo tee /sys/module/drm/parameters/debug # Enable verbose DRM logging
sudo dmesg -C # Clear kernel logs
dmesg -w >dmesg.log & # Continuously write DRM logs to a file, in the background
flutter-pi ... # Run flutter-pi again, manually terminate it after a few errors have happened
fg # Kill dmesg with Ctrl+C
echo 0 | sudo tee /sys/module/drm/parameters/debug # Disable DRM logging (and still configure with Thanks! |
Hi! I might also be having issues with an old nvidia client, I'll do some testing and report back, I'll be sure to use the correct branch and log as we've done here this time :P Attaching the dmesg.log Thanks again! |
Hello again, so I've been testing out the nvidia based client, that seems to have some issues as well (shocker :D) Main hw differences; Installed libdrm-nouveau2 which is for nvidia gpus (instead of libdrm-intel1 and libdrm-radeon1) I'm unable to post the drm-info to the db-site as the clients lives in a airgapped network, but i just piped the output to a file instead, hopefully this is ok. This should be the last client we need, as these are the most numerous in the existing deployment, thanks again for your patience and help! |
Ah, I know what causes this. Flutter-pi tries to use ARGB but your GPU only supports XRGB for scanout. |
Hi, Interesting, I downloaded the latest compositor-ng (manually) and built it on the client (with the debug flags) and I could for a split second see graphics, then it goes back to black, system is not crashing or hanging, but needs to be rebooted to regain a video output. So it's absolutely a step in the right direction :) I've attached the dmesg logfile in case you'd need it From the console I see some relevant text too; |
That seems like a GL driver problem :/ Ah wait, you're on x86, in that case my engine binaries probably won't help. But if you're building the engine yourself you can build it with debug symbols by adding |
Gotcha, well, we've tried building the engine-binaries for x64 and we seem to have issues getting this to build correctly.. We also upgraded to flutter 3.10.4 and rebuilt our app. |
Sure, here: https://1drv.ms/u/s!AsNHmDqMr-aVg65exuQp7lRxiSmsuA?e=Lsh22W It's built with:
and some custom modifications so it's built with diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 4c9a1ee..b74ab87 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -951,7 +951,7 @@ config("symbols") {
}
ldflags = [ "/DEBUG" ]
} else {
- cflags = [ "-g2" ]
+ cflags = [ "-ggdb", "-fdebug-default-version=4" ]
}
} |
Hi,
We have some x86 Shuttle pc's and a variety of older intel based hardware out in the wild, our plan is to network boot all our clients from a central local pxe server in read only, as all we need is all the clients starting up, logging in and starting our app (based on flutter as you might've already guessed).
The rpi4's will be booted with raspian (latest stable) 64-bit, with no desktop environment, it works perfectly.
The shuttle's and the older "custom" machines will be running debian 11 64-bit (latest stable) - the debian network boot version is built using debootstrap just to minimize it as much as possible.
Initial testing on the shuttle machines works perferctly after we installed the libdrm-intel1 package.
Our older intel hardware did not go as we hoped, and there are some stuff we'd really appreciate some pointers and ultimately some help getting to work.
We first tried networkbooting the old client like the already working Shuttle, OS wise it works fine, but when we get to flutter-pi and running our app we ran into issues.
Just to test stuff (and without the network boot complexities) I've installed Debian 11 from scratch on the older machine.
When starting the app we see the following; link
If we try removing the 'libdrm-intel1' package we see the following; link
(just to illustrate the intel package actually does something)
I did some digging and came over the 'kmscube' package, just to see if it renders anything at all, which also works when we do 'kmscube --atomic'
Here is the output from kmscube with the libdrm-intel1 package installed; link
Here is the output without the libdrm-intel1 package installed; link
Our "older intel"-stuff runs an ASUS H61M-F motherboard with a Celeron G470 CPU
After som digging the CPU has a i915 (driver mentions i965 but not sure if this is relevant, see the log) hd gpu (apu*), which should be sufficient for our requirements (the app doesn't have any overly complicated graphics).
The app is built on a windows 10 box using (powershell; Flutter build foldername)
Flutter 3.7.3
Dart 2.19.2
DevTools 2.20.1
Debian 11 client is running 5.10.0-20-amd64
Flutter-pi is built from https://github.com/ardera/flutter-pi
https://github.com/sony/flutter-embedded-linux/releases/download/b24591ed32/elinux-x64-debug.zip
https://raw.githubusercontent.com/ardera/flutter-engine-binaries-for-arm/main/flutter_embedder.h
https://github.com/ardera/flutter-engine-binaries-for-arm/raw/main/arm64/icudtl.dat
Installation is done according to the documentation provided on this github.
(sorry for the lengthy post)
The text was updated successfully, but these errors were encountered: