Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tle

Pages: 1 ... 4 5 [6] 7 8 ... 10
76
Operating Systems and Porting / Fedora 33 LTS 5.10.x kernel RPMs
« on: March 20, 2021, 05:52:03 pm »
Fedora 33 kernel team decides to skip 5.10.24 and jump straight to 5.11.7. For x86_64, I do not think there would be much huge impact because the community could give feedback when the kernel is in testing. However with ppc64le, especially with the amdgpu driver, it is still a big unknown when / how new version would break.

For my case the AMD R9 Nano continues to crash on 5.11.x (64k Pages size) so I do not have any choice but to continue to stick with 5.10.x. So if you are in the similar situation,

For my case AMD R9 Nano would crash on 5.11.7 to 5.11.11 (64K pages sizes), so if you are into LTS kernel or simply don't want to upgrade, you could check out my fedora kernel fork at https://github.com/runlevel5/fedora-linux-kernel where I add support for 5.10.24 and future minor versions. The RPMs are also available in Release section on the repository (use it as your own risk, I highly recommend you build the RPMs from scratch on your side). I hope it would be handy for some of us.

EDIT: I have since moved back to stock Fedora 33 5.13.x (64K pages sizes). Fortunately everything is working correctly. So I will not be providing any further updated 5.10.x kernel in my repo anymore.

77
So if you are running into following warnings when running:

Code: [Select]
$ virt-host-validate
  QEMU: Checking for hardware virtualization                                 : PASS
  QEMU: Checking if device /dev/kvm exists                                   : PASS
  QEMU: Checking if device /dev/kvm is accessible                            : PASS
  QEMU: Checking for PowerPC KVM module loaded                               : PASS
  QEMU: Checking if device /dev/vhost-net exists                             : PASS
  QEMU: Checking if device /dev/net/tun exists                               : PASS
  QEMU: Checking for cgroup 'cpu' controller support                         : WARN (Enable 'cpu' in kernel Kconfig file or mount/enable cgroup controller in your system)
  QEMU: Checking for cgroup 'cpuacct' controller support                     : PASS
  QEMU: Checking for cgroup 'cpuset' controller support                      : WARN (Enable 'cpuset' in kernel Kconfig file or mount/enable cgroup controller in your system)
  QEMU: Checking for cgroup 'memory' controller support                      : PASS
  QEMU: Checking for cgroup 'devices' controller support                     : WARN (Enable 'devices' in kernel Kconfig file or mount/enable cgroup controller in your system)
  QEMU: Checking for cgroup 'blkio' controller support                       : WARN (Enable 'blkio' in kernel Kconfig file or mount/enable cgroup controller in your system)
  QEMU: Checking if IOMMU is enabled by kernel                               : PASS
  QEMU: Checking for secure guest support                                    : WARN (Unknown if this platform has Secure Guest support)
   LXC: Checking for Linux >= 2.6.26                                         : PASS
   LXC: Checking for namespace ipc                                           : PASS
   LXC: Checking for namespace mnt                                           : PASS
   LXC: Checking for namespace pid                                           : PASS
   LXC: Checking for namespace uts                                           : PASS
   LXC: Checking for namespace net                                           : PASS
   LXC: Checking for namespace user                                          : PASS
   LXC: Checking for cgroup 'cpu' controller support                         : FAIL (Enable 'cpu' in kernel Kconfig file or mount/enable cgroup controller in your system)
   LXC: Checking for cgroup 'cpuacct' controller support                     : PASS
   LXC: Checking for cgroup 'cpuset' controller support                      : FAIL (Enable 'cpuset' in kernel Kconfig file or mount/enable cgroup controller in your system)
   LXC: Checking for cgroup 'memory' controller support                      : PASS
   LXC: Checking for cgroup 'devices' controller support                     : FAIL (Enable 'devices' in kernel Kconfig file or mount/enable cgroup controller in your system)
   LXC: Checking for cgroup 'freezer' controller support                     : FAIL (Enable 'freezer' in kernel Kconfig file or mount/enable cgroup controller in your system)
   LXC: Checking for cgroup 'blkio' controller support                       : FAIL (Enable 'blkio' in kernel Kconfig file or mount/enable cgroup controller in your system)
   LXC: Checking if device /sys/fs/fuse/connections exists                   : PASS

You can enable them by setting GRUB boot params:

Code: [Select]
sudo grubby --update-kernel=ALL --args="cgroup_enable=cpuset cgroup_enable=cpu cgroup_enable=devices cgroup_enable=freezer cgroup_enable=blkio"

Make sure you restart your PC

78
Docker CE version 19 or 20 RPMs are not officially available but it does not mean you could not build the RPM packages from the SRPM.

1) Install latest golang and rpmbuild
2) Download the latest SRPM of docker from https://download.docker.com/linux/fedora/33/source/stable/Packages/
3) Execute following commands:

Code: [Select]
$ sudo dnf install -y rpmbuild golang make
$ sudo su # switch to root
$ export GOPATH=/go
$ export GOOS=linux
$ export GOARCH=ppc64le
$ export PATH=/go/bin:$PATH
$ rm -rf /go # clean up

$ go get -v github.com:cpuguy83/go-md2man # required to build docker-ce-cli
$ rpmbuild -D "_version 20.10.5" -D "_release 0" -D "_gitcommit_cli 55c4c88" -D "_origversion 20.10.5" --rebuild docker-ce-cli-20.10.5-3.fc33.src.rpm


$ rpm2cpio docker-ce-20.10.5-3.fc33.src.rpm | cpio -
$ sed -i 's/%{_version}/20.10.5/g' docker-ce.spec
$ sed -i 's/%{_release}/0/g' docker-ce.spec
$ sed -i 's/%{_origversion}/20.10.5/g' docker-ce.spec
$ sed -i 's/%{_gitcommit_cli}/55c4c88/g' docker-ce.spec
$ sed -i 's/%{_gitcommit_engine}/363e9a8/g' docker-ce.spec
$ sed -i 's/containerd.io/containerd/g' docker-ce.spec
$ fedpkg --release f33 local
$ mv ppc64le/docker-ce-20.10.5-0.fc33.ppc64le.rpm /root/rpmbuild/RPMS/ppc64le/
$ rpm -i /root/rpmbuild/RPMS/ppc64le/docker-ce-20.10.5-0.fc33.ppc64le.rpm
$ sudo rpmbuild --rebuild docker-ce-rootless-extras-20.10.5-3.fc33.src.rpm
$ cd /root/rpmbuild/RPMS/ppc64le
$ dnf install -y containerd libcgroup
$ rpm -i docker-ce-*.rpm

If you are lazy, just grab my RPMs at https://github.com/runlevel5/docker-ppc64le-rpms

Please note, as the time of this writing the latest available RPM of runc on FC33 is runc-1.0.0-279.dev.gitdedadbf.fc33 which _DOES NOT_ support cgroupv2 so you would run into error OCI does not support cgroupv2. To workaround this issue, I would highly recommend you compile `runc` from the source code and move it manually to /usr/bin/runc. OR download the rpm I built in https://github.com/runlevel5/docker-ppc64le-rpms
Let's hope that Fedora team would prepare another update for the runc

Optional:

By default, docker would use runc for runtime. However you could configure it to run with crun instead by modifying following file:

Code: [Select]
$ cat /etc/docker/daemon.json
{
  "default-runtime": "crun",
  "runtimes": {
     "crun": {
       "path": "/usr/local/bin/crun"
    }
  }
}

Once done, simple reload the daemon:

Code: [Select]
$ sudo systemctl daemon-reload
$ sudo systemctl start docker.service

to verify run

Code: [Select]
$ docker version

Server:
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.15.8
  Git commit:       363e9a8
  Built:            Sat Mar 13 15:07:53 2021
  OS/Arch:          linux/ppc64le
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:       
 crun:
  Version:          0.18
  GitCommit:        808420efe3dc2b44d6db9f1a3fac8361dde42a95
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

The output should show the version info of crun instead of runc


If you run into error like:

Code: [Select]
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

The quick fix is to update the permission:

Code: [Select]
$ sudo chmod 666 /var/run/docker.sock

Enjoy :)

79
General Discussion / AMD RX 6900 XT from Sapphire NITRO
« on: March 09, 2021, 12:07:09 am »
Last week I purchased a new AMD RX 6900 XT for gaming. It was running perfectly fine on my Windows gaming rig.

My first few attempts are unsuccessful, I've tried the stock kernel of Fedora 33 (5.10.20) and Fedora 35 (5.12-rc2) but none could recognise the card correctly. Loading amdgpu yields error (see https://pastebin.com/sEucjVqh for 64K page size and https://pastebin.com/VqwiTx3F for 4K page size), I have submitted an issue upstream at https://gitlab.freedesktop.org/drm/amd/-/issues/1519

UPDATE: Fedora 37 (6.10) amdgpu now runs perfectly! OMG!

80
General Discussion / Samsung PRO 980 1TB NVMe is working flawlessly
« on: March 02, 2021, 06:40:43 am »
I have been waiting for Samsung PRO 980 for quite awhile. Last week I replaced my old 950 with the 1TB 980 PRO.

The performance is quite decent, I do a simple dd test for a 3GB file, the avg write speed is 5Gb/s and read speed is ranging from 6.1 to 6.5Gb/s.

TRIM is also enabled on my end without any issue at all.

I have updated the wiki.raptorcs.com, so if you are looking for new NVMe, you could have confidence that Samsung PRO 980 is fully compatbile

81
Applications and Porting / [GAMES] ET Legacy
« on: March 02, 2021, 06:26:55 am »
The v2.77 was released on 21st March 2021. As of Dec 2022, v2.80.2 is now the latest!

I was abit curious about how compatible this game is with ppc64le. It turns out it is very trivial to make the game compile with system libs on Fedora 33 or newer


Once the Pull Request (https://github.com/etlegacy/etlegacy/pull/2347) is merged, you could compile the game easily with following options:

Code: [Select]
git clone https://github.com/etlegacy/etlegacy.git && cd etlegacy
cp <origRTCW>/etmain/pak[0-2].pk3 ./etmain/
./easybuild.sh generate -64 -systemlib # for Fedora 37, I deliberately want to use system libs, remove it if you want to use bundled libs
cd build
make
make install # installed to ~/etlegacy

NOTE: For Fedora 37, the minizip header is installed in `/usr/include/minizip`, therefore you need to patch following file:

Code: [Select]
diff --git a/src/qcommon/files.c b/src/qcommon/files.c
index b1a86197e..fbf25d521 100644
--- a/src/qcommon/files.c
+++ b/src/qcommon/files.c
@@ -42,10 +42,8 @@
 
 #ifdef BUNDLED_MINIZIP
 #    include "unzip.h"
-#elif defined(__APPLE__)
-#    include <minizip/unzip.h>
 #else
-#    include <unzip.h>
+#    include <minizip/unzip.h>
 #endif

The bundled omni-bot x86_64 is not compatible and thus needs to be compiled from scratch. Here is how:

Code: [Select]
# I assume you use Fedora 37, you can adjust code to your distro
git clone -b stable https://github.com/jswigart/omni-bot.git /tmp/omni-bot
cd /tmp/omni-bot
git submodule init
git submodule update --recursive
sudo dnf install boost-build boost-b2 boost-*

and apply following patches:

Code: [Select]
diff --git a/0.83/Omnibot/Jamfile b/0.83/Omnibot/Jamfile
index fbdc849e..be43c568 100644
--- a/0.83/Omnibot/Jamfile
+++ b/0.83/Omnibot/Jamfile
@@ -52,7 +52,7 @@ rule tag ( name : type ? : property-set )
        {
                if [ $(property-set).get <address-model> ] = 64
                {
-                       return $(name).x86_64.so ;
+                       return $(name).ppc64le.so ;
                }
                else
                {
diff --git a/0.83/Omnibot/linux/buildbot.sh b/0.83/Omnibot/linux/buildbot.sh
old mode 100644
new mode 100755
index 646bc393..5a993522
--- a/0.83/Omnibot/linux/buildbot.sh
+++ b/0.83/Omnibot/linux/buildbot.sh
@@ -1,9 +1,9 @@
 #!/bin/sh
 
-export BOOST=/boost/boost_1_44_0
-export BOOST_BUILD_PATH=$BOOST/tools/build/v2
-export BOOST_LIB=$BOOST/stage/lib
-export BOOST_SUFFIX=-gcc41-mt-1_44
+export BOOST=/boost/boost_1_78_0
+export BOOST_BUILD_PATH=$BOOST/tools/build
+export BOOST_LIB=/usr/lib64
+export BOOST_SUFFIX=""
 
-cd /media/sf_omnibot_svn_root/Omnibot
-$BOOST/bjam -q release
+cd /tmp/omni-bot/0.83/Omnibot
+b2 architecture=power toolset=gcc address-model=64 -q release

then run:

Code: [Select]
cd 0.83/Omnibot/linux/
./buildbot.sh
cp ../build/ET/gcc-12/release/address-model-64/architecture-power/omnibot_et.ppc64le.so ~/etlegacy/legacy/omni-bot/
rm ~/etlegacy/legacy/omni-bot/omni-bot.so
rm ~/etlegacy/legacy/omni-bot/omni-bot.x86_64.so
ln -sf ~/etlegacy/legacy/omni-bot/omnibot_et.ppc64le.so ~/etlegacy/legacy/omni-bot/omni-bot.so

The game plays perfectly. The only downside is lacking support for any game hosted with x86_64 server.

Video gameplay: https://youtu.be/pCP6a9TsqLc

82
Mr. Strormberg has been advocating for a shared community computers targeting developers who want to access to unpopular architectures for learning and app porting.

More details could be found at https://github.com/KernelCafe/welcome

I really like the noble idea and hope that my linux.ppc64le node (hostname: shrimp-paste) would help encourage more developers to pick up OpenPOWER platform. I would like to encourage you to share your
node too if it is not much hassles.

83
My Pull Request was finally merged, the game can now be compile successfully on ppc64le

URL: https://github.com/pioneerspacesim/pioneer/

84
Applications and Porting / [DEV] kubecolour now supports ppc64le
« on: February 10, 2021, 04:28:01 pm »
kubecolour decorates the stdout of kubectl with colours making devops life easier

To download, please check https://github.com/dty1er/kubecolor/releases/tag/v0.0.11


here is one example


85
User Zone / Slow gnome-shell animation effect
« on: January 28, 2021, 06:15:07 am »
Specs:

* Fedora 34
* Custom Linux 5.11-rc5 (4K Page sizes)
* GNOME 3.38
* AMD Radeon R9 Nano

I experience slow animation with gnome-shell
Please see video clip https://youtu.be/R6jIwpuZnU8
for more details

I would like to ask if you are also experiencing
the same lag effect

Many thanks in advance

86
Operating Systems and Porting / [NEWS] Linux 5.10 LTS
« on: December 17, 2020, 05:44:16 pm »
URL: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.10-Released

The LTS that we've been waiting for. Notable changes/features that is/might be related to PowerPC community:

* PowerPC 601 support was retired as the original 32-bit PowerPC processor. Meanwhile IBM continues bringing up POWER10 support in the Linux kernel.
* Continued work on the AMD RDNA 2 / Radeon RX 6000 series support initially introduced in Linux 5.9.

That's the good news, the bad news is amdgpu is still having regression with R9 Nano and 5700XT card.

UPDATE: the stock Fedora 33 5.10.16 (64K pages) somehow does not run into any issue with my R9 Nano GPU. I highly recommend you upgrade to later 5.10.x

87
Applications and Porting / [GAMES] Doom 3 BFG bad ass game XD
« on: November 05, 2020, 09:29:28 pm »
URL: https://github.com/RobertBeckebans/RBDOOM-3-BFG

The game is still a bit buggy but it does compile and runs on ppc64le!

Gameplay video: https://youtu.be/eHmp3FpSszs?list=PLDegflDdH9RKn08gkPWb_v71hhMFFeTD6

88
Operating Systems and Porting / [NEWS] Fedora 33 is out
« on: October 05, 2020, 11:09:26 pm »
Source: https://fedoramagazine.org/announcing-fedora-33/

I tested it on my blackbird on the last weekend. Good news:

* Anaconda installer for the Workstation variant works out of the box
* GNOME Softwares 3.38 now works correctly - YAY!
* GNOME /w Xorg sometimes get sigfault with libc error, still unable how to re-produce it reliably yet

89
Applications and Porting / [GAME] Super Mario 64 native Linux port
« on: September 29, 2020, 09:41:55 am »
It's happened! Crazy hacker has managed to reverse engineered the N64 game! It was then ported to many platforms including Linux (OpenGL backend).

A bit of tweak in the Makefile and the game can be compiled successfully for PPC64LE



Gameplay video URL: https://youtu.be/Pucv1eNF_K4

90
Yup, after 3 years the PPC64LE RPM for SSR is finally included in the RPMFusion repo

Ref: https://download1.rpmfusion.org/free/fedora/updates/testing/32/ppc64le/repoview/simplescreenrecorder.html


Pages: 1 ... 4 5 [6] 7 8 ... 10