음.... 롤러코스터 타이쿤3도 나름 명작입니다. 나온지 오래됐고 Planet Coaster 라는 정신적 후속작도 나왔지만 여전히 재밌습니다.

 

그리고 리눅스에서 실행이 이젠 어렵지 않습니다. 예전에는 아주 별의별 삽질을 해서 실행했었지만(심지어 HWTnL문제랑 S3TC문제랑 이것저것 많았음) 이젠 그냥 스팀판의 경우 실행버튼 누르면 그냥 실행 됩니다.

 

딱 하나 빼고요.

 

음악이 안나오는 문제가 있는데 mp3파일은 잘 나오지만 기본 음악들의 형태인 wma에서 문제가 일어납니다. 이거야 당연히 Windows Media Player가 없어서 그런것인데 지금와서 wine에 설치하고 삽질할거 생각하면 그냥 다른 방법 쓰는게 낫습니다.

 

게임이 설치된 곳\Music에 들어가면 wma 파일이 있는데 이걸 MP3로 바꿔주면 됩니다.

 

for i in *.wma; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done

 

그냥 이 명령어를 해당 폴더에서 실행하면 ffmpeg로 mp3변환을 합니다. 그래야 어느정도 정상적으로 재생이 되더군요.

물론 mp3파일로 변환하면 음악을 선택할때마다 장르를 선택하라고 합니다. 그냥 귀찮으면 그냥 기타로 설정하면 됩니다.

 

그런데 문제가 또 있습니다.

 

한창 음악을 듣고 있다보면 음악이 깨집니다.

 

그래서 어떤 분들은 그냥 음악볼륨을 0으로 맞춘다고 하더군요.

 

 

하지만... https://www.protondb.com/app/2700#5t4abvtptD

 

ProtonDB | Game Details for RollerCoaster Tycoon 3: Platinum

How well does RollerCoaster Tycoon 3: Platinum work on Linux and the Steam Deck?

www.protondb.com

여길보니 Proton GE 5.11을 이용하면 음악 문제가 없다고 합니다. 해보니 진짜 찍찍 거리는 소리가 사라졌더군요.

 

Proton GE의 설치방법은

https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.11-GE-3-MF

 

Release Proton-5.11-GE-3-MF · GloriousEggroll/proton-ge-custom

This is another stability/quality update, aiming to provide a better gameplay experience and building on top of the previous build. Fixes: -Re-enable rawinput (seems staging had it disabled in the ...

github.com

 

여기서 Proton-5.6-GE-2.tar.gz 파일을 다운로드 받고 ~/.steam/compatibilitytools.d/ 폴더로 들어갑시다. 만약 폴더가 없다면 만드시면 됩니다.

 

그리고 tar.gz 파일을 넣고 압축을 풀면 됩니다.

tar -xf Proton-5.11-GE-3-MF.tar.gz -C ~/.steam/root/compatibilitytools.d/

 

그 다음 스팀을 껐다 켜준다음

롤러코스터 타이쿤3 속성에 들어갑니다.

호환탭에서 강제로 특정 Steam플레이 호환도구 사용하기에서 Proton-5.11-GE-3-MF를 선택합니다.

이제 실행해보면 음악이 정상적으로 나옵니다.

 

===이전에는 Proton-GE-5.6을 추천했지만 키보드 입력에 문제가 있어서 5.11-GE-3-MF를 추천합니다. 이전 버전에서는 단축키가 먹히지 않는 문제가 있었습니다.

 

키보드 입력을 위해선 게임을 켠후 잠시 Alt+Tab을 눌러서 빠져나왔다가 다시 돌아오면 해결됩니다.

,

https://drive.google.com/file/d/1XdVBajgDPI5-o8xgprPqjoIPTybU0utw/view?usp=sharing

 

xubuntu-22.04.0-Chicago95-amd64.iso

 

drive.google.com

Md5 : aae881bfdfbfe8f0dc6d087e5a4eb5ff  xubuntu-22.04.0-Chicago95-amd64.iso

 

 

xfce 테마중에 Chicago95라는게 있습니다. xfce의 모습을 예전의 Windows95와 거의 흡사하게 바꿔주는 프로젝트입니다. 모르는 사람이 보면 Windows95라고 해도 믿을 수 있게끔 만들어 놓았습니다.

https://github.com/grassmunk/Chicago95

 

GitHub - grassmunk/Chicago95: A rendition of everyone's favorite 1995 Microsoft operating system for Linux.

A rendition of everyone's favorite 1995 Microsoft operating system for Linux. - GitHub - grassmunk/Chicago95: A rendition of everyone's favorite 1995 Microsoft operating system for Linux.

github.com

저는 이렇게까지 똑같은 모습보다는 그냥 적당히 비슷한 수준을 원했습니다. 그래서 창모양과 전체적인 분위기만 레트로한 느낌을 내봤습니다. 그래서 Chicago95에서 제공하는 모든 리소스를 쓰지않고 일부만 기본으로 적용해봤습니다.

 

(적용하는 방법은 https://moordev.tistory.com/375)

 

어떤가요? 기존 Xubuntu의 사용감을 해치지 않으면서 Win95의 추억이 있으신 분이라면 짠한 느낌이 들지 않나요?

 

다만 win95느낌이 난다는거지 Win95수준으로 크기가 작지 않습니다.

 

최소 메모리가 1GB거든요. 그리고 64비트 CPU가 필요합니다. Xubuntu 22.04를 기반으로 하고 있기에 이는 어쩔 수 없습니다.

 

 

수정사항은 다음과 같습니다.

 

Xubuntu Core 22.04를 기반으로 합니다.https://unit193.net/xubuntu/

 

Xubuntu Core

Xubuntu Core Xubuntu Core is a slimmed down version of Xubuntu that doesn’t come with many of the applications, plugins, and libraries that the default Xubuntu desktop ISOs have. It essentially onl

unit193.net

xfwm4에 Chicago95 테마를 적용했습니다.

GTK Chicago95 테마를 적용했습니다.

알림센터에 Chicago95 테마를 적용했습니다.

아이콘 테마에 Chicago95 테마를 적용했습니다.

gtk3-nocsd 를 설치했습니다. https://github.com/PCMan/gtk3-nocsd

 

GitHub - PCMan/gtk3-nocsd: A hack to disable gtk+ 3 client side decoration

A hack to disable gtk+ 3 client side decoration. Contribute to PCMan/gtk3-nocsd development by creating an account on GitHub.

github.com

가짜굴림, 가짜 맑은고딕을 설치했습니다.

한글입력기 kime를 설치했습니다. 

firefox를 snap버전 대신 mozillateam ppa에서 제공하는 것으로 바꿨습니다.

기본 라이브버전의 로케일은 한국어 입니다.

,

Ubuntu22.04가 이번에들으와서 굉장히 나빠진 것은 Snap을 어떻게든 강제로 쓰게 만든다는점입니다.

Snap이란 것이 나쁜것이 아닙니다. 기존의 APT를 쓸 수도 있고 Flatpak을 쓸수도 있고 Snap을 써도 됩니다.

 

그런데 이번 우분투는 강제로 스냅을 쓰게끔 만든다는 점이 아주 질이 나쁩니다.

 

우분투를 설치했을 때 Firefox는 Snap버전으로 들어가 있습니다.

 

그럴 수 있습니다. Snap을 관리하면 이후에도 버전별로 컴파일 할 필요가 없지요. 하지만 한글입력상의 문제로,실행속도의 문제로 기존 Snap대신 Deb을 사용한 방식을 원하시는 분들도 있을 겁니다.

 

사실 우분투 저장소에 보면 firefox가 그대로 있습니다.

그래서 기존 스냅의 파이어폭스를 지우고 apt를 사용해 설치할 수 있습니다. 그런데..

 

sudo snap remove firefox

sudo apt install firefox

 

이러면 firefox가 실행이 안 됩니다. 자그마치 snap으로 설치하라는 메시지를 띄웁니다. 알고보니 apt를 사용해서 설치한 firefox는 실제 firefox가 아닌 snap으로 연결해주는 패키지입니다. 이건 뭐...

 

하지만 기존의 방식을 쓰고 싶은 분들도 많을 것이고 대한민국 사람들은 한국어 입력문제 때문에라도 기존 방식으로 설치해야 합니다.

 

그 방법은 다음과 같습니다.

 

https://ubuntuhandbook.org/index.php/2022/04/install-firefox-deb-ubuntu-22-04/

 

How to Install Latest Firefox as classic Deb in Ubuntu 22.04 | UbuntuHandbook

Ubuntu 22.04 finally removed the .deb package for Firefox web browser from it’s repository! Here’s how to install it back. As you may know, Firefox in Ubuntu 22.04 is a Snap package that runs in sandbox. It’s easy to remove it. But when you try insta

ubuntuhandbook.org

 

우선 snap버전의 firefox를 지웁니다.

 

sudo snap firefox

 

그리고 Mozilla팀의 PPA를 등록합니다.

 

 sudo add-apt-repository ppa:mozillateam/ppa

이대로 PPA를 등록할거냐고 하는데 엔터를 누르면 등록이 됩니다.

 

이제 패키지 우선순위를 바꿔야 하는데요

다음 명령을 쳐서 텍스트 에디터를 연다음

sudo gedit /etc/apt/preferences.d/mozillateamppa

 

아래 내용을 적어줍니다.

Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

이제 모든 firefox관련 패키지는 기존 우분투 저장소가 아닌 mozillateam의 PPA가 우선순위를 가지게 됩니다.

 

sudo apt update

sudo apt install firefox

 

이제 apt 버전의 firefox로 바뀌었습니다.

,

ubuntu 커스텀 오랜만이네요. 이번에는 Xubuntu에 Chicago95테마를 기본으로 설정해보고자 합니다.

 

우선 cubic을 설치합니다.

sudo add-apt-repository ppa:cubic-wizard/release
sudo apt update

sudo apt install cubic

 

이걸로 우분투를 커스텀을 할 수 있습니다!

우선 아래에 커스텀 작업을 할 폴더를 선택해주세요. 그 다음 위에 Next 버튼을 클릭

여기서 버전이랑 파일이름이랑 기타등등을 마음대로 설정해봅시다. 이 부분을 설정함으로서 아에 다른 문구로 바꿀 수 있게 됩니다.

이제 재미없는... 화면이 나왔는데 여기서

nano /etc/apt/sources.list

 

여기는 이제 잘 아실거라고 생각합니다만 업데이트 서버 바꾸는 중입니다. 커스텀을 위해 패키지를 설치할 건데 이왕이면 빠른 서버로 설정해야지요.

 

deb http://mirror.kakao.com/ubuntu jammy main restricted universe multiverse

 

위 주소로 바꿔봅시다. 그리고

sudo apt update

 

이제 본격적으로 한국어 폰트 설치와 테마 설치를 해봅시다

 

apt install unzip

apt install fonts-noto-cjk gtk3-nocsd im-config

apt install qt5-style-plugins

 

dpkg-reconfigure locales

 

여기서 아래로 쭉 내려가서 ko_KR.UTF-8을 선택합니다. 스페이스바 누르면 앞에 *이 붙습니다. 그리고 탭키를 눌러 OK를 선택하고 엔터

그리고 여기서 ko_KR.UTF-8을 선택하고 다시 OK

 

이제 키보드 설정

nano /etc/default/keyboard

 

XKBMODEL="pc105"
XKBLAYOUT="kr"
XKBVARIANT="kr104"
XKBOPTIONS=""
BACKSPACE="guess"

이렇게 적어주면 한국어 설정 끝

 

사실 여기서 한글 입력기를 해주시면 됩니다. 저는 kime를 설정했습니다. 우분투22.04는

https://github.com/MoorDev/kime/releases

 

Releases · MoorDev/kime

Korean IME. Contribute to MoorDev/kime development by creating an account on GitHub.

github.com

여기서 deb을 다운로드 받아서 설치합니다.

wget https://github.com/MoorDev/kime/releases/download/untagged-58033854b6833b0d693f/kime_amd64_ubuntu_22.04.deb

dpkg -i kime_amd64_ubuntu_22.04.deb

 

그리고 im-config -c

마지막에서 kime를 선택하고 OK해주시면 기본 입력기로 kime가 선택됩니다.

이걸로 한국어가 기본이며 kime입력기를 기본으로 쓰게 됩니다.

 

이상 여기까지가 한국어 설정완료

 

이제 Chicago95 테마를 설치해봅시다.

 

https://github.com/grassmunk/Chicago95

 

GitHub - grassmunk/Chicago95: A rendition of everyone's favorite 1995 Microsoft operating system for Linux.

A rendition of everyone's favorite 1995 Microsoft operating system for Linux. - GitHub - grassmunk/Chicago95: A rendition of everyone's favorite 1995 Microsoft operating system for Linux.

github.com

 

wget https://github.com/grassmunk/Chicago95/archive/refs/heads/master.zip

unzip master.zip

 

cp -r Chicago95-master/Theme/Chicago95 /usr/share/themes/
cp -r Chicago95-master/Icons/* /usr/share/icons/
cp -r Chicago95-master/Cursor/* /usr/share/icons

 

이제 설치는 끝났고 설정만 하면 됩니다.

 

nano /etc/xdg/xdg-xubuntu/xfce4/panel/default.xml

여기서 제일 위의 position부분을 찾아봅시다.

<property name="position" type="string" value="p=8;x=400;y=583"/>

 

이렇게 적어주시면 됩니다.

이러면 xfce패널이 아래로 내려옵니다.

 

그 다음은

nano /etc/xdg/xdg-xubuntu/xfce4/whiskermenu/defaults.rc 

button-title= Start
button-icon=xubuntu-logo-menu
show-button-title=true
show-button-icon=true

 

위의 4줄을 찾아서 이렇게 고칩시다. button-icon은 icon에서 찾아서 바꿀수도 있지만 저는 Xubuntu로고를 그냥 쓰기로 했습니다.

 

nano /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<channel name="xsettings" version="1.0">
  <property name="Net" type="empty">
    <property name="ThemeName" type="string" value="Chicago95"/>
    <property name="IconThemeName" type="string" value="Chicago95"/>
    <property name="FallbackIconTheme" type="string" value="gnome"/>
  </property>
  <property name="Xft" type="empty">
    <property name="DPI" type="int" value="96"/>
    <property name="Antialias" type="int" value="1"/>
    <property name="Hinting" type="int" value="1"/>
    <property name="HintStyle" type="string" value="hintslight"/>
    <property name="RGBA" type="string" value="rgb"/>
    <property name="Lcdfilter" type="string" value="lcddefault"/>
  </property>
  <property name="Gtk" type="empty">
    <property name="CursorThemeName" type="string" value="Chicago95 Standard Cursors"/>
    <property name="CursorThemeSize" type="int" value="24"/>
    <property name="DecorationLayout" type="string" value="menu:minimize,maximize,close"/>
    <property name="FontName" type="string" value="Noto Sans 9"/>
    <property name="IconSizes" type="string" value="gtk-button=16,16"/>
    <property name="DialogsUseHeader" type="bool" value="false"/>
  </property>
</channel>

 

이렇게 3군데를 고치면 기본 테마가 Chicago95로 바뀝니다.

 

남은 것은 창관리자와 알림부분 테마 설정이네요.

 

nano /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml 

<property name="theme" type="string" value="Chicago95"/>

 

 

nano /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml 

  <property name="theme" type="string" value="Chicago95"/>
  <property name="initial-opacity" type="double" value="1.000000"/>

 

그 다음 이렇게 고치고 Next

이제 필요한걸 apt로 설치하고 그러면 됩니다.

 

추가로 lightdm 테마를 고쳐봅시다.

 

nano /usr/share/lightdm/lightdm-gtk-greeter.conf.d/30_xubuntu.conf

여기서

 

theme-name=Chicago95
icon-theme-name=Chicago95

 

이렇게 고쳐주면 됩니다.

 

 

여긴 설치후 삭제할패키지를 선택하는 부분입니다. ubiquity는 설치프로그램이므로 설치 이후에 삭제합시다.

그 다음 Next

그리고 쭉쭉쭉 Next하시면

 

이제 다시 ISO로 묶는 작업을 하게 됩니다.

 

이제 TEST해보면

 

올드스쿨 갬성으로 완성!

,

MSI 노트북에는 MSI Dragon Center 라는 프로그램을 제공합니다. 전반적인 MSI노트북의 설정을 할 수 있게 해주는 도구입니다.

 

하지만... MSI Dragon Center는 윈도우 프로그램입니다. 리눅스에는 해당사항이 없다는 것이지요. 그런데 팬속도 조절이나 LED 조절 같은 것을 리눅스에서 하고 싶었던 분들이 있었나 봅니다.

 

그래서 ISW라는 프로그램이 만들어 졌습니다.

https://github.com/FaridZelli/ISW-Modern

 

GitHub - FaridZelli/ISW-Modern: Modern fork of Ice-Sealed Wyvern, a fan control service for MSI Laptops on Linux written in Pyth

Modern fork of Ice-Sealed Wyvern, a fan control service for MSI Laptops on Linux written in Python - GitHub - FaridZelli/ISW-Modern: Modern fork of Ice-Sealed Wyvern, a fan control service for MSI ...

github.com

저 링크는 ISW-Modern이라고 되어 있는데 본래 ISW라는 프로그램이 있었으나 개발이 중단되어 Fork된 프로젝트 입니다.

 

본래는 https://github.com/YoyPa/isw 여기서 제작되고 있었지만 2019년에 중단 되었기에 ISW-Modern이라고 이름이 된 것이지요. ISW라는 이름도 특이합니다.

그냥 MSI를 거꾸로 적은 것입니다. 그래놓고 대충 이름을 끼워맞춘 것이지요. (Ice-Sealed Wybern 이라고 하는데...얼음으로 둘러싼 와이번...?)

 

설치도 우분투는 간단합니다.

https://github.com/FaridZelli/ISW-Modern/releases

 

Releases · FaridZelli/ISW-Modern

Modern fork of Ice-Sealed Wyvern, a fan control service for MSI Laptops on Linux written in Python - FaridZelli/ISW-Modern

github.com

그냥 여기서 deb 다운로드 받아 설치하면 됩니다. 그리고 컨트롤은 터미널에서 합니다.

 

팬컨트롤을 하기 위해서 이것저것 작업이 필요합니다만 저는 단순히 Cooler Boost 기능만을 쓰려고 합니다. 게이밍 노트북 특성상 소음보다는 냉각이 더 중요하거든요.

 

sudo isw -b on

 

이 명령이면 Cooler Boost 명령이 들어가면서 팬이 최고 속도로 돌아가게 됩니다. 게임할때 매우 좋습니다. 

특히 Nvidia칩셋의 온도센서가 이상하리만큼 잡히지 않는데 그냥 게임 돌리기 전에 이 명령 먹이고 돌리면 만사가 편해집니다.

 

끌때는 

 

sudo isw -b off

 

이외에도 Profile기능과 LED 기능이 있지만 제 노트북은 LED 기능이 단순한 녀석이다보니 먹히지 않는군요.

 

아 참고로 Secure Boot는 해제해주셔야 해당 프로그램이 먹힙니다. 보통 리눅스를 설치한다면 해제하는게 일반적이지만 가끔 해제 안하고 쓰시는 분들이 많아서 미리 말씀드립니다.

 

P.S Cooler Boost를 켜니까 무슨 비행기 이륙하는 소리가 나네요..어우...

,

리눅스에서 스팀게임 글 올린지 얼마나 됐다고 바로 특정 게임 삽질기를 하나 더 올립니다. 이쪽은 생각지도 못한 일이 일어났습니다.
https://www.youtube.com/watch?v=5o4h4bbk4yw


자그마치 스팀덱에서 DJMAX Respect V 가 실행된다는 것입니다. 그동안 XineCode때문에 실행이 안 됐었는데 Xinecode측에서 수정한건지 아니면 네오위즈에서 수정한것인지 스템덱에서 윈도우 설치 없이 잘 된다고 합니다.

그렇다면 일반 리눅스 PC에서도 잘 되지 않을까 싶은데.... 한번 테스트 해봤습니다.

...결론부터 말씀드리자면 2022년 6월 현재 그냥 Proton으로는 실행이 안 되고 GE-proton이라는 커스텀 버전의 Proton을 설치해야 실행이 잘 됩니다.

GE-proton의 설치방법은
https://github.com/GloriousEggroll/proton-ge-custom/releases

 

Releases · GloriousEggroll/proton-ge-custom

Compatibility tool for Steam Play based on Wine and additional components - GloriousEggroll/proton-ge-custom

github.com

여기서 GE-proton의 tar.gz파일을 다운받습니다. 이쪽은 업데이트가 잦으므로 최신판일 수록 좋습니다.

그리고 우분투를 비롯한 리눅스에서 숨김파일을 보이게 합니다. 단축키는 보통 Ctrl+H 입니다.
그리고 .steam 폴더를 찾아 들어갑니다. (스팀이 설치 되어 있을 때 설치가 안 되어 있다면 한번 설치하고 로그인까지 해두시면 됩니다.)

compatibilitytools.d 라는 폴더를 만들거나 이미 있다면 해당 폴더로 들어갑니다.

그리고 여기에 아까 다운로드 받은 GE-proton의 압축을 풉니다.

그러면 compatibilitytools.d/GE-proton-X-XX 형태의 폴더가 만들어 질 것입니다. 그리고 스팀을 다시 껐다가 켭니다. 정 모르겠으면 그냥 컴퓨터를 껐다 켭시다

그리고 스팀을 켜고 라이브러리에서

DJMAX RESPECT V의 오른쪽 버튼을 눌러 속성에 들어갑니다.

그리고 호환탭에 들어가면 강제로 Steam 플레이 호환도구 사용하기를 체크하시면 GE-Proton을 선택할 수 있게됩니다.

이제 DJMAX를 실행하면 깨끗하게 실행이 됩니다!!!!

스팀덱이후로 리눅스 게이밍이 상당히 좋아지네요...

22.07.25
Proton-GE를 굳이 설치하지말고 스팀에서 Proton 7.0이상을 쓰면 아무 문제없이 실행됩니다.

이제 더 이상의 삽질은 없습니다. 그냥 DJmax를 설치하고 실행버튼만 누르면 끝입니다.

 

====22.09.21========

 

성능이슈가 있어서 이리저리 돌려보다가 알아냈습니다. 조금이라도 성능을 뽑아내기 위한 설정법입니다.

 

우선 스팀에서 DJMAX RESPECT V에 속성으로 들어갑니다.

그리고 시작옵션에 다음과 같이 적습니다.

 

DXVK_FRAME_RATE=60 %command% -force-d3d12 

 

이렇게 하면 48프레임 나오던것이 52프레임정도로 조금 상승합니다. 이 성능문제는 안티치트가 문제라고 하는데 안티치트를 해제할 수가 없으니 억지로 성능을 끌어올리는 방법입니다. 물론 성능이 좋다면 DXVK_FRAME_RATE를 조정해주셔도 됩니다. 게임내에 프레임고정기능이 있지만 사실상 정상적으로 작동하지 않아서 사용하는 방법입니다.

 

23. 7. 16 성능이슈가 해결되었습니다

원인은 정확히 모르지만 NTUserDisplayConfig 함수가 문제였습니다

기존에는 User32에 함수를 했는데 User32가 아닌 win32u에 들어있는 함수를 사용해야 정상적으로 된다는군요.

 

https://github.com/ishitatsuyuki

 

ishitatsuyuki - Overview

Low level plumber & diver. ishitatsuyuki has 159 repositories available. Follow their code on GitHub.

github.com

이분이 해결해 주셨습니다. 일본인 같은데 드라이버레벨에서 이걸 잡아주셨네요

https://gitlab.winehq.org/wine/wine/-/merge_requests/2957

 

win32u: Move QueryDisplayConfig from user32. (!2957) · Merge requests · wine / wine · GitLab

This allows access to the in-process cached monitor list and reduces the number of registry calls issued for QueryDisplayConfig (in case of no change) from 4 x monitors...

gitlab.winehq.org

해당 Wine 패치입니다. Wine8.0에서 적용이 가능하며 그에 따라 Steam의 Proton 8.0에서도 적용이 가능합니다

 

 

https://drive.google.com/file/d/1XCMXRoN2mZVY8YSIZ_KWprZM6IS77s02/view?usp=sharing

 

ge-proton-8-djmax.tar.gz

 

drive.google.com

그래서 GE-Proton에 해당 패치를 적용해서 배포합니다. 

다만 glibc의 버전이 2.37이상에서 작동될겁니다. (제가 사용하는 환경(Debian unstable)에서 컴파일 하다보니 그렇게 됐습니다.) 일단 위의 방법대로 compatibilitytools.d 폴더에 압축을 푸는 방식으로 설치하시고 강제로 호환성 체크를 해주세요.

 

아마도 해당 패치가 머지가 될것으로 보이니 이후에 정식 업데이트된 후에는 정상적인 게임이 가능할 겁니다.

,

스팀은 Proton이라는 윈도우 호환레이어를 제공하고 있어서 리눅스에서도 쉽게 윈도우 전용 게임을 실행 할 수 있습니다. 그리고 문제가 되었던 안티치트도 유명한 Battleye나 EAC에 한해서 지원이 되고 있습니다. 

 

하지만 역시 Proton도 Wine이기에 Wine처럼 삽질이 필요합니다.

 

특정 게임의 경우 일부 옵션을 건들거나 특정 버전을 사용해야 하는 경우가 많습니다. 대부분은 ProtonDB(https://www.protondb.com/)를 검색하면 다 나옵니다만 영어가 안 되시는 분들이나 삽질이 이해가 안 되시는 분들이 있다보니 몇몇 게임에 한해서 제가 했던 것을 공유합니다.

 

1. Muse Dash

특이하게도 구버전의 Proton을 써야만 제대로 돌아가는 게임입니다. Unity엔진들은 대부분 최신 버전에서 더 잘돌아가는데 이쪽은 좀 다르더군요.

스팀 라이브러리에서 Muse Dash의 속성으로 들어가자

스팀 라이브러리에서 Muse Dash의 오른쪽 버튼을 눌러서 속성으로 들어갑니다.

호환탭에서 강제로 특정 Steam 플레이 호환도구 사용하기를 누르고 Proton 6.3을 선택하시면 Proton 6.3이 다운로드 되면서 Muse Dash가 정상적으로 실행이 됩니다. 아마도 Wine의 특성상 일부 API의 기능이 바뀌면서 잘 되던것이 안 되는 일이 생긴 것 같습니다.

 

2. Mirror2 : Project-X

Mirror는 신사의 게임입니다만 Mirror2는 그래픽이 좋은 그냥 평범한 퍼즐게임입니다. 이쪽은 별도의 런처 프로그램을 사용하는데 해당 런처가 문제를 일으키는 경우입니다. 정작 게임을 따로 실행 시키면 아무 문제없이 잘 실행됩니다. 그래서 런처 대신 게임을 직접 실행하도록 수정하는 방법입니다.

 

똑같이 오른쪽 버튼을 눌러 속성에 들어갑니다.

이번에는 일반 탭에서 시작옵션을 적어줍니다.

 

eval $(echo "%command%" | sed "s|Launcher\/Mirror2.ProjectX.Launcher.exe|ProjectX\/Mirror2\/Binaries\/Win64\/Mirror2_X-Win64-Shipping.exe|")

 

위의 텍스트를 복사해서 싹 넣어주시면 됩니다. 그러면 게임이 난데없이 대만 중국어로 나오게 되는데 오른쪽 위의 톱니바퀴를 누르고 

제일 아래의 것을 누르면 한국어가 보입니다. 위의 스크린샷을 잘 보세요.

 

3. Halo : Master Chief Collection

이건 그냥 안티치트 문제입니다. EAC가 분명 지원된다고 했지만 무슨 이유인지 안티치트가 정상 작동하지 않고 있습니다. 따라서 플레이 버튼을 누르고 나오는 창에서

Anti-Cheat Disabled를 선택해서 안티치트가 동작하지 않도록 해야 실행됩니다. 물론 온라인 매치는 불가능해집니다.

 

4. 그섬(Island : Into the Mist)

한국에서 만든 어드벤처 게임입니다. 그런데 D3D11를 Vulkan으로 바꾸는데 문제가 있는 듯 합니다. 이건 Vulkan대신 OpenGL로 실행되도록 하면 됩니다.

 

역시 오른쪽 버튼을 눌러서 속성에 들어간 다음 

일반탭에서 시작옵션에 다음과 같이 적습니다.

 

PROTON_USE_WINED3D11=1  thread_submit=true %command%

 

어차피 2D 게임이라 OpenGL로 돌려도 크게 티가 안 납니다.

 

 

스팀덱의 출시 이후 수많은 제보와 글이 올라왔습니다. 그리고 많은 해결방법이 생겨났고 Proton의 개발에도 박차를 가하고 있습니다. 언젠가는 이런 옵션을 수정 하지 않고도 멀쩡히 실행되는 경우가 오겠지요?

,

안드로이드는 분명 리눅스 기반 맞습니다.

그리고 안드로이드와 리눅스는 분명 호환되는 부분이 많습니다. 그렇기에 Termux(https://termux.com/) 같은 앱도 존재합니다.

 

하지만 새삼스럽게도 리눅스에서 안드로이드 모바일 게임을 위한 앱플레이어는 마땅한게 없다는 이야기를 많이 들었습니다.

사실 당연하다면 당연한건데 리눅스에서 게임을 별로 잘 안 하거든요. 앱플레이어 같은거 만드는 곳이 주로 중국인데 중국에서 제대로 만들리가... (소위 채굴이 숨어있다던지 많은 일들이 있었습니다.)

 

아주 없지는 않았습니다. Genymotion이 꽤 괜찮은 그래픽 가속을 보여주는 안드로이드 가상머신이었으니까요. (https://www.genymotion.com/)지금도 상당히 괜찮고 꽤나 편리한 모습을 보여줍니다.

그런데 OpenGL의 버전은 계속 올라가는데 Genymotion의 OpenGL지원은 딱 OpenGL ES2.0까지인것 같습니다.

최신 게임에서는 텍스처가 많이 깨지더군요. (제 옵티머스 시스템 문제일수도 있습니다.)

 

사실 윈도우에서도 그렇지만 앱플레이어라는게 별게 아닙니다.

그냥 Android-x86(https://www.android-x86.org/)을 기반으로 x86, amd64 CPU에서 ARM혹은 AARCH64를 호환하는 libhoudini를 가상머신에 설치해서 돌아가게 만든 것에 불과합니다. 그리고 이러한 가상머신은 VMware, Virtualbox, Qemu등이 있지요.

 

그래서 처음에는 VMware를 써봤는데 그래픽가속이 되는데 역시 OpenGL ES 2.0이 한계였습니다. 옛날게임은 문제가 없지만 요즘 게임은 OpenGL ES 3.0을 넘어서 Vulkan으로 나오니 대응이 안 되는 겁니다.

 

Virtualbox는 그냥 화면이 안 뜹니다. 3D 가속을 넣으면 화면이 안 뜨는것으로 봐서 Virtualbox의 가상 그래픽카드는 지원이 안 되는 것 같습니다.

 

남은건... Qemu하나네요.

정확히 말하자면 Qemu/KVM입니다. KVM이라는게 커널기반 가상화라는건데 이거 하나만 써도 왠만한 리눅스 기반 가상화는 다 해먹을 수 있습니다. 그리고 레드햇의 전폭적인 지지를 지원을 받고 있기에 요즘의 가상화 서버는 이걸로 돌아간다고 보시면 됩니다.

 

https://linuxhint.com/android_qemu_play_3d_games_linux/

 

How to Run Android in QEMU to Play 3D Android Games on Linux

Android-x86 is a free and open source project that aims to provide Android images for x86 systems. With new features, numerous compatibility patches and bug fixes over Android Open Source Project, Android-x86 is the most robust solution currently available

linuxhint.com

최근에 발견한 것인데 QEMU와 KVM으로 안드로이드의 3D 게임을 돌리는 튜토리얼입니다.

 

대충 요약하면 우선 KVM이 지원 되는지 확인

egrep -c '(vmx|svm)' /proc/cpuinfo

여기서 0이 아닌 다른 숫자만 나오면 됩니다.

 

QEMU 및 KVM 설치 

sudo apt install qemu qemu-kvm
sudo adduser `id -un` kvm

그리고 안드로이드가 설치될 이미지 만들기

qemu-img create -f qcow2 androidx86_hda.img 64G

저는 넉넉하게 64GB를 넣었습니다. 요즘 폰은 1TB 넘어가는 세상이라 64GB는 작은편이지요.

그리고 Android-x86 iso이미지를 다운로드

https://www.android-x86.org/download.html

 

Download | Android-x86

 

www.android-x86.org

그건 알아서 여기서 버전 맞추어 알아서 잘 해주시면 됩니다.

그 다음 iso파일과 위에서 만든 img 파일을 같은 곳에 넣어주고 다음 명령을 실행합니다. 

qemu-system-x86_64 \
-enable-kvm \
-m 2048 \
-smp 2 \
-cpu host \
-soundhw es1370 \
-device virtio-mouse-pci -device virtio-keyboard-pci \
-serial mon:stdio \
-boot menu=on \
-net nic \
-net user,hostfwd=tcp::5555-:5555 \
-device virtio-vga,virgl=on \
-display gtk,gl=on \
-hda androidx86_hda.img \
-cdrom android-x86_64-8.1-r3.iso

아래의 iso파일은 다운로드 받은 파일 이름에 맞추어 바꿔주셔야 합니다.

 

그러면 짠하고 QEMU가 실행되면서 안드로이드가 설치화면이 뜹니다.

처음 설치하시는 분은 감이 안 잡히실텐데 Installation 눌러주시고 Create/Modify 눌러주시고 N 눌러주시고 엔터,엔터 W 누르고 yes 순으로 해주시면 됩니다. 그리고 설치가 끝나면 Reboot

 

그 다음에는 안드로이드 폰 쓰시던 그 느낌으로 쓰시면 됩니다.

 

이제 다음부터는

qemu-system-x86_64 \
-enable-kvm \
-m 2048 \
-smp 2 \
-cpu host \
-soundhw es1370 \
-device virtio-mouse-pci -device virtio-keyboard-pci \
-serial mon:stdio \
-boot menu=on \
-net nic \
-net user,hostfwd=tcp::5555-:5555 \
-device virtio-vga,virgl=on \
-display gtk,gl=on \
-hda androidx86_hda.img \

이렇게 마지막 줄을 제외한 나머지를 사용하시면 되는데...

 

복잡하죠?

그래서 그냥 이미지와 스크립트를 만들었습니다.

 

 

 

 

https://mega.nz/file/yEUBWQBI#DLBYSNGAAZ6m8AaNOv-J_WOXE4QOC5kTdVHdNI8C4Bs

 

 

1.03 GB file on MEGA

 

mega.nz

 

위 파일을 다운 받아 압축을 풀면

tar.gz파일은 압축파일이니 넘어가고 이렇게 3개의 파일이 나옵니다.

데비안, 우분투 용으로 설명합니다.

우선 qemu_install.sh파일을 실행(터미널에서 실행하세요. 관리자 권한이 필요합니다.)해서 qemu와 kvm을 설치하고 그 다음에 run.sh를 실행하면 그냥 세팅이 완료된 안드로이드가 짠하고 나옵니다.

qemu에서 안드로이드 부팅

만약 아무 화면이 안 뜨신다면 혹시 옵티머스는 아닌지 확인 부탁드리면서 옵티머스를 꺼주시면 됩니다.

Nvidia X server Setting 에서 PRIME Profile을 on-demand로 해주시면 됩니다. 그리고 필요할때마다 가속은 https://moordev.tistory.com/355

 

우분투에서의 Nvidia Optimus

Nvidia Optimus란 기술은 노트북과 같은 모바일 기기에서 배터리를 효율적으로 쓰기 위해 만들어진 기술입니다. 인터넷같이 가벼운 작업은 성능낮은 내장 그래픽으로 돌리고 게임같은 그래픽카드

moordev.tistory.com

여기를 참고

 

이제 그냥 쓰시면 됩니다. Play스토어에 구글로그인을 하고 앱을 설치하시면 됩니다. ARM Traslator도 설치가 되어 있어서 그냥 실행이 될겁니다.

 

흔한 안드로이드 태블릿의 화면 그대로

만약 인터넷이 안 된다면 와이파이 설정에서 VirtWifi 연결해주시면 됩니다. 다만 마우스가 문제가 될겁니다. Ctrl+Alt+G를 누르면 가상머신에 잡힌 마우스가 호스트로 나오게 됩니다. 

 

혹시나 하고 요즘 핫한 게임인

요거 돌려봤는데 아주 잘 되는군요. OpenGL ES 3.0이 되니까 어느정도 커버가 되는것 같습니다.

 

어쨌건 안드로이드 앱플레이어로 상당히 쓸만하지 않나요? 만약 리셋하고 싶다면 압축을 풀어서 img 파일을 덮어버리면 됩니다.

,

Nvidia Optimus란 기술은 노트북과 같은 모바일 기기에서 배터리를 효율적으로 쓰기 위해 만들어진 기술입니다.

인터넷같이 가벼운 작업은 성능낮은 내장 그래픽으로 돌리고 게임같은 그래픽카드 팍팍 돌리는 프로그램에서는 자사의 Nvidia그래픽카드를 이용해 돌리는 기술입니다.

 

이렇게 하면 필요할때만 고성능을 요하게 되고 꽤나 이상적인 노트북 환경이 됩니다만...

 

현실은 그리 녹록치 않았습니다.

윈도우에서도 옵티머스 기술로 인해 버벅임이 심해졌다는 평이 잦고 MS, 인텔, Nvidia 어느누구 하나 손발이 맞지 않는 모습이 보이면서 진짜 고성능을 요하는 사람은 옵티머스가 적용되지 않은 노트북을 찾습니다.

 

문제는...리눅스에서도 만만치 않은 문제를 일으킨다는 겁니다. 불행인지 다행인지 근 10년이 넘는 기간이 지나면서 많이 해결되어 왔지만 리눅스에서의 옵티머스는 그냥 기본옵션이 Performance모드 즉, 윈도에서 고성능전용 모드가 기본값입니다. 얘네도 실제 옵티머스 동작이 그렇게 썩 좋지 않다는 것을 알고 있는 겁니다.

 

그리고 이 옵티머스 동작이 바로 리누즈 토발즈 형님이 Nvidia에게 뻑유!!를 날리게 된 결정적인 이유였습니다.

https://www.phoronix.com/scan.php?page=news_item&px=MTEyMTc

 

Linus Torvalds Calls NVIDIA The Worst Company Ever - Phoronix

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, gra

www.phoronix.com

정확히 말하면 누군가가 리눅스에서 옵티머스가 고통스럽다고 질문했고 이에 대한 토발즈의 답변이 바로 이거였습니다.

그런데 또 생각해보면 Nvidia만한 안정적인 드라이버를 만드는 곳도 드물다는걸 생각해보면...

 

어쨌건 이런 상황을 보던 캐노니컬도 눈뜨고 보고 있지만은 않았고 Prime이라는 기술을 만들어냅니다. (둘이 합치면 옵티머스 프라임 - 트랜스포머에 나오는 그 로봇이지요.) 일반 커뮤니티에서는 VirtualGL기술을 사용한 Bumblebee (네, 마찬가지로 트랜스포머에 나오는 범블비 맞습니다.)라는 것으로 대체 했습니다.

 

지금은 Bumblebee는 사실상 도태된 상황이고 Nvidia드라이버를 설치하면 PRIME을 기본적으로 사용하는데 기본 모드가 Performance 모드입니다. 사실상 옵티머스 동작이 아닙니다. 그냥 모든 순간 Nvidia카드 가속입니다.

 

nvidia-config을 실행해서 PRIME Profile을 보면 3가지 모드가 있는데 Intel은 비싼 노트북 사서 돌릴 사람은 아무도 없을 것 같고 Nvidia On-Demand와 Nvidia(Performance Mode) 둘중 하나가 가장 이상적인 환경인 것이지요.

 

그중 가장 이상적인 환경은 Nvidia On-Demand입니다만... Vulkan이나 OpenGL환경이 들어가면 자연스럽게 Nvidia카드로 가속을 하는 모드입니다.

그런데...

윈도우때도 그렇지만 이게 자연스럽게 안 넘어갑니다.

윈도우도 https://coolenjoy.net/bbs/37/143437?sca=%EA%B7%B8%EB%9E%98%ED%94%BD%EC%B9%B4%EB%93%9C&page=5

 

쿨엔조이,쿨앤조이 coolenjoy, cooln, 쿨엔, 검은동네

pc,컴퓨터, 하드웨어,CPU오버클럭,VGA쿨러,오버클럭,PC튜닝,케이스튜닝,cpu,vga

coolenjoy.net

이런일이 비일비재 하는데 리눅스라고 정상적일리가...

 

노트북을 위해 On-Demand모드로 만들고 Blender를 실행해보니..

Xorg만 가속이 되고 Blender는 내장으로 돌아가는 모습이 보입니다.

Nvidia카드 사용량을 보는건 nvidia-smi를 실행해보면 알 수 있습니다.

 

Blender쯤 되면 알아서 넘어가야하는거 아닌가 싶은데 nvidia-config에도 무언가 프로파일 설정을 해서 넘기는게 있겠거니 했는데..

뭔가 되게 복잡합니다.procname을 적고 그에 따라 프로파일을 맞춰서 돌아가게 한다는건 좋은 생각인데 그래픽카드 쓰는 프로그램이 어디 한둘이어야죠. 그냥 메뉴에 붙은 바로가기를 수정해서 스크립트로 처리하면 안 될까 싶더군요. 예전에 Bumblebee때는 opti-run이라는 것으로 처리했었는데 이런 것처럼 말이죠.

 

https://askubuntu.com/questions/1237658/nvidia-on-demand-run-specific-applications-on-dgpu

 

NVIDIA On-Demand: run specific applications on dGPU

I enabled the new "NVIDIA On-Demand" option in the NVIDIA X Server Settings. Now everything uses the iGPU by default, which should be better for battery life (at least, that's what I'm hoping for)....

askubuntu.com

있네요...

 

export 명령을 사용해서 PRIME설정을 그때만 바꾸는 방식입니다. 전역 설정이 아니라 그 세션에서만 돌아가니까 바로가기 명령에 저걸 새겨넣기만 해도 충분합니다.

 

다만 명령줄이 조금 깁니다.

그래서...

 

nvidia-run.tar.gz
0.00MB

스크립트를 하나 만들었습니다. nvidia-run 이라는 스크립트인데 위 첨부파일을 다운로드 받아 압축을 풀어서 나온 스크립트를 /bin 혹은 /usr/bin에 넣어두고 NVidia On-Demand 상태에서 고성능이 필요할때마다 opti-run때처럼

 

nvidia-run 사용할 프로그램

 

이런식으로 사용하면 됩니다.

 

예를 들면..

스팀을 Nvidia 카드 없이 그냥 실행하면

이렇게 nvidia-smi에 아무것도 안 뜨지만

 

nvidia-run steam 이라고 실행하면

이렇게 뜹니다. 즉, Nvidia카드를 쓰는 것이지요.

 

이렇게 고성능이 필요한 프로그램이 있다면 메뉴편집기를 사용해서

Menulibre. 내가 가장 편하게 쓰는 메뉴 편집기이다.

이렇게 명령부분 앞에 nvidia-run 을 적는 것으로 고성능모드를 쓰게 됩니다. PlayonLinux나 Steam 같이 게임같이 고성능을 요구할 경우에는 nvidia-run을 붙여주면 끝이 납니다. (딱 opti-run 사용방법 그대로라고 생각하면 됩니다.)

 

어차피 명령줄로 실행하는 경우는 GUI에선 드무니까 이런식으로 쓸 수 있다면 엄청 편리하겠지요! 귀찮기는 하지만 이게 진짜 Optimus 기능이 아닐까 싶습니다.

 

 

P.S 사실 이렇게 쓰게된 계기가 가상머신에서 GPU가속쪽에 문제가 생겨서 보니 옵티머스 문제였고 가상머신에서 옵티머스를 끄니까 아주 잘 돌아가더군요. 그렇다고 아주 끄니 3D가 너무 느리고요. 중간인 On-Demand를 켜고 이런식으로 쓰니까 시스템이 상당히 안정적이게 되어서 그냥 이렇게 쓰기로 했습니다.

,

Virtualbox는 가상머신 프로그램이고 여기저기에서 많이 쓰이고 있습니다.

하지만 리눅스에서 많이 쓰이는 용도는 윈도우용 프로그램을 가상머신 위에서 실행하는 용도입니다.

 

그래서 저도 제가 자주 쓰는 프로그램(대부분 CAD류의 설계프로그램)을 Virtualbox위에서 구동시켜서 사용합니다.

 

이번에 시스템 업그레이드를 하면서 기존 Home 파티션을 그대로 가져오는 방식을 사용하면서 VirtualBox의 이미지 및 머신 설정도 함께 가져왔습니다. 

 

그런데 이전에는 AMD시스템이었고 이번에 Intel시스템으로 바꾸면서 문제가 생겼습니다.

 

기존에 저장된 머신이 X86_CPUID_AMD_FEATURE_EDX_AXMMX 오류를 내면서 시스템이 돌아오지 않는 것입니다.

호스트가 AMD에서 Intel로 바뀌었다고 가상머신이 오류가 난다

저는 빠른 윈도우 시스템을 가져오기위해 저장기능을 자주 사용했는데 이게 도리어 문제를 일으킨겁니다.

 

그래서 방법을 찾아보니 저장된 상태가 아니라 시스템이 꺼진 상태로 만든 뒤에 실행하면 문제가 없다고 합니다.

 

Win7x64 머신이 현재 저장된 상태로 되어 있다. 그리고 이로인해 문제가 생기는 중

방법은 그냥 터미널에서

VBoxManage discardstate "머신이름"

이렇게 하면 된다고 합니다.

https://stackoverflow.com/questions/46775652/cannot-resume-saved-virtualbox-state

 

Cannot resume saved Virtualbox state

I get the following error after upgrading via Migration Assistant my laptop from a 2-core to a 4-core processor: cpum#1: X86_CPUID_FEATURE_ECX_MOVBE is not supported by the host but has already

stackoverflow.com

간단하네요.

 

XP머신은 이미 꺼짐상태로 만들었고 Win7x64머신도 마찬가지 작업 중

이 명령을 사용하면

이렇게 전원꺼짐 상태로 만들어지게 되고 시작을 누르면 부팅화면이 뜨면서 문제없이 실행이 됩니다.

다만 가상머신에서도 메인보드와 CPU가 바뀐것과 같은 상황이므로 무슨일이 벌어질지는 아무도 모릅니다. 특히 HAL이 없어서 메인보드 바꾸면 포맷이 당연했던 XP같은 놈이 문제입니다. 그런데 그냥 CPU만 바꾼상태로 인식된건지 문제없이 부팅됩니다.

 

그리고 스냅샷을 되돌리면 그 상태 그대로 돌아오므로 부팅이 완벽히 된 상태에서 스냅샷을 다시 찍습니다.

 

그러면 OK

Win7 무사히 부팅 완료! 그리고 바로 업무가 가능해졌다.

,