리눅스용 Steam에 Proton이 적용되어서 윈도우 게임을 지원한지 시간이 꽤 지났습니다.


물론 아직도 Proton의 존재를 모르는 사람도 있고 아직 Proton의 성능이 미덥지 못하다고 생각하시는 분도 많습니다. 그도 그럴 것이 Wine부터 모든 API를 완벽하게 지원이 되지 않거든요.


하지만 Vulkan이 지원된다는 가정하에 DirectX9이하 게임이야 Wine으로도 아무 문제 없이 구동되고 DirectX10~DirectX11은 DXVK프로젝트로 쌩쌩하게 구동이 됩니다. 문제는 몇 가지 부가 라이브러리(xact, xinput 호환 문제 등) 정도입니다.


그런데 제가 Proton이야기는 많이 했는데 정작 Proton을 활성화 하는 방법은 한번도 알려드린적이 없더근요.


사실 Proton을 활성화 하는 것은 아주 간단합니다. 이전에는 베타버전에서만 되었지만 이젠 Steam 정식 버전에서도 Proton이 지원됩니다.

리눅스용 스팀에서 왼쪽위의 Steam-설정으로 들어갑니다.


업데이트 된지 얼마 되지 않아서 번역이 되지 않은 것 같다.

그리고 Steam Play에서 Enable Steam Play for all title체크를 하고(이러면 윈도용 게임도 Linux에서 지원 되는 것으로 나옵니다.) 그리고 아래의 Use this tool instead of game-sepcfic selections from Steam에도 체크를 합니다.


그리고 Proton 버전을 선택하면 됩니다. 2018년 10월 현재 안정판은 Proton3.7-8입니다.


그러면 윈도용 게임도 리눅스용 게임에 뜨면서 플레이 버튼이 활성화가 됩니다. 아직 모든 것이 지원되는 것은 아니고 Vulkan이 활성화 되어야 하지만 일단 리눅스용 스팀에서도 게임이 다운로드가 되는 것이지요.

Steam Play로 돌아간다는 메시지가 떠있다.

하지만 Wine 시스템과 달리 Steam의 Proton은 철저하게 Wine의 라이브러리만을 이용합니다. 기존 Wine 시스템에서는 필요에 따라 winetricks나 PlayonLinux의 기능을 이용해서 MS의 라이브러리를 오버라이드해서 쓰곤 했습니다. 하지만 Proton은 그것이 직접적으로 지원되지 않지요.


하지만 Proton도 결국에는 Wine...

winetricks를 Proton에 쓸 수 있게 해주는 툴이 나왔습니다. 일명 protontricks

https://github.com/Sirmentio/protontricks


python3, winetricks를 설치하고 protontricks에서 proton쪽에 winetricks를 써서 설치할 수 있게 해줬습니다.

python3는 보통 기본적으로 설치되어 있으니 넘어가고


sudo apt install winetricks

wget https://raw.githubusercontent.com/Sirmentio/protontricks/master/protontricks && chmod +x protontricks
sudo mv protontricks /usr/bin/protontricks


이렇게 하면 protontricks를 사용할 수 있습니다.


만약 자신이 설치한 게임이 네이티브 라이브러리를 요구한다면

protontricks -s 게임이름

이걸 치면 숫자가 나옵니다.


저기 뒤에있는 숫자가 바로 APPID입니다. 그리고 필요한 라이브러리를 winetricks쓰듯이


protontricks APPID 라이브러리이름


이렇게 하면 winetricks로 라이브러리가 설치됩니다. 즉, winetricks의 커맨드를 대신 할 수 있는 것입니다. 편리하지요.


물론 아직도 winetricks로 난감한건 많습니다. 하지만 이렇게 함으로서 리눅스 게이밍이 점점 더 좋아지고 있다는건 환영할만한 일입니다. 특히 DXVK가 정말 설치하기 힘들었거든요.


이제 PlayonLinux기반보다 더 편리해졌으니 더 게임플레이가 좋아질 것입니다.

,

LibreOffice가 6.x로 업그레이드 된지 많은 시간이 흘렀습니다.


기존 LibreOffice 5.4에서 상당히 많이 변했고 MS오피스의 호환성도 개선되었습니다.

하지만 이런저런 기능이 추가되면서 이젠 너무 무거운 물건이 되어버렸습니다. 저도 어떻게든 꾹참고 쓰려고 했지만 인내심의 한계가 극에 달해버려서 도저히 못버티겠더군요.


2018년 10월 현재 LibreOffice는 6.1.x가 최신 버전이다. 그러나 너무 무거워졌다.

자바도 걷어내고 OpenGL가속도 이용하고 이런저런 방법을 동원했지만 현재 제가 사용하는 사무용 노트북에서 LibreOffice는 너무 무거운 녀석이었습니다.


너무 심각해서 구글의 오피스 슈트를 쓸 생각까지 했습니다. 실제로 크롬을 이용해서 구글 오피스 슈트를 굴리면 아주 쌩쌩하게 잘 동작했습니다.


그런데 구글의 앱은 무조건 온라인 상태여야 한다는 문제가 있고 제가 사용하는 PC의 폰트를 사용하기 어렵다는 단점이 있습니다.


그러다보니 초기 구동속도는 느렸지만 일단 작업에 들어가면 꽤 괜찮은 반응속도를 보였던 LibreOffice 5가 생각이 나더군요. 그래서 이번에는 LibreOffice6를 삭제하고 LibreOffice의 버전을 낮춰보도록 하겠습니다.


현재 LibreOffice 5.x의 최신은 5.4.7.2입니다. 아마 5.4 이후로 업그레이드는 없다고 했기 때문에 이후로도 계속 이 버전이 이용될 것입니다.


5.4.1.2의 deb 패키지는


64비트(amd64)

https://downloadarchive.documentfoundation.org/libreoffice/old/5.4.7.2/deb/x86_64/



32비트는(x86)

https://downloadarchive.documentfoundation.org/libreoffice/old/5.4.7.2/deb/x86/



이곳에서 받을 수 있고


다운로드 받아야 하는 패키지는

제일 위에 있는

LibreOffice_5.4.7.2_Linux_XXX_deb.tar.gz


이것과 중간에 있는


LibreOffice_5.4.7.2_Linux_XXX_deb_langpack_ko.tar.gz


이 두 파일을 찾아서 다운로드 받으시면 됩니다. 중간에 XXX는 시스템 환경(x86, x86_64입니다.)


그리고 기존의 LibreOffice를 삭제합니다.


우선 시냅틱 패키지 관리자를 이용해서(만약 없다면 설치합니다. sudo apt install synaptic) 


libreoffice로 시작되는 모든 패키지를 삭제합니다.

만약 LibreOffice PPA까지 등록 되었다면 해제합니다.


그리고 위에서 다운로드 받은 LibreOffice 5.4패키지를 설치합니다.


일괄 설치이기 때문에 그냥 터미널이 더 편합니다.


압축 푼 곳에서

sudo dpkg -i *.deb


그냥 이게 더 편하다..



그런데 무슨 이유인지 LibreOffice 아이콘이 등록이 되지 않았군요! 물론 로그아웃하고 돌아오면 등록 되어있습니다. 아마도 MATE 버그인 것 같습니다.


일단 터미널에서 libreoffice5.4 명령으로 멀쩡히 LibreOffice가 실행되는지 확인합시다.


으음.. 되는군요!


그리고 도구-옵션 에서

자동업데이트를 그만 두게 합시다.


이제 계속 업데이트한다고 난리 칠 일은 없을겁니다.


이상 리브레오피스 구버전으로 롤백 끝!

,
... 이건 그냥 퍼오긴 좀 그렇고 링크로 대체합니다.

http://nemonein.egloos.com/m/5256608


요약하면

ext4 포맷은 전체 파티션용량의 5%를 기본적으로 예약 용량으로 설정합니다. 만약을 대비한 저널링 등의 용도입니다. 하지만 /home 파티션이나 외장HDD의 경우에는 이러한 예약용량이 불필요하고 또 HDD의 용량 증대로 필요 이상의 용량을 사용하는 것이 사실입니다. 그래서 이를 1%로 줄이는 팁입니다.


저 같은 경우에는 home 파티션이 425GB인데 15GB남았던 용량을 30GB로 늘리는 효과를 얻었습니다.


명령은..


sudo tune2fs -m 1 /dev/sdX1 (등등)


등의 방식으로 ext4의 옵션을 조정하면 됩니다. 자세한 내용은 원본 링크를 참조해주세요.

,

굉장히 오랜만입니다.

요즘에 블로그 포스팅을 자주 안 했더니 접속자 수가 바닥을 치네요.


지금으로부터 한 달전 즈음 Steam으로 유명한 ValveSoftware에서 Proton이라는 것을 공개했습니다. SteamOS에서 Windows전용으로 나온 게임을 구동하겠다는 발상입니다.


https://github.com/ValveSoftware/Proton


실제로 Github를 통해 Proton은 개발을 진행하고 있으며 현재 Steam for Linux의 Beta신청을 통해 이를 이용할 수 있습니다.


굉장히 파격적인 것이지요. 그동안 저는 PlayonLinux를 통해서 Steam for Windows를 설치하고 각종 삽질을 통해서 구동을 했던 것을 그냥 Steam으로 처리 할 수 있게 된 겁니다.


그런데...


문제는 아직 모든 게임이 호환이 되는 것이 아니고 베타 버전이라고 할 만큼 불안정한 모습을 보인다는 것이 문제입니다.


그렇다면 이 물건의 정체는 무엇일까요?


github에 들어가보면 아시겠지만 굉장히 익숙한 라이브러리들이 보일겁니다.


제일 아래에 wine이 보이신가요?


당연히 Windows 호환 레이어인 Wine으로 API호환을 합니다. 여기에 DXVK란 것으로 D3D10~D3D11의 호환을 합니다. 이 DXVK란 놈은 무엇이냐고 하면 D3D10과 D3D11을 Vulkan으로 변환하는 라이브러리입니다.


https://github.com/doitsujin/dxvk


Vulkan은 하드웨어 직접 접근을 표방한 3차원 가속 규격으로 OpenGL의 후계자 취급을 받고 있습니다. 게임에 따라 다르지만 실제로 D3D11보다 Vulkan이 성능은 더 좋습니다. 그걸 이용하는 겁니다.


그런데 DXVK는 설치가 까다롭고 복잡하기로 유명합니다. 그래서 저도 시도를 못했습니다. 그런데 다름아닌 Steam이 그걸 쉽게 만들어버린 것입니다.


그러니까 Proton의 정체는 사실...


Wine+DXVK+각종 오픈소스 결과물들을 Steam에 적용한 결과물입니다.

지금 제가 PlayonLinux로 고생하고 있는 것을 어쩌면 Steam으로 대체해서 쓸 수 있게 될지도 모르는 것이지요. 그러면 기존 Linux용 게임과 Windows용 게임을 통합 관리 할 수 있는 것이고 궁극의 SteamOS가 탄생할 수도 있습니다.


그것은 곧 실패했다는 평가를 받는 SteamBOX의 부활이 될 수도 있는 것입니다.


지금 Proton에 대해 회의적인 반응들이 많은데 저는 굉장한 발전이라고 생각합니다. 리눅스 게임에 대해 접근성을 어마어마하게 향상을 한 엄청난 프로젝트라고 생각합니다. Steam for Linux가 만든 리눅스 게임 생태계에 또 다른 물결이 오고 있는 셈입니다. 심지어 이 프로젝트는 기존 오픈소스 프로젝트에 기여를 하고 있습니다. 과연 이들이 어떻게 될지는 모르겠지만 PC게임계의 큰손인 Valve가 프로젝트를 진행하는 이상 리눅스 기반의 게임 콘솔이 다시 오고 있을 지도 모르겠습니다.

,

Firefox나 Chrome은 초기 구동속도가 매우 느립니다. 처음에 메모리에 올려야 하기 때문인데요. HDD를 쓰는 경우 속도가 더더욱 느려서 처음에 속도가 상당히 느려서 상당히 답답함을 느끼시는 분이 많습니다.


제 시스템에서는 Firefox가 약 10초 Chrome은 40초정도의 초기 실행 성능을 지니고 있습니다. 솔직히 10초는 기다릴만하다고 생각했는데 Windows에서 IE나 Edge를 실행해보셨던 분들은 아시겠지만 얘네들은 바로바로 실행되는 모습을 볼 수 있습니다. 이유야 당연하게도 Windows에서는 미리 컴포넌트들이 메모리에 올라가 있기 때문입니다. 그래서 Chrome은 이명이 느긋한 돼지라는 별명을 지니고 있습니다. Firefox는 여우답게 날렵했지만 Chrome과의 렌더링 속도에서 져버린 이후 Chrome과 같이 초기 구동 속도가 느리지만 웹렌더링 속도를 올리는 방식을 사용합니다.


그럼 방법은 뭐가 있느나...


Chrome의 경우 처음 실행 후에는 다시 실행을 해도 금방 실행이 되는 모습을 보입니다. 왜냐하면 모든 창을 다 꺼도 백그라운드에서 숨을 죽이고 있기 때문입니다.


아래 그림과 같이 말입니다.


크롬은 한번 실행 후에 백그라운드에서 대기를 타는 방식을 사용한다.

이렇게 하면 체감 속도가 엄청 향상되는 효과를 얻습니다. 역으로 말하면 다른 브라우저들도 백그라운드에서 미리 실행을 해두면 웹브라우저를 빠르게 실행이 가능하다는 의미가 될 수 있습니다. 요즘에는 메모리관리를 열심히 해주지 않아도 충분히 사용이 가능한 시대이기 때문에 자주 쓰는 프로그램을 미리 실행해두는 것도 나쁜 생각이 아닙니다. Chrome이야 그렇다 치지만 Firefox는 메모리도 적게 먹으니까 백그라운드에 실행해 두었다고 해도 문제될 것은 없습니다.


http://hamonikr.org/board_aMBI05/52629


여기서 바람곰돌님이 초기 브라우저 속도가 너무 느리다면서 나온 이야기입니다. 그래서 제가 인터넷을 검색해서 Firefox를 백그라운드에서 실행하는 방식을 추천했지요.


https://askubuntu.com/questions/853891/how-can-i-make-firefox-run-in-the-background-like-chromium


여기에 나온방식으로 스크립트를 만들고 Firefox를 컴퓨터 실행 후에 백그라운드로 실행하니 4초만에 실행이 되면서 편하게 사용이 가능해졌다고 하시더군요.


그래서 이렇게 된 거 여기에 이 방식을 한국어로 소개하려고 합니다.


#!/usr/bin/env python3
import subprocess
import os
import signal
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import Gtk, AppIndicator3
import time

app = "firefox"
winsdir = os.path.join(os.environ["HOME"], ".config/hidden_windows")

try:
    os.mkdir(winsdir)
except FileExistsError:
    pass

def checkruns(app):
    try:
        return subprocess.check_output(["pgrep", app]).decode("utf-8").strip()
    except subprocess.CalledProcessError:
        for w in os.listdir(winsdir):
            if w.startswith(app):
                os.remove(os.path.join(winsdir, w))

def get_currentwins(pid):
    wins = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()
    return [l.split()[0] for l in wins if pid in l]

def hide_currentwins(matches):
    # open(os.path.join(winsdir, "windowlist"), "wt").write("\n".join(matches))
    for w in matches:
        open(os.path.join(winsdir, app+"_"+w), "wt")
        subprocess.Popen(["xdotool", "windowunmap", w])

def run_app(app):
    subprocess.Popen(app)
    while True:
        time.sleep(1)
        pid = checkruns(app)
        matches = get_currentwins(pid) if pid else None
        if matches:
            hide_currentwins(matches)
            break

def restore_wins():
    for w in [w for w in os.listdir(winsdir) if w.startswith(app)]:
        wid = w.split("_")[-1]
        subprocess.Popen(["xdotool", "windowmap", wid])
        os.remove(os.path.join(winsdir, w))

def toggle_app(*args):
    pid = checkruns(app)
    if pid:
        matches = get_currentwins(pid)
        if matches:
            hide_currentwins(matches)
        else:
            restore_wins()
    else:
        subprocess.Popen(app)

run_app(app)

class Indicator():
    def __init__(self):
        self.app = 'toggle_app'
        self.indicator = AppIndicator3.Indicator.new(
            self.app, app,
            AppIndicator3.IndicatorCategory.OTHER)
        self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)       
        self.indicator.set_menu(self.create_menu())

    def create_menu(self):
        self.menu = Gtk.Menu()
        item_toggle = Gtk.MenuItem('Toggle '+app)
        item_toggle.connect("activate", toggle_app)
        self.menu.append(item_toggle)
        sep1 = Gtk.SeparatorMenuItem()
        self.menu.append(sep1)
        item_quit = Gtk.MenuItem('Quit')
        item_quit.connect('activate', self.stop)
        self.menu.append(item_quit)
        self.menu.show_all()
        return self.menu

    def stop(self, source):
        Gtk.main_quit()

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()





우선 이 방식은 Firefox를 wmctrl을 이용해서 보이지 않게 뒤로 실행하는 방식입니다.

따라서 wmctrl과 xdotool이 필요합니다.


sudo apt-get install wmctrl xdotool


그 다음 python3를 이용해서 firefox를 실행한 후 wmctrl에게 프로세스 ID를 넘겨 보이지 않게 하는 것입니다. 뭐... 이건 그냥 쓰시는 분께는 어려우니까 자세한 설명은 하지 않겠습니다.


위의 스크립트를 복사해서 firefox_bg.py 라고 만들어둡시다.


물론 Python3는 당연히 있다고 생각하고 만드는 것입니다.

해당 스크립트는 만들고 싶은 곳에 만들어 두시면 됩니다.

저는 ~/.firefox_bg/ 에다가 만들었습니다.


그리고 시작프로그램에 해당 스크립트를 실행하게끔 등록합시다.

LinuxMint나 우분투에서는 시작프로그램을 설정 창을 통해 설정할 수 있습니다.


여기서 추가버튼을 누르시고


이름은 마음대로 알기 쉬운 것으로 해주시고

명령은


/bin/bash -c "sleep 5 && python3 ~/.firefox_bg/firefox_bg.py"


이렇게 해둡시다.

뒤의 ~/.firefox_bg/firefox_bg.py 는 제가 해당 위치에 스크립트를 만들어 두었기 때문입니다. 여러분들은 여러분들에게 맞는 위치를 지정해주세요.


설명 부분은 비워도 됩니다.


이제 등록이 되면... 한번 시스템을 껐다 켜 봅시다.


Firefox가 크롬처럼 미리 메모리에 올라와 있습니다. 생각보다 메모리 먹는 양은 많지 않습니다.


그리고 한 가지 더 생각해야 할 것이 있는데 의외로 우리는 웹브라우저를 제일 많이 사용한답니다. 그러니까 Firefox를 미리 메모리에 올렸다고 해도 문제될 것이 없습니다. 물론 크롬을 주로 사용하신다고 하면 Chrome을 이런 식으로 실행해두는 것도 방법입니다.

,

뿌요뿌요 테트리스...

PuyoPuyo Tetris. 2018년 현재 가장 최신판 테트리스이자 뿌요뿌요인 게임입니다. 판권을 둘 다 세가가 갖고 있어서 나올 수 있었던 희대의 콜라보레이션입니다.




현실은 고인물 게임이지만...

아무튼 이걸 Linux에서 굴릴 수 있게 Wine으로 실행해 보게습니다.


Wine을 쓰려면 역시 이 프로그램이 제격이지요. PlayonLinux입니다.


sudo apt install playonlinux


PuyoPuyo Tetris는 DirectX11을 요구하고 64비트에서 구동하는 게임입니다. 그러니까 일단 DirectX11이 되어야 하므로 Wine3.5이상에서 굴러가야 하고 PC가 64비트여야 합니다. 요즘은 다 64비트니까 보통은 굴러가겠지요. 


그럼 PlayonLinux를 실행합니다. 그리고 Wine-Staging으로 굴릴 수 있다면 그것이 더 좋을 것입니다.


도구-Wine버전 관리로 들어갑니다.



여기서 와인버전은 amd64에서 3.10-staging 정도로 해서 설치합니다. staging으로 해주면 상대적으로 성능이 더 낫더군요. dxvk라 해서 DirectX11을 Vulkan으로 변환해주는 것도 있는데 제 PC에서는 안 돌아가더군요. (Vulkan 지원이 아직 안 되는 것일지도 모릅니다.) 일단은 그냥 기본으로 합시다. 어차피 2D게임이라 크게 성능 안 잡아 먹습니다.


그리고 위에서 구성 버튼을 누릅시다.


여기서 새로만들기 버튼을 눌러서 새로운 Prefix를 만듭시다.


그 다음 마법사를 써서 아래 스크린샷과 같이 진행합시다.


당연히 64비트로 해야지요? 게임이 64비트에서 굴러가니까요.

DirectX11 지원을 위해선 3.5이상이 좋다. 여기선 3.10-staging을 선택하자.

이름은 마음대로.

이렇게 하고 필요한 것을 추가해야 합니다. 대표적인 것이 당연하게도 Steam이고 xact(xaudio2_7.dll)입니다.


그럼 그것을 PlayonLinux로 추가해봅시다.

구성에서

아까 만든 Prefix를 왼쪽에서 선택한 다음 오른쪽의 구성요소선택에서 Steam을 눌러 우선 Steam을 설치합니다. 그리고 xact를 눌러서 xaudio2_7 라이브러리를 설치해주셔야 합니다. DirectX9 2010 JUN 버전에서 DLL을 빼낸다음 따로 설치하는 방식을 씁니다.


그다음 이를 네이티브 설정해야 합니다. Wine설정에서 이를 해야합니다.

와인구성 혹은 Wine구성을 누른 다음 xaudio2_7을 적은 다음 더하기 버튼을 눌러서 설정을 합니다. 아래의 dwrite나 gameoverlayrenderer는 Steam설치 시 설정 된 것입니다.


그다음 편하게 하기 위해 바로가기를 만듭시다.



Steam.exe의 바로가기를 만들면 됩니다.



그리고 Steam을 실행하면


단! 그냥 설치 후 바로 실행하면 난감한 일이 일어납니다. Steam이 설치된 것의 ~/PlayOnLinux's virtual drives/PuyoPuyoTetris/drive_c/Program Files (x86)/Steam/steamapps/common/PuyoPuyoTetris에 들어가면 


_CommonRedist_란 폴더가 있습니다. DirectX와 기타 라이브러리가 들어있는 폴더입니다. 하지만 Wine에서는 이게 있어봐야 좋을게 없으므로(아까 PlayonLinux로 다 처리했습니다.) 이걸 삭제해 주시기 바랍니다.


이 폴더는 삭제하자.

그리고 실행하면...


약간의 시간이 흐른 뒤에 세가 로고가 나오면서 실행이 됩니다!!


리눅스에서 실행완료!!

참고로 온라인매치도 아무 문제없이 잘 됩니다.


리눅스에서 실행은 어렵지 않지만 문제는 고인물 게임인게 문제...

,

https://drive.google.com/open?id=1O5SLc6hdE6UgkTRzJIR2NSgKfjvXoO6L


MD5: 511fe57e427757adf362011468bf2ab2  linuxmint-19-mate-64bit-Moordev.iso



위 주소로 다운로드 받으시면 됩니다.


그동안 한국어 설정이 된 버전을 자주 배포했지만 저번 ubuntuMATE버전의 피드백을 받아 이번에는 수정을 최소화 했습니다.


기존 리눅스민트와 다른점은 다음과 같습니다.


1. 한국어 설정이 완료되어있습니다. 한국어 언어팩도 기본으로 설치되어있습니다.

2. 나눔폰트와 Noto폰트 그리고 스팀게임의 한글을 위해 wqy-ttf-zenhei가 설치되었습니다.

3. 한글입력기를 fcitx로 기본 설정되어있습니다.

4. ALZ, EGG압축해제를 위해 Arkzip이 설치되었습니다. 파일탐색기에서 arkzip으로 열기를 하시면 ALZ와 EGG압축을 풀 수있습니다.

5. HWP를 열기 위해 한글뷰어를 설치했습니다.

6. 결국 피드백을 받아 Firefox용 Adobe-FlashPlugin을 설치했습니다.

7. 기본으로는 빠져있는 코덱을 사전 설치했습니다.

8. Windows10테마를 추가는 하였으나 기본 설정하지는 않았습니다.

9. 사진작가 허태무님의 사진을 기본 배경으로 설정 및 추가했습니다. (https://www.instagram.com/pho_taem/)

10. Bleachbit를 설치했습니다.


11. Gabia폰트, Spoka폰트, 서울폰트를 추가했습니다.

,

이전에 리눅스에서 대문자를 모두 소문자로 바꾸는 작업을 알려드렸습니다. 이유가 바로 이 게임 때문인데 Life is Strange라는 게임입니다. Feral이란 곳에서 리눅스용으로 포팅을 했고 현재 스팀에 입점한 상태입니다. (Square Enix 게임은 요즘 리눅스용이 잘 나옵니다.)


그러나 한글패치는 역시나 윈도용 기준으로 나와 있었고 이것을 수정해야만 했습니다.

하지만 파일과 폴더명만 소문자로 바꾸면 되는 것이었기에 크게 문제는 없었습니다.


한글패치 원본은 https://blog.naver.com/kibme0325/220624344482

여기입니다. 이곳의 것을 리눅스용에 맞게 수정했습니다.


LifeisStrange통합4Linux.7z

위의 파일을 다운로드받아서

스팀 기본판 기준으로 

~/.steam/steam/steamapps/common/Life Is Strange/share/data/lifeisstrangegame


이곳으로 들어가서 덮어 주시면 한글패치가 됩니다.


정 모르겠으면

스팀에서 Life is Strange의 속성으로 들어간다음


로컬파일의 로컬 콘텐츠 폴더 보기를 누릅니다.


그리고...

share/data/lifeisstrangegame

순서로 들어가시면 됩니다.

그리고 여기에다가 위에서 압축을 한 내용물을 풀어주시면 됩니다.


그리고 실행하면

놀라지 마세요. 여긴 기본적인 게임 설정창일 뿐입니다. 조용히 Display쪽을 살짝 들어가서 손을 보시기 바랍니다. Feral에서 제작한 것이기에 아직 한글화가 안 된 것 뿐입니다. 아래의 Play버튼을 클릭


확인해보면 한글화가 잘 적용 되었습니다.


이로서 리눅스버전의 Life is Strange를 한국어로 할 수 있게 되었습니다.

,

discord 이전에 자주 사용되었던 팀보이스와 스카이프를 대신 할 수 있는 훌륭한 목소리 채팅 프로그램입니다. 음질은 팀보이스보다 훨씬 좋고 딜레이는 스카이프수준입니다. (제일 가까운 서버가 일본에 있어서 이 정도지 더 빠를 수도 있습니다.)


요즘에는 리눅스에서도 게임을 자주 하기 때문에 디스코드를 사용할 일이 많은데 우분투계열에서 Discord를 사용하는 방법을 간단하게 알려드리겠습니다.


다만, 약간 속은 기분이 들지도 몰라요.


https://discordapp.com/download

이쪽으로 접속합시다.



그러면 알아서 OS에 맞춰서 데스크톱앱을 다운로드 할 수 있게 해줍니다. 우분투에서 쉽게 설치가 가능하도록 deb으로 배포하고 있습니다. 물론 Deb이 지원 안 되는 배포판에서도 사용 가능하도록 tar.gz도 배포하고 있습니다.


deb을 다운로드 받으면 그냥 설치가 가능하겠지요. 설마 이것도 못하는 사람은 없을 것이라고 봅니다...


터미널을 사용하는 변태는

sudo dpkg -i discord*.deb


물론 그냥 마우스로 실행해서 설치하는게 제일 빠릅니다.


그리고 실행하면 그냥 별 문제없이 됩니다....


그리고 한번 로그인하라고 브라우저가 실행되는데 그냥 디스코드에 가입하고 로그인하시면 됩니다. 쉬워요.


그러면...


네 끝났습니다. 이제 그냥 쓰시면 됩니다. 나머지는 discord 사용방법만 아시면 됩니다.


그런데 이게 가능한 이유를 알면 황당하실지도 몰라요.

사실 이건 HTML5의 위엄입니다.


자세히 보시면 따로 데스크톱앱을 설치하지 않고도 웹브라우저에서 사용이 가능 한 것을 알 수 있는데 그게 HTML5를 쓰기 때문입니다. 그럼 데스크톱앱은 뭐냐... 그냥 자체 브라우저 만들어서 띄운겁니다. 끝이에요.


제가 속은거 같은 기분이 들지도 모른다고 한 이유가 이겁니다. 하지만 이게 기존 스카이프나 팀보이스보다 더 성능이 좋다는 것...


아무튼 우분투에서 디스코드를 사용 할 수 있습니다. (뭔가 정말 속은 기분이야...)

,

VirtualBox는 다들 알고 계실겁니다.

가상머신. 이 한마디면 충분하지요.

https://www.virtualbox.org/


어느새 버전이 5.2까지 나오게 된 오픈소스 가상머신 VirtualBox.


리눅스에서 Windows환경이 필요할 때 가장 마지막으로 쓸 수 있는 비장의 카드가 바로 이것이다.


그런데 VirtualBox는 반응속도는 빠르지만 IO속도에 문제가 많다보니 VMware와 비교해서 성능이 많이 까이고 있습니다. 그 중에서도 IO로 인하여 소리가 깨진다는 의견이 많습니다.


멀리 갈 것도 없이 일단 VirtualBox에 Windows를 깔고 아무 음악이나 틀어보세요. 조금 잘 나간다 싶다가도 갑자기 버벅 거리면서 깨지는 소리가 들리기 시작할 것입니다.


특히 리눅스 호스트에서 Windows를 설치할 경우 이러한 깨지는 소리가 왕창 늘어나는데 리눅스의 성능 문제가 아닌 드라이버와 오디오 서버간 레이턴시 문제가 발생해서 그렇습니다. 가끔 Windows에서 동영상을 돌려야 하는 경우가 있는데(빌어먹을 정부...) 소리가 왕창 깨지는 것을 듣다보면 귀가 썩는 느낌이 듭니다.


그런데 그게 저만 그런게 아니더군요.

https://www.virtualbox.org/ticket/15925


다들 해당 현상에 대해 고통을 호소(?)하고 있었습니다. 여기에서 Bilikumar란 분이 해결책을 알려주셨습니다.


간단하게 말해서 ALSA를 사용하고 인텔HD오디오 대신 ICH AC97을 선택하라.

그리고 가상머신에서 Realtek AC97 드라이버를 설치.

http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=23&PFid=23&Level=4&Conn=3&DownTypeID=3&GetDown=false


일단.. 그렇게 해보았습니다.


우선 가상머신 설정에서




위에 나온 것을 아래의 것으로 바꿔줍니다.

호스트 오디오 드라이버를 ALSA(시스템에 따라 PulseAudio가 더 나을 수도 있습니다.)로 오디오 컨트롤러를 ICH AC97로 바꿔줍니다.


그리고 http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=23&PFid=23&Level=4&Conn=3&DownTypeID=3&GetDown=false


여기로 들어가서...

Accept를 해준 다음.


Vista Win7용으로 나온 드라이버를 다운로드 받습니다. 물론 가상머신에서 다운로드 받아야 편합니다. 가능하면 호스트에서 다운받아 공유폴더로 넣어도 됩니다.


그리고 Windows10의 드라이버 서명을 잠시 중지해야 합니다.

참고 : https://www.howtogeek.com/167723/how-to-disable-driver-signature-verification-on-64-bit-windows-8.1-so-that-you-can-install-unsigned-drivers/


우리는 커맨드가 익숙하니까 커맨드로 하는게 좋겠지요.

시작메뉴에서 cmd를 친 다음 명령프롬프트에 오른쪽 버튼을 눌러서 관리자권한으로 실행합니다.



그 다음에 다음 명령을 줍니다.


bcdedit /set testsigning on

작업을 완료했습니다가 뜨면 오케이.


그리고 가상머신 재부팅


그 다음 드라이버 설치를 합니다.


여기에서 그냥 드라이버를 설치합니다 를 누르자.


가상머신에서 쭉쭉 설치해줍니다.

그리고 가상머신 다시 재시작


이로서 더러운 가상머신 세팅이 완료 되었습니다. (가상머신일 뿐이지만)재부팅만 대체 몇번 한 것인지 모르겠네요. 인텔HD 오디오가 아무 문제 없었으면 이 고생은 안 했을지도 모릅니다.


이걸로 상당히 버벅거리면서 깨지는 소리를 해결이 되었습니다.

,