ntzyz's space

∠( ᐛ 」∠)_

Category

  • Algorithm
  • Figures
  • Gameplay
  • Linux
  • Network
  • Other
  • Photos
  • Web

Tags

  • Linux
  • JavaScript
  • PS4
  • A6300
  • A7M3
  • HTML5
  • OpenWrt
  • FE55
  • Network
  • 狗
  • iptables
  • systemd
  • Tunnel
  • 猫
  • 手办
  • Web
  • Arcaea
  • VPN
  • node
  • 雪
  • AudioContext
  • PowerShell
  • HTML
  • HDOJ
  • iSCSI
  • UEFI
  • Arch Linux
  • Highcharts.js
  • Gaming
  • CAPCOM
  • USB
  • MPV
  • MHW
  • Algorithm
  • PPTP
  • SVP
  • WireGuard
  • IPv6
  • SDL
  • Highlight.js
  • FE24105G
  • FromSoftware
  • CI
  • PHP
  • MediaSource
  • Surface
  • Routing
  • LeetCode
  • CSharp
  • SQLite
  • NVMe
  • UglifyJS
  • WebAssembly
  • Minecraft
  • Node
  • NAT
  • GitHub
  • MySQL
  • Sekiro

Recent replies

  • ntzyz 发表于「CoreMark WebAssembly」
  • Hatsuroku 发表于「CoreMark WebAssembly」
  • Kyle 发表于「用 Elastic Stack 拯救 Telegram 的中文搜索」
  • ShellBin 发表于「Cinebench」
  • ntzyz 发表于「电子垃圾列表」
  • 帅粥 发表于「电子垃圾列表」
  • ntzyz 发表于「Windows 10 网络连接共享重启失效的临时解决方案」
  • Hughton 发表于「Windows 10 网络连接共享重启失效的临时解决方案」
  • Gaein nidb 发表于「使用 UEFI Shell 加载 NVMe 驱动」
  • ShellBin 发表于「DSC01764」

Links

About me
WordPress 存档
Cinebench 跑分记录
Coremark WebAssembly 跑分记录
Hpoi 手办维基 个人页
ZephRay
>Lithia's Core
Project Aurora
Ferrets 家的 Wordpress
spinmry实验室
Yuno's Wonderland
notonokodds
春上冰月的博客
kasora's blog
徐靖峰 | 个人博客
蒋炜成 | 个人博客
Test2g
447f.Misaka
Project RC
Shell Bin

ARM v7 交叉编译笔记

2018 年 5 月 16 日分类:Linux#SDL#Linux

busybox,产生一个最小的可用 coreutils 等工具,并充当新系统的 init,毕竟这种嵌入式场景要是跑 systemd,开机速度什么的就走远了(

$ wget https://busybox.net/downloads/busybox-1.28.3.tar.bz2
$ tar xjvf busybox* && cd busybox*
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- defconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j64
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- install CONFIG_PREFIX=/root/basefiles

SDL 1.2,把除了 fbcon 之外的 video 和 audio 都关了。SDL 支持的东西真多啊,居然还有 PS2 PS3的。

./configure --host=arm-linux-gnueabihf \
            --prefix=/root/basefiles/usr \
            --disable-audio \
            --disable-threads \
            --disable-x11 \
            --disable-dga \
            --disable-video-photon \
            --disable-video-cocoa \
            --disable-video-directfb \
            --disable-video-ps2gs \
            --disable-video-ps3 \
            --disable-video-svga \
            --disable-video-vgl \
            --disable-video-wscons \
            --disable-video-xbios \
            --disable-video-gem \
            --disable-video-opengl
make && make install

zlib,作为 libpng 和 freetype2 的依赖。

CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld AS=arm-linux-gnueabihf-as ./configure --prefix=/root/basefiles/usr
make && make install 

libpng 1.6,资源文件保存格式,SDL_image 依赖该库。

必须注意的是头文件目录一定要放在 CPPFLAGS 这个变量里,否则会报错。同时如果 已经报错了记得 make clean 了之后再编译,否则这个错误不会被修正。

./configure --host=arm-linux-gnueabihf \
            --prefix=/root/basefiles/usr \
            CPPFLAGS="-I/root/basefiles/usr/include" \
            LDFLAGS="-L/root/basefiles/usr/lib"
make && make install

SDL_image 1.2,去掉了所有其他用不到的格式,只保留 PNG 的支持。

./configure --host=arm-linux-gnueabihf \
            --prefix=/root/basefiles/usr/ \
            --with-sdl-prefix=/root/basefiles/usr/ \
            --disable-jpg \
            --disable-tif \
            --disable-webp \
            CFLAGS="-I/root/basefiles/usr/include" \
            LDFLAGS="-L/root/basefiles/usr/lib"
make && make install

Freetype2 会通过 pkg-config 命令来判断系统内是否安装了 libpng 和 zlib,所以我们需要手动指定这个 PKG_CONFIG_PATH ,或者干脆去掉对 libpng 的支持。

./configure --host=arm-linux-gnueabihf \
            --prefix=/root/basefiles/usr/ \
            --with-png=yes \
            CFLAGS="-I/root/basefiles/usr/include" \
            LDFLAGS="-L/root/basefiles/usr/lib" \
            PKG_CONFIG_PATH=/root/basefiles/usr/lib/pkgconfig/

SDL_ttf,需要把 include/SDL 内的 SDL_opengl.h 给删掉或者改名,因为 configure 内没有提供任何方法来关闭 OpenGL,只能破坏这个检测机制来避免让 autoconf 认为我需要使用 libGL 进行链接。

[ -e /root/basefiles/usr/include/SDL/SDL_opengl.h ] && mv /root/basefiles/usr/include/SDL/SDL_opengl.h /root/basefiles/usr/include/SDL/SDL_opengl.fucked.h
./configure --host=arm-linux-gnueabihf \
            --prefix=/root/basefiles/usr/ \
            --with-freetype-prefix=/root/basefiles/usr/ \
            CFLAGS="-I/root/basefiles/usr/include -I/root/basefiles/usr/include/freetype2" \
            LDFLAGS="-L/root/basefiles/usr/lib -lfreetype" \
            PKG_CONFIG_PATH=/root/basefiles/usr/lib/pkgconfig/

OpenCV3,测试算法使用,正式代码中使用的部分将被重构

cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../.. -DCMAKE_INSTALL_PREFIX=/opt/rootfs/usr -DENABLE_NEON=ON

PS4 开玩一周年破事水

2018 年 3 月 21 日分类:Other#PS4#Gaming
和 [@kasora](https://blog.kasora.moe/) 聊天的时候突然发现去年的今天我下单了一台 PS4 Slim,没想到这么快都一周年了。随便水点什么也算是纪念一下吧(

图片什么的都转成了 jpg,不过想看原图的可以试试直接新标签打开图片,把后缀名改成 png,如果有无损图片的话就能看到了,全都放 png 有点卡的(

账户

高三毕业之后我还是买过一台 PSV 的,注册了港服的账号,后来又换了个日服,可是这些账号都……怎么说呢,总之就是 ID 已经不想用了。所以这次就很干脆的注册了一个新的账号 @ntzyz320602 ,这种地名+名字缩写+瞎几把打的数字的 ID 感觉到处都能看到,也没什么特点,挺好的(

MORE

在浏览器中使用 WebAssembly 解码 MP3 并播放

2018 年 2 月 26 日分类:Web#Web#JavaScript#WebAssembly#AudioContext

纯属闲得蛋疼

实际运行效果

首先我们需要准备好 WebAssembly 的工具链(大概可以这么叫吧),此处请参考 Compiling from C/C++ to WebAssembly | MDN 中的步骤 来完成。对于 Arch Linux 用户,可以从 AUR 中安装 emsdk:

yaourt -S emsdk

之后则是和 MDN 中的步骤一样,编译并配置 LLVM 和 Emscripten SDK:

sudo emsdk install --build=Release sdk-incoming-64bit binaryen-master-64bit
sudo emsdk activate --global --build=Release sdk-incoming-64bit binaryen-master-64bit
MORE

使用 systemd-nspawn 快速创建 Linux 容器

2017 年 12 月 21 日分类:Linux#Linux#systemd

使用 systemd-nspawn 这个命令我们可以很方便的创建一个 Linux 容器,需要的只是一个使用 systemd 作为 init 的 Linux 发行版的根文件系统。通过创建容器,我们可以获得一个可以随便折腾而不用担心损坏的 Linux 环境。这里用 Ubuntu 16.04 和 CentOS 7 为例,整个过程可以说是非常简单(虽然比起 Docker 还是麻烦了点)

对于 Ubuntu,可以直接从源里下载到它的根文件系统。下载一份,并解压到 /var/lib/machines/ubuntu1604:

MORE

在 Linux 下使用 SVP 4 播放视频

2017 年 9 月 22 日分类:Linux#Arch Linux#MPV#SVP
提示:在继续阅读之前,请注意此文章最后更新于 1215 天前,其中的部分内容可能已经无效或过时。

SVP 作为一个插帧神器,是我们看番的好伙伴。从 SVP 4 开始,Smooth Video Project 开始提供对 Linux/macOS 的支持(vapoursynth is GOOD)。今天尝试了一下效果还不错~

首先是按惯例安装一些必备的软件包,我使用的是 Arch Linux,其他平台自行处理一下就行了

MORE
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • »
Copyright © 2016-2019 ntzyz. All rights reserved.
Except where otherwise noted, content on this blog is licensed under CC-BY 2.0.