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] 2 3 ... 5
1
Operating Systems and Porting / [NEWS] OpenBSD 6.9 is out
« on: May 03, 2021, 01:02:46 am »
Lots of of love for powerpc64 https://www.openbsd.org/69.html

2
Applications and Porting / [NEWS] QEMU 6.0 is out
« on: April 30, 2021, 05:32:41 am »
URL: https://www.qemu.org/2021/04/30/qemu-6-0-0/

The 2 changes related to BMC is interesting

3
User Zone / How to get toolbox CLI running on Fedora
« on: April 29, 2021, 06:06:26 am »
Toolbox is a great tooling to create development containerised dev environment. I have been using this tool on x86_64 for 2 years at work.

With ppc64le, Fedora Infrastructure team does not support PPC64LE so users
have to build the base image manually:

Code: [Select]
git clone https://github.com/containers/toolbox.git
cd toolbox/images/fedora/f34
podman build . -t fedora-toolbox:34

Once done you could specify the image in toolbox command:

Code: [Select]
toolbox create --image fedora-toolbox:34
toolbox enter


4
Operating Systems and Porting / [NEWS] Fedora 34 is out!
« on: April 27, 2021, 09:55:32 am »
More info at https://fedoramagazine.org/announcing-fedora-34/

I have upgrade my Blackbird (with AMD R9 Nano GPU) from F33 to F34 successfully.

Everything works as expected though the animation of gnome-shell is sluggish.

5
Operating Systems and Porting / [NEWS] FreeBSD 13 is out
« on: April 13, 2021, 07:25:25 pm »
Release notes: https://www.freebsd.org/releases/13.0R/relnotes/

Note able changes that are related to POWER:
Code: [Select]

POWER

All powerpc architectures switched to LLVM and are currently mostly similar to amd64 toolchain-wise. 678da4a27447

powerpc (32-bit) switched to Secure-PLT. e861dab45186

powerpc64le (64-bit little endian port) was introduced, targeting POWER8 and newer processors. b75abea4d087

Radix MMU support for powerpc64 and powerpc64le (experimental, disabled by default). 65bbba25d214

Superpages support for powerpc64 and powerpc64le (experimental, disabled by default). e2d6c417e303

LinuxKPI support. 937a05ba81c3

Support QEMU/KVM pseries without hugepages. b934fc74683b

Support for handling kernel minidumps. d3c34fc0f473

Optimized memcpy, memmove, bcopy, strncpy and strcpy. e16c18650cdc, 181e35008cfb, 075fb85f0904

XIVE interrupt controller driver for POWER9, which improves performance by about 10%. d49fc192c141

Converting pmap drivers to ifunc improved performance by about 20%. 45b69dd63

Plenty of stability fixes, which fix many kernel panics.

Plenty of other performance improvements - performance during bulk -a package building is at least 60% higher.

6
nerdctl is yet a new player in container engine scene. It leverages the containerd much more than Docker and offers 2 new features:

* lazy pulling
* image encryption

Though it is quite young, the project is growing steadily. In https://github.com/containerd/nerdctl/pull/139, the team maintainer adds support for ppc64le.
To me it is a yet another win for Linux ppc64le community

7
Applications and Porting / [NEWS] Fedora 34 Beta is out
« on: March 24, 2021, 07:41:01 pm »
Perfect timing! GNOME 40 is finally announced. Fedora 34 Beta is the perfect test bench distro for that. Please give it a go on ppc64le and file bug reports if you happen to find any

URL: https://alt.fedoraproject.org/prerelease/index.html

8
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.

9
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

10
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 :)

11
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

12
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

13
Applications and Porting / [GAMES] ET Legacy v2.77
« on: March 02, 2021, 06:26:55 am »
v2.77 was released yesterday. 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

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

Code: [Select]
cmake -DCMAKE_BUILD_TYPE=Release \
-DCROSS_COMPILE32=0 \
-DZIP_ONLY=0 \
-DARM=0 \
-DBUILD_SERVER=1 \
-DBUILD_CLIENT=1 \
-DBUILD_MOD=1 \
-DBUILD_MOD_PK3=1 \
-DBUNDLED_LIBS=0 \
-DBUNDLED_SDL=0 \
-DBUNDLED_ZLIB=0 \
-DBUNDLED_MINIZIP=0 \
-DBUNDLED_JPEG=0 \
-DBUNDLED_CURL=0 \
-DBUNDLED_WOLFSSL=0 \
-DBUNDLED_OPENSSL=0 \
-DBUNDLED_LUA=0 \
-DBUNDLED_OGG_VORBIS=0 \
-DBUNDLED_THEORA=0 \
-DBUNDLED_OPENAL=0 \
-DBUNDLED_GLEW=0 \
-DBUNDLED_FREETYPE=0 \
-DBUNDLED_PNG=0 \
-DBUNDLED_SQLITE3=0 \
-DFEATURE_CURL=1 \
-DFEATURE_SSL=1 \
-DFEATURE_OGG_VORBIS=1 \
-DFEATURE_THEORA=1 \
-DFEATURE_OPENAL=1 \
-DFEATURE_FREETYPE=1 \
-DFEATURE_PNG=1 \
-DFEATURE_LUA=1 \
-DFEATURE_MULTIVIEW=1 \
-DFEATURE_EDV=1 \
-DFEATURE_ANTICHEAT=1 \
-DFEATURE_GETTEXT=1 \
-DFEATURE_DBMS=1 \
-DFEATURE_RATING=1 \
-DFEATURE_PRESTIGE=1 \
-DFEATURE_AUTOUPDATE=1 \
-DFEATURE_RENDERER2=0 \
-DFEATURE_RENDERER_GLES=0 \
-DRENDERER_DYNAMIC=1 \
-DFEATURE_LUASQL=1 \
-DFEATURE_OMNIBOT=1 \
-DINSTALL_EXTRA=1 \
-DINSTALL_OMNIBOT=1 \
-DINSTALL_GEOIP=1 \
-DINSTALL_WOLFADMIN=1 \
-DCMAKE_INSTALL_PREFIX=/home/runlevel5/etlegacy \
-DINSTALL_DEFAULT_MODDIR=. \
-DINSTALL_DEFAULT_BINDIR=. \
-DINSTALL_DEFAULT_BASEDIR=. \
                ..


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

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

14
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.

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

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

Pages: [1] 2 3 ... 5