◎メインサイトとSNS
VSRX - オリジナルOSやライブラリ、アプリケーションのリファ レンスとプログラミングなどの各種テクニックを公開しています。
RED - デジタルガジェットとサブカルチャーの話題を取り上げています。
Instagram
Youtube Channel
KANSAI IDOL EVENT Calendar
人気記事ランキング
    最近の記事

    2019年01月10日

    オリジナルOS「VSRX-19.1」の更新予定ポイント

    Ubuntu 18.04 LTSベースのオリジナルOS「VSRX-19」の次期リリースポイント「VSRX-19.1」の更新予定ポイントは以下の通りです。

    ・収録Linuxアプリの最新の更新を適用
    ・カスタムカーネル「VSRX kernel 4.20.1-muqss0185-ck1」に更新
    ・壁紙の管理をnitrogenからPCManFM-Qtのデスクトップモードに変更
    ・Openboxの右クリックメニューを更に整理
    ・GIMP 2.8からGIMP 2.10に更新
    ・filesystem.squashfsのzstd圧縮における圧縮レベルを15に変更
    ・JDownloader2を追加
    ・shotcut削除
    ・オリジナルアプリ「Viper Tools」の最新バージョンに更新
    ・ディレクトリ構成を変更

    /etc/skel/viper/valkyrie_desktop/valkyrie_tmpに、/usr/share/backgroundsや/usr/share/icons、/usr/share/fontsや/usr/share/soundsの追加ファイルが入っているので、これをシンボリックリンクに置き換える事で、少し重複しているファイルを減らして軽量化を図っています。

    Screenshot from 2019-01-04 17-46-01.pngScreenshot from 2019-01-04 17-46-33.pngScreenshot from 2019-01-04 17-46-49.pngScreenshot from 2019-01-04 17-47-04.pngScreenshot from 2019-01-04 17-47-24.png

    ・Plankの配置を変更、マウスオーバー時に拡大するエフェクトを追加。
    以下がVSRX-19.1のデスクトップ画面のスクリーンショットです。
    vsrx19.png
    posted by takatan at 14:05| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2019年01月02日

    2019年のオリジナルOS「VSRX-19」の開発方針

    VSRX-19の開発基本方針


    VSRX-19シリーズでは、最新のLinuxの技術を取り込みながら、OSの基本部分はシンプルに原点回帰していく予定です。OSがリソースを喰い過ぎないようにする事で、アプリケーションの性能を最大限に発揮させる事が出来ますので、OSはシンプルさが大事だと思います。

    カスタムカーネルについて


    VSRX-19では、zen-tune kernel 4.19.12ベースの「VSRX kernel 4.19.12-muqss0180」を搭載していますが、リリースポイント「VSRX-19.1」ではカスタムカーネル「VSRX kernel 4.20-muqss0185-ck1」を搭載します。CPUスケジューラーにMuQSS、I/OスケジューラーにMQ-Deadlineを採用し、Zen Interactive Tune・UKSM・Aufs・zstdといった技術にも引き続き採用していきます。linuxの安定バージョンに追従していく方針は変わりませんし、最新のUbuntuパッチも適用していきます。カスタムカーネルに関しては、ほぼ完成しているので、単純にUbuntuパッチやlinuxのバージョンアップに追従していきたいと思います。CPUスケジューラーをPDS-mqにしたPDS版、PREEMPT_RTパッチを適用してハードリアルタイムカーネルにしたPREEMPT_RT版も引き続き公開予定ですが、これらのカスタムカーネルのベースになっていたzen-tune kernelのソースコードは使わず、バニラカーネルのソースコードをベースにしていきます。その理由は、Zen Interactive TuneがMuQSSとの組み合わせほど効果が無い為です。


    デスクトップ環境について


    VSRX-19のデスクトップ環境は、ウィンドウマネージャー「Openbox」をベースにしたものを継続します。オリジナルOS「VSRX-19.1」では、壁紙の管理をnitrogenからPCManFM-Qtのデスクトップモードに変更しますが、この手法はデスクトップ環境「LXDE」と同じものです。利点は、壁紙管理だけでなく、ショートカットアイコンの表示も出来る事でしょう。LinuxでWindowsっぽいデスクトップを作るのに有効。

    Openbox・PCManFM-Qt・xfce4-powermanager・netwowrk manager・Plank・gmrun・xfce4-terminal・emacs-nox・featherpad・Fcitx+Mozc・gnome screenshooter・Chromium Browser・Audacious・Gnome MPVで基本的なデスクトップ環境を構築し、サウンドシステムは、VSRX-18から引き続きPulseAudio+Jack Audio Connection Kitの組み合わせで構築します。

    ゲーム用途について


    ゲームエミュレーターは、PCSX2とPPSSPPのみ。PCSX2は、1.4.0をベースに1.5.0のプラグインを組み込んで処理性能を大幅に向上させています。ゲーム分野はゲームエミュレーターとWineが主体でしたが、今後はSteamに合わせてOSの性能を引き上げる事が出来ればと考えています。

    オリジナルアプリ「Viper Tools」について


    Viper Toolsは、水面下で作ってきたスクリプトをGUI側でも使えるようにしていきます。システムのパフォーマンスアップ機能などを追加したり、SSB(Site Specific Browser)のViper Toolsへの統合、人工知能プログラムの追加などを計画しています。Viper Toolsは、カスタムカーネルと共にVSRX-19の核になる技術ですので、相当なブラッシュアップを行う予定です。
    posted by takatan at 15:27| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年12月29日

    次期オリジナルOS「VSRX-19」で搭載予定の要素

    2019年早々に次期オリジナルOS「VSRX-19」を公開します。このOSは、VSRX-18同様にUbuntu 18.04 LTSをベースに、かなりの高速化・高音質チューンアップをしたものになっています。VSRX-19の機能は、VSRX-18から全て引き継ぐ事になります。更新予定ポイントは以下の通りです。

    ・カスタムカーネル「VSRX kernel 4.19.12-muqss0180」に更新
    ・収録Linuxアプリの最新の更新を適用
    ・Pulse AudioとJack Audio Connection Kitを組み合わせたサウンドシステムがうまく機能していなかったので、修正し、より強力なものにしました。Live DVDやLive USB起動でも使えます。
    ・Openboxの起動スクリプトを見直して、起動高速化しました。(module-jack-sink・module-jack-source→PulseAudio起動→Jack Audio Connection Kitの順で起動させるようにした。)
    ・Openboxの右クリックメニューの大幅変更。主に右クリックメニューからアプリケーションを起動出来るようにしました。
    ・安定動作させる為に、GIMPを2.10から2.8にダウングレードしました。
    posted by takatan at 12:58| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年12月22日

    オリジナルOS「VSRX-18」で施している音質向上策とシステムパフォーマンス向上策

    オリジナルOS「VSRX-18」で施している音質向上策は以下の通りです。このOSはUbuntu LTSをベースにしているので、他のUbuntu系Linuxディストリビューションでも応用する事が出来ます。

    ◇カスタムカーネル
    ・ハードリアルタイムカーネルを作る時には、PREEMPT_RTパッチを当てる。
    https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/

    ・強力なソフトリアルタイムカーネルを作りたい場合は、MuQSSパッチか、PDSパッチを適用。
    http://ck.kolivas.org/patches/4.0/
    http://cchalpha.blogspot.com/

    ・カーネルコンフィギュレーションファイルは、Liquorix Linuxの物をベースにするとレスポンス性能が高いカーネルを作る事が出来ます。
    https://liquorix.net/sources/

    ・カーネルソースコードはZen-tune kernelを使うと、Zen Interactive Tuningのパッチが既に当たっているのでレスポンス性能を向上させられます。
    https://github.com/zen-kernel/zen-kernel/tree/4.19/zen-tune

    ・I/Oスケジューラーは、MQ-DeadlineかNOOPがおすすめ。SSDをシステムストレージに使っているのであれば、NOOPが下手な処理をしない分、処理速度が速くなります。MQ-Deadlineを使うには、カーネルコンフィギュレーションファイルでblk_mqをデフォルトで使えるように設定し、なおかつ「/etc/sysctl.d/90-override.conf」に「scsi_mod.use_blk_mq=1」を追加してシステムを起動させる必要があります(永続化している)。

    ・Pulse Audioの音飛び防止を行う為に、カーネルソースコードディレクトリ内にある.configの以下の箇所を変更する。

    CONFIG_SND_HDA_PREALLOC_SIZE=4096


    ◇/etc/sysctl.d/90-override.conf
    /etc/sysctl.d/90-override.conf(無い場合は作成する)に以下を追加しますと、システム全体のパフォーマンスとレスポンス性能が向上します。また、ネットワーク帯域の改善にも有効です。

    vm.swappiness = 0
    vm.dirty_ratio = 3
    vm.dirty_background_ratio = 2
    vm.dirty_writeback_centisecs = 6000
    vm.laptop_mode = 5
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_wmem = 4096 87380 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.core.netdev_max_backlog = 5000
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_syn_retries = 2
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_max_syn_backlog = 4096
    net.ipv4.icmp_echo_ignore_all = 0
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.conf.all.bootp_relay = 0
    net.ipv4.conf.all.proxy_arp = 0
    net.ipv4.conf.all.accept_source_route = 0
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.all.secure_redirects = 0
    net.ipv4.conf.default.secure_redirects = 0
    net.ipv4.icmp_ignore_bogus_error_responses = 1
    net.ipv4.tcp_timestamps = 1
    net.ipv4.ip_local_port_range = 1024 65000
    fs.file-max = 209708
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.eth0.rp_filter = 1
    net.ipv4.tcp_rfc1337 = 1
    kernel.threads-max = 131072
    net.ipv4.tcp_fin_timeout = 7
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_window_scaling = 1
    net.ipv4.tcp_keepalive_time = 300
    net.ipv4.tcp_keepalive_probes = 5
    net.ipv4.tcp_keepalive_intvl = 15
    net.ipv4.conf.all.log_martians = 1
    net.ipv4.conf.default.log_martians = 1
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.all.secure_redirects = 0
    net.ipv4.conf.default.secure_redirects = 0
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    net.ipv4.conf.all.accept_source_route = 0
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.ip_forward = 0
    net.ipv4.conf.all.forwarding = 0
    net.ipv4.conf.default.forwarding = 0
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_syn_retries = 2
    net.ipv4.tcp_synack_retries = 2
    net.ipv4.tcp_max_syn_backlog = 4096
    net.core.somaxconn = 32768
    net.core.netdev_max_backlog = 16384
    net.core.dev_weight = 64
    net.core.optmem_max = 65535
    net.ipv4.tcp_max_tw_buckets = 1440000
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_max_orphans = 16384
    net.ipv4.tcp_orphan_retries = 0
    net.ipv4.ipfrag_high_thresh = 512000
    net.ipv4.ipfrag_low_thresh = 446464
    net.ipv4.tcp_no_metrics_save = 1
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.unix.max_dgram_qlen = 50
    net.ipv4.neigh.default.gc_thresh3 = 2048
    net.ipv4.neigh.default.gc_thresh2 = 1024
    net.ipv4.neigh.default.gc_thresh1 = 32
    net.ipv4.neigh.default.gc_interval = 30
    net.ipv4.neigh.default.proxy_qlen = 96
    net.ipv4.neigh.default.unres_qlen = 6
    net.ipv4.tcp_ecn = 1
    net.ipv4.tcp_reordering = 3
    net.ipv4.tcp_retries2 = 15
    net.ipv4.tcp_retries1 = 3
    net.ipv4.tcp_slow_start_after_idle = 0
    net.ipv4.tcp_fastopen = 3
    net.ipv4.route.flush = 1

    kernel.panic = 60
    kernel.nmi_watchdog = 0

    #net.ipv6.conf.all.accept_redirects = 0
    #net.ipv6.conf.default.accept_redirects = 0
    #net.ipv6.conf.all.autoconf=0
    #net.ipv6.conf.all.accept_ra=0
    #net.ipv6.conf.default.autoconf=0
    #net.ipv6.conf.default.accept_ra=0
    #net.ipv6.conf.eth0.autoconf=0
    #net.ipv6.conf.eth0.accept_ra=0
    #net.ipv6.conf.all.forwarding = 0
    #net.ipv6.conf.default.forwarding = 0
    #net.ipv6.route.flush = 1

    kernel.yield_type = 1
    kernel.interactive = 1
    kernel.rr_interval = 1

    kernel.nr_requests = 128
    kernel.read_ahead_kb = 16384
    kernel.rq_affinity = 2
    kernel.add_random = 0
    kernel.sched_nr_migrate = 128
    kernel.sched_rt_period_us = 1000000
    kernel.sched_rt_runtime_us = 980000
    net.ipv4.tcp_congestion_control=bbr
    scsi_mod.use_blk_mq=1


    ◇システム起動時にJack Audio Connection Kitの起動とJackをPulseAudioに接続する。
    ~/.config/openbox/autostartに以下を追加する。

    #JACK+PulseAudio
    sleep 5;jack_control start &
    sudo schedtool -R -I -n 4 -p 25 `pidof jackdbus`
    jack_control eps realtime true
    jack_control ds alsa
    jack_control dps device hw:0
    jack_control dps rate 192000
    jack_control dps nperiods 3
    jack_control dps period 1024
    #sleep 5;pactl load-module module-jack-sink channels=6
    #pactl load-module module-jack-source channels=6
    sleep 5;pactl load-module module-jack-sink channels=2
    pactl load-module module-jack-source channels=2
    sleep 3;pacmd set-default-sink jack_out
    pacmd set-default-source jack_in

    #sleep 2;ln -s /usr/bin/pulseaudio /tmp &
    #sleep 5;/tmp/pulseaudio --start &
    sleep 3;pulseaudio --start &


    ◇/etc/pulse/daemon.conf

    # This file is part of PulseAudio.
    #
    # PulseAudio is free software; you can redistribute it and/or modify
    # it under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, see .

    ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
    ## more information. Default values are commented out. Use either ; or # for
    ## commenting.

    daemonize = no
    ; fail = yes
    ; allow-module-loading = yes
    ; allow-exit = yes
    ; use-pid-file = yes
    ; system-instance = no
    ; local-server-type = user
    ; enable-shm = yes
    ; enable-memfd = yes
    ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
    ; lock-memory = no
    ; cpu-limit = no

    high-priority = yes
    nice-level = -15

    realtime-scheduling = yes
    realtime-priority = 9

    ; exit-idle-time = 20
    ; scache-idle-time = 20

    ; dl-search-path = (depends on architecture)

    ; load-default-script-file = yes
    ; default-script-file = /etc/pulse/default.pa

    ; log-target = auto
    ; log-level = notice
    ; log-meta = no
    ; log-time = no
    ; log-backtrace = 0

    ;resample-method = src-sinc-best-quality
    resample-method = speex-float-10
    ; avoid-resampling = false
    ; enable-remixing = yes
    ; remixing-use-all-sink-channels = yes
    ; enable-lfe-remixing = no
    ; lfe-crossover-freq = 0

    flat-volumes = no

    ; rlimit-fsize = -1
    ; rlimit-data = -1
    ; rlimit-stack = -1
    ; rlimit-core = -1
    ; rlimit-as = -1
    ; rlimit-rss = -1
    ; rlimit-nproc = -1
    ; rlimit-nofile = 256
    ; rlimit-memlock = -1
    ; rlimit-locks = -1
    ; rlimit-sigpending = -1
    ; rlimit-msgqueue = -1
    ; rlimit-nice = 31
    rlimit-rtprio = 9
    ; rlimit-rttime = 200000

    default-sample-format = float32ne
    default-sample-rate = 48000
    alternate-sample-rate = 96000
    ;default-sample-channels = 6
    ;default-channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
    default-sample-channels = 2
    default-channel-map = front-left,front-right

    default-fragments = 1
    default-fragment-size-msec = 1

    ; enable-deferred-volume = yes
    deferred-volume-safety-margin-usec = 1
    ; deferred-volume-extra-delay-usec = 0


    ◇Wine対策
    jack_controlコマンドでJack Audio Connection Kitを動作させれば、Wineを起動させた時に自動的にALSAで動作するようになるので、winetricksでsoundをALSAに変更しておきます。

    ◇.asoundrc
    ~/.asoundrcを用意し、Jackを通した音を入力にしてALSAで出力出来るようにします。これでWineでも間接的にJackが使えるようになります。.asoundrcには以下を追加します。

    pcm.jackplug {
    type plug
    slave { pcm "jack" }
    }

    pcm.jack {
    type jack
    playback_ports {
    0 alsa_pcm:playback_1
    1 alsa_pcm:playback_2
    }
    capture_ports {
    0 alsa_pcm:capture_1
    1 alsa_pcm:capture_2
    }
    }

    posted by takatan at 00:24| 大阪 ☀| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年12月19日

    オリジナルOS「VSRX-19」の更新予定ポイント

    Ubuntu 18.04 LTSをベースにしたオリジナルOSは、来年メジャーナンバーを上げます。「VSRX-19」になり、19回目のメジャーアップデートとなります。と言っても、今のところ、特別な事を行う事は無いでしょう。VSRX-18.43から継続的なアップデートを行います。


    ・収録Linuxアプリケーションの最新の更新の適用
    ・カスタムカーネル「VSRX kernel 4.19.10-muqss0180」以降のカーネルの搭載
    ・/etc/sysctl.d/90-override.conf、/etc/pulse/daemon.confのパラメーターの調整による音質向上・ネットワーク性能の向上・システムパフォーマンスの向上
    posted by takatan at 01:02| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年12月07日

    オリジナルOS「VSRX-18.43」の更新予定ポイント

    オリジナルOS「VSRX-18」の次期リリースポイント「VSRX-18.43」で変更を行う予定の要素は以下の通りです。

    ・カスタムカーネル「VSRX kernel 4.19.6-muqss0180」の搭載
    ・Linux Firmware 1.176に更新
    ・収録Linuxアプリケーションの最新バージョンへの更新
    ・noto-color-emojiを追加
    ・dolphin-emuを削除
    ・オリジナルアプリ「Viper Tools」の最新バージョンへの更新
    ・GIMP 2.10に更新
    ・Avidemux 2.7(Qt5)に更新
    ・ShotcutをPPA版に変更
    posted by takatan at 00:30| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年11月20日

    オリジナルLinuxアプリ「Viper Tools」に2018/11/20以降追加する機能について

    オリジナルOS「VSRX-18」用に作ったオリジナルLinuxアプリ「Viper Tools」は、Ubuntu系Linuxディストリビューションでも使う事が可能です。2018/11/20以降に追加する予定の新しい機能は以下の通りです。

    ・分野毎のDockerファイルからのDockerイメージ作成機能
    posted by takatan at 13:19| 大阪 ☀| 開発話 | このブログの読者になる | 更新情報をチェックする

    オリジナルOS「VSRX-18」用のOpenboxコンフィグファイル(20181120)

    オリジナルOS「VSRX-18」用に作ったウィンドウマネージャー「Openbox」のコンフィグファイルです。autostartスクリプトファイルに記載されているソフトウェアをインストールする必要がありますが、特に音周りはPulseAudio+Jack Audio Connection Kitの組み合わせで自動的に設定を行いますので、手軽に高音質化出来るはずです。ハードリアルタイムカーネルやCK1パッチに最適化していますので、リアルタイムカーネルか低レイテンシーカーネルを導入しておいた方が良いです。もし、リアルタイムカーネルが無い場合には、Jack Audio Connection Kitの部分をコメントアウトするか、値を調整すれば、音飛びなどが無くなるはずです。
    解凍して出来る「cocky」フォルダと「openbox」フォルダを.configディレクトリ直下に置きます。

    オリジナルOS「VSRX-18」用のOpenboxコンフィグファイル download
    posted by takatan at 13:11| 大阪 ☀| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年11月15日

    オリジナルOS「VSRX-18.43」以降の方針

    オリジナルOS「VSRX-18.43」の今後の方針予定は以下の通りです。

    ・最新のカスタムカーネルへの更新
    ・収録Linuxアプリケーションの最新の更新の適用
    ・オリジナルアプリ「Viper Tools」「VSRX Settings」の最新バージョンの適用
    ・人工知能やデータサイエンス関連のPython環境のvenvによる仮想環境化
    ・PPSSPPやPCSX2やDolphin-Emuといったゲームエミュレーター環境のDockerファイル化
    ・Wine環境の分離

    出来るだけOS本体をコンパクトにし、Pythonによる開発環境はvenvによる仮想環境化、ゲームエミュレーター環境をDockerでコンテナ化していきます。既に、Pythonによる開発環境の仮想環境化は済んでいるので、ゲームエミュレーター環境のDocker化が主な課題になってきます。
    WineによるWindows環境を分離したいのですが、これ次第でOSのシュリンクがだいぶ変わってくるかと思います。
    posted by takatan at 13:46| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年11月08日

    オリジナルOS「VSRX-18.42」の更新予定ポイント

    オリジナルOS「VSRX-18」の次期リリースポイント「VSRX-18.42」の更新ポイントは以下の通りです。

    ・収録Linuxディストリビューションの最新の更新を適用
    ・Geanyを削除
    ・fbpanelを削除
    ・plank、stalonetrayを追加
    ・pcmanfmからpcmanfm-qtに変更
    ・Openboxの右クリックメニューを変更
    posted by takatan at 16:12| 大阪 ☀| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年11月02日

    オリジナルOS「VSRX-18.41」の更新予定ポイント

    オリジナルOS「VSRX-18」の次期リリースポイント「VSRX-18.41」の更新を行う予定の箇所は以下の通りです。

    ・収録Linuxアプリケーションの最新の更新の適用
    ・Linux 4.19をベースにしたカスタムカーネル「VSRX kernel 4.19-pds099c」の搭載
    ・アイコンテーマ「Suru++20」に変更
    posted by takatan at 00:05| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年10月27日

    オリジナルOS「VSRX-18.40」の更新予定ポイント

    オリジナルOS「VSRX-18」の次期ポイントリリース「VSRX-18.40」の更新予定のポイントは以下の通りです。

    ・収録Linuxアプリケーションの最新の更新を適用
    ・カスタムカーネル「VSRX kernel 4.18.16-muqss0173」に更新
    ・オリジナルアプリ「Viper Tools」を最新版に更新
    ・動画エンコーダ「Handbrake」を追加
    ・テキストエディタ「Leafpad」から「FeatherPad」に変更
    ・イメージビューワ「GPicView」から「lximage-qt」に変更
    ・Webブラウザ「Chromium Browser70」に更新
    ・Webブラウザ「Firefox 63」に更新
    ・LLVM6からLLVM7に更新
    ・システム起動時にChromium BrowserとAudaciousを自動起動


    Lubuntu 18.10のような軽量KDE環境には、VSRX-18でも行なった事がありますが、結局Openboxベースでデスクトップを構成した方が便利な気がするので、現在のスタイルでオリジナルOSを構築しています(^_^;)
    今後もgtk+3アプリケーションとQtアプリケーションのキメラ構造で構成していく予定です。

    2018/10/25の追記
    Lubuntu 18.10のパッケージ構成に少しだけ合わせます。leafpadをfeatherpadに変更、GPicViewをlximage-qtに変更し、Qt化をほんの少し高めました。
    posted by takatan at 02:56| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年10月01日

    オリジナルOS「VSRX-18.38」の更新予定ポイント

    オリジナルOS「VSRX-18.38」の次期リリースポイント「VSRX-18.38」の更新する部分は以下の通りです。

    ・収録Linuxアプリケーションの更新
    ・動画プレーヤーとしてGNOME MPVを追加。(既にMPVが入っているので、これはそのフロントエンド)
    posted by takatan at 15:23| 大阪 ☀| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年09月30日

    スティックPCのOSをVSRX-18.37に更新

    スティックPC「STCK1A32WFC」にオリジナルOSの最新ポイントリリース「VSRX-18.37」をインストールしました。
    DoRbI76WkAEC0rd.jpg

    STCK1A32WFCの仕様は以下のリンク先に記載されています。
    https://ark.intel.com/ja/products/86612/Intel-Compute-Stick-STCK1A32WFC

    僕のSTCK1A32WFCには回転式USBハブを装備させており、これでUSBポートを3つ拡張しています。

    CPU-Xで表示されたプロセッサの仕様は以下の通りです。
    Screenshot from 2018-09-30 03-30-05.png
    Screenshot from 2018-09-30 03-31-05.png
    Screenshot from 2018-09-30 03-31-46.png
    Screenshot from 2018-09-30 03-32-05.png

    VSRX-18.37では、カスタムカーネル「VSRX kernel 4.18.10-muqss0173」に更新しており、Ubuntu 18.04 LTSよりも様々な部分で高速化を図っています。それでも、STCK1A32WFCのスペックがCore2 Duoを搭載したマシンレベルですので、フルHDの動画を再生するのは苦しいようです。Webブラウジングは普通に行なえますが、Pentium GやCeleron GなどのようなCore i系のローエンドプロセッサと比較するとやや遅く感じるでしょう。Youtubeでの動画再生は720pが最大値だと思っておけば良いかと思います。

    Screenshot from 2018-09-30 03-34-58.png

    PSPのゲームエミュレーターである「PPSSPP」でイースVIIをプレイしましたが、設定でx3の内部解像度にし、アンチエイジングを使わず、フレームスキップをオフにしても、スムーズにプレイ出来たのは少し驚きました。M.U.E.G.E.NのコンプゲームをWine3.0上で動作させましたが、キャラクターやステージの読み込みデータ容量が多いと少し時間がかかりますが、読み込めば、非常に快適にプレイ出来ました。microSDカードから起動させているので、データ転送速度がネックになっている可能性が高いです。
    posted by takatan at 12:31| 大阪 ☁| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年09月29日

    オリジナルOS「VSRX-18.37」の更新予定ポイント

    オリジナルOS「VSRX-18」の次期リリースポイント「VSRX-18.37」で更新を予定している点は以下の通りです。

    ・カスタムカーネル「VSRX kernel 4.18.10-muqss0173」に更新
    ・収録Linuxアプリケーションの更新を適用
    ・Avidemuxを追加
    ・fbpanelにAvidemuxとPPSSPPのボタンを追加
    ・Openboxの右クリックメニューの「About VSRX-18」に、カーネルをビルドした時に使ったGCCのバージョンを表示するように変更
    posted by takatan at 16:36| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年09月27日

    M.U.G.E.Nコンプゲーム「Crossover」について

    M.U.G.E.Nコンプゲーム「Crossover」のゲームエンジンはM.U.G.E.N 1.1bです。フルカラーのPNGや拡大縮小処理にも対応していますので、今までのM.U.G.E.Nと比較する表現力が高くなっています。
    Crossoverの登場キャラクターは、ゲームやアニメで人気の女性キャラクターのみで構成されています。ストーリーは、V.GやGateなどを参考にしていますが、まだ完全にストーリーが煮詰まっていません(^_^;)
    ステージや敗北後の演出に関しては、思いついたアイデアを出来るだけ導入していっており、全26ステージになっています。2018年9月26日に久しぶりの最新バージョンを公開しました。だいぶ余計な物を外して、新しい物を追加したりしましたが、他の人のコンプゲーを見ますとまだまだCrossoverの完成度は低いなあと思っています。次のバージョンは、いつになるか分かりませんが、現在以下の事を計画しています。

    ・ストーリーの練り直し
    ・ストーリーの練り直しをした場合、特定のキャラクターのオープニングとエンディングの内容を変更するかもしれない。
    ・難易度が高いので、強いキャラクターを最後の方に登場するようにバランス調整を実施。
    ・キャラクターは増やさず、技の追加や演出の適度な追加を行い、キャラクターの魅力を高める。場合によっては、キャラクターを外す可能性もある。
    ・総ファイル容量が2.1GBですので、この容量を減らす。
    ・ストーリー・ステージ・キャラクターを徐々に改良して、Crossoverの世界観を構築する。
    ・全キャラクターに拡大縮小処理を入れるかどうかは未定。
    ・神キャラや凶キャラのような過度な演出や凶悪な強さは入れず、強くても倒せるようなレベルに調整したい。

    開発環境は以下の通りで、主にLinux+Wine、Windowsで動作する事を想定しています。

    Linux+Wine 3.6+Fighters Factory 3.0.2000.2013
    GIMP 2.8
    Leafpad
    Audacity
    posted by takatan at 00:32| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする

    2018年09月20日

    MPVの設定を変更

    オリジナルOS「VSRX-18」には、動画プレーヤーとしてMPVをプリインストールしています。これの設定を変更していきます。
    ~/.config/mpv以下に設定ファイルを作って変更を適用しています。
    https://wiki.archlinux.jp/index.php/Mpv
    ◇mpv.conf

    # Write your default config options here!

    cache=262144

    deinterlace=yes
    hwdec=vdpau
    profile=opengl-hq
    ao=pulse
    af=acompressor


    ◇input.conf

    Alt+RIGHT add video-rotate 90
    Alt+LEFT add video-rotate -90
    Alt+- add video-zoom -0.25
    Alt+= add video-zoom 0.25
    Alt+j add video-pan-x -0.05
    Alt+l add video-pan-x 0.05
    Alt+i add video-pan-y 0.05
    Alt+k add video-pan-y -0.05

    SHIFT+* add ao-volume 2


    ◇luna-settings/osc.conf

    layout=bottombar
    vidscale=no
    scalewindowed=1.75
    scalefullscreen=1.75
    boxalpha=160
    hidetimeout=2000
    posted by takatan at 17:29| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする

    オリジナルOS「VSRX-18」での音質向上策について

    オリジナルOS「VSRX-18」では、デフォルトのUbuntuよりも音質が向上するようにしています。Pulse Audio+Jack Audio Connetion Kitの組み合わせで、VSRX-18のサウンドシステムを構築していますが、qjackctlで設定していません。その理由は、Windows APIレイヤー「Wine」上でWindowsアプリケーションを起動させた時に、Pulse AudioでもALSAでも音が出なくなってしまうからです。その対策として、jack_controlコマンドでJACK Audio Connection Kitの設定をし、動作させています。これでWine上でALSAを使ってサウンド再生出来るようにしておけば、通常Pulse Audio+Jack Audio Connection Kitの組み合わせで音を出していても、自動的に切り替わるようになります。qjackctl経由でサウンドシステムを起動させた場合は、この自動切り替えが出来ないので注意してください。この方法は、Ubuntu系Linuxディストリビューションで有効かと思います。

    さて、VSRX-18の音質向上策は、Pulse AudioとJack Audio Connetion Kitをmodule-jack-sink/module-jack-sourceというPulse Audio用の2つのモジュールを使って接続して、以下の設定を行っています。

    ・リアルタイムをオン
    ・サンプルレート:192000KHz
    ・フレーム/ピリオド:1024
    ・ピリオド/バッファー:3
    ・1フレーム当たり128周
    ・schedtoolを使って優先順位を上げた


    上記の設定は以下のスクリプトで行っています。

    #JACK+PulseAudio
    sleep 5;jack_control start &
    sudo schedtool -R -p 256 `pidof jackdbus`
    jack_control eps realtime true
    jack_control ds alsa
    jack_control dps device hw:0
    jack_control dps rate 192000
    jack_control dps nperiods 3
    jack_control dps period 1024
    sleep 5;pactl load-module module-jack-sink channels=2
    pactl load-module module-jack-source channels=2
    sleep 3;pacmd set-default-sink jack_out
    pacmd set-default-source jack_in

    #sleep 2;ln -s /usr/bin/pulseaudio /tmp &
    #sleep 5;/tmp/pulseaudio --start &
    sleep 5;pulseaudio --start &


    Pulse Audioの設定も変更しました。
    ~/.config/pulse/daemon.conf

    # This file is part of PulseAudio.
    #
    # PulseAudio is free software; you can redistribute it and/or modify
    # it under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, see .

    ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
    ## more information. Default values are commented out. Use either ; or # for
    ## commenting.

    daemonize = no
    ; fail = yes
    ; allow-module-loading = yes
    ; allow-exit = yes
    ; use-pid-file = yes
    ; system-instance = no
    ; local-server-type = user
    ; enable-shm = yes
    ; enable-memfd = yes
    ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
    ; lock-memory = no
    ; cpu-limit = no

    high-priority = yes
    nice-level = -11

    realtime-scheduling = yes
    realtime-priority = 20

    ; exit-idle-time = 20
    ; scache-idle-time = 20

    ; dl-search-path = (depends on architecture)

    ; load-default-script-file = yes
    ; default-script-file = /etc/pulse/default.pa

    ; log-target = auto
    ; log-level = notice
    ; log-meta = no
    ; log-time = no
    ; log-backtrace = 0

    resample-method = speex-float-2
    ; avoid-resampling = false
    ; enable-remixing = yes
    ; remixing-use-all-sink-channels = yes
    ; enable-lfe-remixing = no
    ; lfe-crossover-freq = 0

    flat-volumes = no

    ; rlimit-fsize = -1
    ; rlimit-data = -1
    ; rlimit-stack = -1
    ; rlimit-core = -1
    ; rlimit-as = -1
    ; rlimit-rss = -1
    ; rlimit-nproc = -1
    ; rlimit-nofile = 256
    ; rlimit-memlock = -1
    ; rlimit-locks = -1
    ; rlimit-sigpending = -1
    ; rlimit-msgqueue = -1
    ; rlimit-nice = 31
    ; rlimit-rtprio = 9
    ; rlimit-rttime = 200000

    default-sample-format = s16le
    default-sample-rate = 96000
    alternate-sample-rate = 48000
    ; default-sample-channels = 2
    ; default-channel-map = front-left,front-right

    ; default-fragments = 4
    ; default-fragment-size-msec = 25

    ; enable-deferred-volume = yes
    deferred-volume-safety-margin-usec = 1
    ; deferred-volume-extra-delay-usec = 0

    posted by takatan at 12:17| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする

    オリジナルOS「VSRX-18」ではインストールの際にgrubのインストールの失敗を減らす工夫を行っています。

    オリジナルOS「VSRX-18」をSSDやHDDにフルインストールするには、右クリックメニュー(Ctrl+mでも起動可能です。)の「Install VSRX-18」の項目をクリックすると、インストーラー「Ubiquity」が起動し、インストールをする手順が開きます。その手順のポップアップの内容は以下のようになっています。
    install_vsrx.jpg

    ◇インストール方法
    1.右クリック→「Install VSRX」→インストール
    2.OSのインストールが終わった後に出てくるダイアログで「試用を続ける」を選択する。選択後に自動的にboot-repairが起動。
    3.「高度なオプション」→「GRUBのオプション」→「SecureBoot」のチェックを外して、適用ボタンを押す。
    4.GRUBをインストールしたら、システム再起動


    UbiquityでシステムをSSDやHDDにインストールします。出来るだけ高速でインストールしたい場合は、インターネットを切っておきます。fbpanelの右側にnetwork-managerのアイコンが表示されていますので、これを右クリックすれば、項目が開きますので、ここからネットワークを遮断すれば良いです。
    Ubiquityは-bオプションを使って起動させていますので、このインストール作業ではブートローダーである「grub」はインストールされません。インストール作業が終わりますと、ダイアログが表示され、その「試用を続ける」を選択してクリックをしますと、自動的にboot-repairというアプリケーションが起動しますので、このアプリケーションの「高度なオプション」→「GRUBのオプション」→「SecureBoot」のチェックを外して、適用ボタンを押しまうと、grubをインストールする事が出来ます。

    ちなみに、パソコンの電源を入れた時に表示されるメーカーロゴが表示されている時に、Deleteキー、あるいはF11キーを押しますとUEFIの設定画面に入る事が出来ますので、インストールディスクを起動させる前に、セキュアブートの項目をオフにしておいてください。
    posted by takatan at 11:12| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする

    オリジナルOS「VSRX-18」の心臓部

    オリジナルOS「VSRX-18」はUbuntu 18.04 LTSをベースにしていますが、作成したカスタムカーネルを導入したり、動画編集ソフトやゲームエミュレーターなどの導入、ChromiumとFirefoxのデュアルブラウザ体制、データサイエンス用の環境やオリジナルスクリプトの導入など様々な要素を盛り込んでいます。

    このOSの心臓部は、カスタムカーネルと/etc/skel以下にあるスクリプト群です。これらによって、システムの高速化・軽量化と機能強化を図っています。/etc/skelの構造は画像のようになっています。

    Screenshot from 2018-09-20 09-30-38.pngScreenshot from 2018-09-20 09-30-45.pngScreenshot from 2018-09-20 09-31-01.png

    Openboxの設定ファイルは、.config/openbox以下に入っています。その中のautostartというスクリプトで、JACK Audio Connection KitやPulse Audio、xfce4-power-managerやfbpanel、fcitxやnetwork manager、nitrogenやcomptonやxrandarなどの各種アプリケーションをシステム起動時に起動させるようにしています。つまり、このOpenboxのautostartスクリプトがカスタムカーネルやViper ToolsやVSRX settingsと並ぶVSRX-18の心臓部となっています。

    ◇オリジナルOS「VSRX-18」の心臓部
    ・カスタムカーネル
    ・オリジナルアプリケーション「Viper Tools」
    ・VSRX-18用設定ツール「VSRX settings」(Site Specific Browser機能を含む)
    ・Openboxのautostartスクリプト
    posted by takatan at 09:53| 大阪 ☔| 開発話 | このブログの読者になる | 更新情報をチェックする