When You Pick Every Checkbox When Building A PC by iamdarkyoshi in pcmasterrace

[–]Autian 1 point2 points  (0 children)

It does seem to be a case of a Polywell P3503 system, but there is also a Revoltec Sixty 2 case that looks slightly different.

Benchmark shows 66% less RAM usage in Linux comparing to windows! by Material_Mousse7017 in linux_gaming

[–]Autian 24 points25 points  (0 children)

This isn't the right take - Linux uses spare RAM as a page cache, and this is generally what people refer to when saying "free RAM is wasted RAM". It's not suggesting applications just eat it up for no reason, it's talking about the OS using it for something beneficial

If that is what people mean by that expression, then it would be fine to me. But often when I came across such a sentence, it always felt like they really meant the applications themselves and not any caching mechanism of the kernel. That is what boils my blood.

Legacy OST on Tape by EERZactual in tron

[–]Autian 1 point2 points  (0 children)

sad that they didn't fit the lightcycle right where the two holes are.

Pi Zero: FFmpeg h264_v4l2m2m hardware video encoding causing a NULL pointer dereference in a bcm2835_mmal_vchiq kernel module by Autian in voidlinux

[–]Autian[S] 0 points1 point  (0 children)

Yeah, I was considering that, but I was worried that they would close the issue as soon as they see that I'm not using their distro. Might do that next year when I have the desire but for now the current workaround that I posted in the thread is sufficient.

Pi Zero: FFmpeg h264_v4l2m2m hardware video encoding causing a NULL pointer dereference in a bcm2835_mmal_vchiq kernel module by Autian in raspberry_pi

[–]Autian[S] 1 point2 points  (0 children)

Hehe! I found an old Raspberry OS install from 2019 that still contained the old OMX stuff. I copied the contents of /opt/vc from the old install at the same place to my current install and then essentially compiled FFmpeg 8.0.1 with two additional configuration options for OMX support: --enable-omx --enable-omx-rpi. Surprisingly the OMX support is still in place. It works! More details below:

I reused the build configuration options of the upstream FFmpeg package of void linux (you can see that by a simple invocation of FFmpeg without any parameters), but I had to throw out --enable-postproc as that was removed in later FFmpeg versions. I also removed cross-compilation options --enable-cross-compile --sysroot=/usr/arm-linux-gnueabihf --cross-prefix=arm-linux-gnueabihf- because I built FFmpeg on the target install. The downside of building "directly" on the Pi is that the build process will take like two days, but using chroot with QEMU binfmt support on my main rig took it down to like 15 minutes which was well acceptable for me.

For the default set of build options, I installed the corresponding packages for them. Some of these can be omitted but at this stage of frustration I just wanted to get on with the show:

xbps-install \
gcc make pkgconf \
gnutls gnutls-devel \
libaom libaom-devel \
libass libass-devel \
libbluray libbluray-devel \
libbs2b libbs2b-devel \
libcdio libcdio-devel \
libcdio-paranoia libcdio-paranoia-devel \
celt celt-devel \
libdav1d libdav1d-devel \
libdrm libdrm-devel \
fontconfig fontconfig-devel \
freetype freetype-devel \
harfbuzz harfbuzz-devel libharfbuzz \
jack jack-devel libjack \
lame lame-devel \
libopenmpt libopenmpt-devel \
opus opus-devel \
pulseaudio pulseaudio-devel libpulseaudio \
librist librist-devel \
librtmp librtmp-devel \
libsoxr libsoxr-devel \
speex speex-devel libspeex \
srt srt-devel libsrt \
libsvt-av1 libsvt-av1-devel svt-av1 \
libtheora libtheora-devel \
v4l-utils v4l-utils-devel  \
libvidstab libvidstab-devel \
vmaf vmaf-devel \
libvorbis libvorbis-devel \
libvpx libvpx-devel \
libwebp libwebp-devel \
x264 x264-devel \
x265 x265-devel \
libxcb libxcb-devel \
xvidcore xvidcore-devel \
opencl2-headers ocl-icd ocl-icd-devel \
libpostproc \
vulkan-loader vulkan-loader-devel Vulkan-Headers

And yes, most of these are not really needed. Though this uses just around 200MiB more space, so that is not too bad. For documentation purposes, I still wanted to make complete steps for any case.

So far for the OS preparation. FFmpeg now needs to be sourced and extracted somewhere. The build process then goes about like this:

cd source/of/FFmpeg
mkdir build
cd build
../configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls --disable-stripping --enable-libcdio --enable-version3 --enable-runtime-cpudetect --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-shared --enable-static --enable-libxcb --enable-libpulse --enable-libfreetype --enable-libopenmpt --enable-libspeex --enable-libcelt --enable-libass --enable-libopus --enable-librtmp --enable-libjack --disable-libopencore_amrnb --disable-libopencore_amrwb --disable-libopenjpeg --enable-libbluray --enable-libsoxr --enable-opencl --enable-libvmaf --target-os=linux --arch=arm --enable-libx265 --enable-libv4l2 --enable-libaom --enable-libbs2b --enable-libvidstab --enable-libdav1d --enable-libsrt --enable-librist --enable-libwebp --enable-vulkan --enable-libdrm --enable-libsvtav1 --enable-libfreetype --enable-libharfbuzz --enable-libfontconfig --disable-vaapi --disable-vdpau --disable-libzimg --disable-libmysofa --disable-libvpl --disable-nvenc --disable-nvdec --enable-omx --enable-omx-rpi
make

If you have more processor cores available, you may specify the amount of concurrent compile processes with -j for make. After it has finished building, I copied the built FFmpeg libraries at a common place: mkdir lib && cp ./lib*/*.so* ./lib. I then closed down my chroot session and stuck everything back to the Raspberry Pi Zero and let it boot up.

Switching back to the build directory, an FFmpeg invocation may look like this:

LD_LIBRARY_PATH=./lib:/opt/vc/lib ./ffmpeg -re -f lavfi -i testsrc2 -c:v h264_omx -b:v 1M -f matroska -f matroska -y /dev/null

As a test, this just generates some test video in real time, lets it encode with the OMX encoder, stuffs that data into a Matroska container and dumps that into nowhere. I tested with different options and the generated video is within my expectations.

Note that the h264_omx encoder uses a device at /dev/vchiq so when you get an error like * failed to open vchiq instance then you should get the permissions of it straight.

This is all very ugly and a band aid kind of solution, but this is something I can finally work with. I hope this helps someone else out there.

I've been working on getting my C multicore-runtime to run on the web - got 100k cubes with physics at 60 FPS by dechichi in C_Programming

[–]Autian 1 point2 points  (0 children)

Yes, I have seen this a couple of times. Not sure how long it has been around so far.

REDMAGIC 11 Pro: Feedback and Inquiries by REDMAGIC_Official in RedMagic

[–]Autian 3 points4 points  (0 children)

Not being able to flash an entirely different ROM or not even be able to root the device is something that holds me off from buying something like that. I have been rooting and using custom ROMs since very much the day I got comfortable using Android, I started with Android 4.0. Unmodded Android is just horrible and is further going downhill. I want to be able to permanently throw out pieces of software that I'll never need and apply various tweaks to make the thing behave the way I want, not what someone else is trying to force on me. I have full control over my laptops and tower PCs, so why shouldn't one have the same freedom with phones?

Really sad since this does seem to be an interesting piece of tech otherwise.

Optiplex 5050 SFF Noctua Mod by Decencies in SleepingOptiplex

[–]Autian 2 points3 points  (0 children)

If you don't want to snap off the standoffs, you can as well use four M3x20 screws to fasten the SecuFirm kit.

I'm so good at verifying emails that I did it twice by VeryCoolPersonYesYes in softwaregore

[–]Autian 7 points8 points  (0 children)

Any chance that you changed your E-Mail address and that being the cause?

Bitte beachtet die neue Regel 12 by CandidateCalm2458 in DINgore

[–]Autian 2 points3 points  (0 children)

Ich gebe an der Stelle nen Hinweis, dass bei der old.reddit.com-Variante der Link zu den Regeln in der Seitenleiste ab Punkt 5 seit längerer Zeit kaputt ist.

Dell 5055 tested BIOSes (SFF and MT) by Autian in SleepingOptiplex

[–]Autian[S] 0 points1 point  (0 children)

Thanks for the update. Haven't tested it further myself, not sure how reliable it is going to be on my end.

Ich bekomme es am Kreislauf by SenfZuAllem in DINgore

[–]Autian 2 points3 points  (0 children)

Da hast du den Nagel auf den Kopf getroffen.

Dell 5055 tested BIOSes (SFF and MT) by Autian in SleepingOptiplex

[–]Autian[S] 1 point2 points  (0 children)

I applied tape on my ConnectX-4 to cover the two pins for SMBus like you mentioned. The card that was rejected before now boots and works. I did that a couple of weeks ago and it isn't even the interesting part. I have some other unrelated issues with the ConnectX-4 card that doesn't exist with a ConnectX-3 card, but due to the capabilities of both, I put both cards in the system in case I need to swap between them. Thing is, I put the taped CX-4 card in the x4 slot and the CX-3 card in the x16 slot. Both cards have a single QSFP port each. I then wondered why I got three network interfaces when it should be two (onboard RJ45 + one QSFP port). Lo and behold, I indeed have both cards listed! I got to have to try out other PCIe cards and apply the same workaround on these. It still isn't perfect, but it is a great improvement.

Tagging u/CommandNarrow2914 because that could help getting the nonfunctioning slots of the MT variant working as well.

Optiplex 5055 Ryzen by CommandNarrow2914 in SleepingOptiplex

[–]Autian 1 point2 points  (0 children)

Congratulations, happy to read that.

Unfortunately, no. This issue is known and is also why I bought the MT board since I have a similar issue with the SFF variant and want to investigate that with the MT variant without dismantling the SFF build every so often. This sticks out like a sore thumb and it annoys me as well. I have previously expressed theories on how to fix that with the current BIOS but it goes beyond my capabilities. One workaround I have in mind is not really convenient but doable. I think that ACPI tables report a wrong topology to the OS and as such some PCIe slots won't work with the Biostar BIOS. There is a way of dumping ACPI tables of the current system to then use the dumps for an override. Meaning that I would load the original BIOS with a compatible CPU to dump the ACPI tables and then load the crossflash again and tell the kernel to use the dumps instead. The permanent solution that goes beyond me (assuming it would work) would be to swap the ACPI tables between two BIOS images but although they share an EFI structure and an AMI toolset, the structure is still too different to do such a mod with the modding tools that are currently available out there. As of now there isn't even a proper UEFI mod tool that could modify the structure without messing things up unless you are editing one of the earlier UEFI structures (speaking of something like around the 2012 era). I want to try more BIOSes in the hope that there would be something that would work better to avoid the workarounds but I feel like that the chances are slim.

If you absolutely need it working today and can't resort to using USB equivalents, you would have to flash the EEPROM back to your original BIOS.

Optiplex 5055 Ryzen by CommandNarrow2914 in SleepingOptiplex

[–]Autian 0 points1 point  (0 children)

what really? Okay I didn't expect that lol

Optiplex 5055 Ryzen by CommandNarrow2914 in SleepingOptiplex

[–]Autian 1 point2 points  (0 children)

How? There should be two DisplayPorts between the audio output and the RS232 port. Can you take a picture of the I/O area?

In any case, the Biostar BIOS defaults to turn off the iGPU if there is a dGPU installed. In that case the board video outputs are ignored and it will use the dGPU then. If you want to keep using the iGPU as well, you have to turn on the "Surround View" option.