출처 - http://sourceforge.net/projects/rebeccablackos/?source=navbar 레베카 블랙 OS라서 레베카 블랙의 뮤직비디오를 띄운 스크린샷이 올라와 있다.

이전에 저는 Wayland와 Xorg에 대한 글을 올린 적이 있었습니다.http://moordev.tistory.com/39

그런데 Wayland에 대한 글만 잔뜩 쓰고, Wayland의 스크린샷 하나 올리지 않았더군요. 그 당시 저는 Wayland를 쓰려면 Arch Linux를 이용하는 것이 가장 좋다고 했었는데 혹시나 하고 찾아보니 우분투 기반으로 nerdopolis라는 분이 만든 버전이 있었습니다. 사실 직접 Customizer로 작업하려고 소스 컴파일까지 했었는데 이 배포판을 보자마자 작업하던 것을 그냥 지워버렸습니다. 이미 Wayland를 경험할 수 있는 모든 것을 다 갖춘 배포판이어서 굳이 Arch를 설치할 이유도, 굳이 우분투를 커스터마이징 할 이유도 없었습니다. 그냥 이 배포판 하나면 Wayland가 이런 거구나~정도로 다 알 수 있습니다.


Rebecca Black 이란 이름의 정체?

그런데 이름이 좀 웃기기는 합니다. Rebecca Black이라? 이게 무슨 뜻일까 하고 검색해 봤더니 유튜브에서 (안 좋은 쪽으로) 유명한 한 여성의 이름이더군요.위의 스크린샷에 떠 있는 유튜브 영상속의 여성분이 바로 Rebecca Black입니다. 아무튼 이 Rebecca Black의 팬인 어느 한 분이 직접 만든 OS가 이 OS라고 합니다. 배경이 일부 팬심으로 만든 배포판과는 다르게 이 여성 사진으로 도배 되어 있다거나 기본 홈페이지가 뮤직비디오 유튜브채널이라던가 하는 일은 없고 오로지 이름만 RebeccaBlackOS이기 때문에 크게 부담은 없습니다.(다만 라이브 사용자 이름이 beccaholic입니다.)


현재 Wayland를 이용하는 데스크탑 환경이라 할 수 있는 것은 대략 4가지가 있습니다.

1. Weston

2. Gnome Shell

3. Enlightment wayland

4. Hawaii


Orbital이란 것도 있고 SWC란 것도 있다고는 하는데 저는 해당 데스크탑들은 구동이 안 되어서 확인 못했습니다. 메이저라 할 수 있는 KDE도 포팅 중이지만, 아직 여기에 들어가지는 못했습니다. Gnome은 Xwayland를 약간 써서 구동이 되는 수준이라고 하구요. Gnome Shell 3.14에서는 완벽히 Wayland에 포팅할 예정이라고 합니다. 왠지 기대되네요.


한번 스크린샷을 쭉 봅시다. 참고로 VirtualBox를 이용했기 때문에 KMS가 필요한 Gnome Shell이나 Enlightment는 스크린샷이 없습니다. 대신 Xorg 기반과 모습이 동일하기 때문에 따로 Wayland라고 딱히 다른 것은 없습니다.


다운로드는 http://sourceforge.net/projects/rebeccablackos/files/ 여기에서 그나마 날짜가 최신인 폴더로 들어가 iso파일을 받으시면 됩니다. 32/64 모두 지원하기 위해 32비트용으로 만들어서 배포한다고 합니다. 그 다음 iso파일을 DVD로 굽던지 아니면 Unetbootin을 이용해서 USB에 담던지 아니면 USB Image Writer로 USB에 구워주시면 됩니다.


우선 부팅화면부터 보겠습니다. (Unetbootin을 이용하시면 이 스크린샷과는 다르게 Untebootin의 화면이 나옵니다.)


제일 윗줄이 가장 일반적으로 사용할 메뉴입니다. 그냥 기본 라이브모드 진입입니다. 그 아래는 KMS를 지원하지 않는 시스템용입니다. 그러한 시스템의 대표적인 것이 VirtualBox를 들 수 있습니다. 만약 가상머신을 통해서 확인 해보시고 싶으시다면 아래의 메뉴중 원하는 해상도를 찾아 선택해주시면 됩니다. 보통 USB나 DVD를 이용하시면 제일 위의 메뉴를 이용하시는 것이 가장 좋습니다.


RBOS 이렇게 검색하니 이상한 것만 잔뜩 나온다. 검색할 때는 약어를 쓰지말고 RebeccaBlackOS라고 꼭 풀네임을 쓰자

부트 화면도 의외로 깔끔합니다.


여러모로 확 깨는 로그온 화면. 아직 정착중인 Wayland니까 이 정도는 봐주자.

우분투 기반이지만,(정확히는 쿠분투기반입니다. 기본 아이콘이 KDE입니다.) 확실히 다른 모습을 보입니다. 그런데 이거 사실 로그온 화면입니다. Wayland가 아직 GDM이나 LightDM같은 변변한 로그온화면이 없어서 이런 식으로 로그온 화면을 만들었습니다. 저는 VirtualBox를 통해 스크린샷을 찍어서 Enlightment와 Gnome Shell 세션을 사용 할 수 없습니다. USB/DVD부트 하신 분들은 Enlightment와 GnomeShell을 사용하실 수 있을겁니다.


그냥 보면 투박한 화면 같지만 Xorg가 아니라 Wayland다.

가장 기본적인 Wayland 쉘인 Weston입니다.

위의 로그온(?)화면과 비슷하지요? 위의 로그온화면도 사실 Weston에 아이콘을 줄여서 만든 화면입니다. weston을 로그온화면으로 쓰다니...기발한 생각인 것 같기도 합니다.


참고로 여기 있는 것들 KDE어플리케이션이다. Wayland로 포팅된 것이 아니라 Xwayland를 이용해서 X11용 어플리케이션을 돌리는 것이다.

Application Launcher를 실행했더니 메뉴형식이 아니라 이렇게 하나의 창에 뜨더군요. 사실 Weston이 완벽한 물건이라기 보다는 다른 데스크톱 환경을 위해서 만들어진 경향이 커서 그냥 쓰기에는 상당히 부적합합니다. 그놈이나 KDE같이 아이콘 배치도 마우스로 하는 것이 아니라 weton.ini파일을 텍스트로 수정해야 하더군요. Wayland가 정착되면 이 화면 보기 어려울 듯 합니다.


다른 것은 대충 알겠는데 Hybrid Sleep은 뭘까?

로그 아웃을 눌렀더니 뜨는 창. 역시 심플합니다. 아직은 테스트 성격이 강하니까요.


약간 안드로이드 타블렛스러운 화면 안드로이드에서 이런 런처를 만들어도 잘 될 듯 하다.

Wayland 기반 중에서 제일 기대되는 환경인 Hawaii입니다. 기존 Gnome Shell포팅이나 KDE포팅보다 이 환경이 저는 더 기다려지더군요. 아직 안정 버전조차 나오지 않은 신예지만 상당히 깔끔한 것이 기대됩니다.


일단 Wayland만의 어플은 부족해서 KDE의 어플과 gedit등의 Gnome 어플을 가져왔다.

KDE메뉴를 빌려서 쓰던 Weston보다 훨씬 깔끔한 메뉴입니다. 이 화면 사실 터치에 최적화된 UI라고 합니다. 어쩐지 타블렛스러운 화면이 그럴것 같더니 하지만 마우스로도 상당히 편하게 잘 됩니다. MauiOS에서 만들고 있는데 정말 기대됩니다.


우선 화면을 보면 상당히 깔끔한 화면들을 보실 수 있습니다. 그런데 이 Wayland가 가진 가장 중요한 키포인트가 굉장히 가볍다는 것인데요. 실제로 구동해본결과 GPU가속만 되면 상당히 쾌적한 퍼포먼스를 보여줍니다. 굼벵이 기어가는 Xorg와는 차원을 달리 합니다. X11프로그램도 Xwayland를 중간에 거치는데도 Xorg에서 돌리는 것하고 큰 차이를 보이지를 않았습니다. 우분투나 페도라 같은 큰 메이저 배포판에서 Wayland를 기본 데스크탑 환경으로 채택할 날도 멀지 않은 것 같습니다. (우분투는 Wayland가 아니라 자체 개발하는 Mir를 밀고 있기는 합니디만...) 아직 일부 프로그램 실행 시 불안정한 모습이 많이 보여서 걸리기는 하지만 이는 시간이 해결해 줄 것이라고 믿겠습니다.


Wayland를 말로만 들으셨나요? 한번 Wayland란 놈을 써보시는 것은 어떤가요? 미래를 미리 체험한다고 생각하고 한번 테스트해보시면 정말 신세계를 느끼실 수 있을 것입니다. Wayland가 메이저가 되는 날도 멀지 않은 것 같습니다.

,



 

 VS

 



간만의 포스팅이군요. 한동안 Long Live The Queen 한글패치 관련 작업 및 다른 일 떄문에 글을 전혀 올리지 못했습니다. 이제 원래 블로그 주제에 맞는 글을 다시 올려야지요. 다시 한번 말하지만 여기는 우분투/리눅스민트 사용 및 리눅스에 대한 이야기를 적는 블로그니까요. 기타 삽질 카테고리가 우분투 카테고리보다 늘어나면 블로그명 부터 갈아엎을 겁니다.


이제 서론은 그만두기로 하고, 이번 포스팅 주제를 다시 이야기 하도록 하겠습니다. 이번 포스팅 주제는 지는 해 Xorg와 뜨는 해 Wayland에 대해 써보도록 하겠습니다.(뜬금없이 나타난 해 - Mir는 제대로 공개가 되면 이야기 해봅시다.)


1. Xorg 이것은 무엇일까?

Xorg는 최초의 GUI 시스템인 X윈도우(X11)의 일종입니다. XFree86이 최초의 GUI 구현체였지만 이것이 라이센스가 꼬이면서 사람들은 마지막으로 라이센스가 GPL이었던 버전을 그대로 Fork해서 새로이 만들어내었습니다. 이쪽은 라이센스가 여전히 GPL 혹은 LGPL이었기에 커뮤니티 기반의 리눅스/유닉스 배포판에서 환영을 받았습니다. 물론 대부분의 배포판이 전부 Xorg로 넘어간것도 다 라이센스문제 때문이었지요. 특히 GPL이 꼬여있는 것이 문제였습니다. (이후에 비슷한 일이 OpenOffice.org와 LibreOffice에서 일어납니다.)

그런데 Xorg는 바로 전에 말했듯이 기존의 만들어졌던 XFree86의 후손이기에 소스코드가 XFree86기반이었고, 이 소스는 자그마치 80년대에 만들어진 코드였습니다. 즉, 만들어진지 30년이 된 시스템을 이리저리 때워가며 만든 것입니다. 그런데 2010년대에 들어선 지금에도 대다수 리눅스/유닉스의 GUI는 거의 Xorg 혹은 XFree86입니다. 사실 그동안 많이 쓰이기도 했고 대다수 프로그램들이 이 X11기반으로 돌아가기 때문에 당연하게도 이 Xorg를 이리저리 고쳐서 쓰는 실정입니다. 사실 중간에 격변을 거치기는 했습니다. 문제는 격변이 덩치 불리기로 이루어져서 코드 최적화가 더 이상 불가능할 정도로 안드로메다로 날아가 버렸다는 것이 문제입니다. 그리고, 새로운 그래픽 카드들은 계속 나오고 있고, 이를 지원하기 위한 각종 기술들이 들어가기 시작했고, KMS나 DRI, AIGLX 등의 많은 기능이 추가되게 됩니다. 문제는, 이를 다 쓰기에 Xorg는 너무 낡은 코드를 사용했고, 가벼운 데스크탑을 지향하기에는 조금 무리가 따르게 되었다는 것입니다. 그러던 어느날, Wayland란 녀석이 눈에 띄게 되면서 이 물건이 Xorg의 자리를 노리기 시작합니다.


2. Wayland의 정체

Wayland는 사실 레드햇 개발자가 따로 떨어져나와 시작된 프로젝트였습니다. 꼭 필요했던, 하지만 아무도 시작하지 못했던 그런 프로젝트였지요. 그런데, Wayland 이놈은 대부분 기능을 커널에 넘겨버리는 짓을 합니다. 즉, 커널이 디스플레이의 대부분을 담당하게 하면서, 자신의 몸집을 줄이는 방향을 택한 것이지요. 사실 KMS와 DRI기능이 커널에 들어가면서 이것이 가능하게 되었는데, 지금 사용하는 리눅스 데스크탑은 전부 사용하고 있는 기술입니다. 언제부터 갑자기 xorg.conf 삽질을 하지 않아도 알아서 해상도가 잡히고, 입력 장치들이 알아서 인식되는 등, 한번 Xorg에 큰 변화가 이루어진 적이 있었는데, 이것이 바로 KMS가 있었기에 가능했던 것이지요. 아마도 KMS가 본격적으로 지원된 커널이 2.6.35버전부터 였을 것입니다. 아무튼 Xorg의 코드 사용은 점점 줄어가는데 정작 Xorg는 코드가 너무 방대해서 이 코드들을 줄일 방법이 전혀 없었습니다. 지금도 레거시 지원이라는 명목으로 예전 방식 그대로 설정을 하면 그대로 먹히기는 합니다만, 해상도 설정이나 입력장치 설정 같은 것은 굳이 예전방식으로 할 이유는 없다고 봅니다. KMS방식이 훨씬 빠르기도 하고 가볍기 때문이지요.

 Wayland는 이를 중점으로 삼고 기존의 X11이 사용하지 않거나 사용되지 않게 될 부분을 과감히 쳐내고 필요한 부분 만을 구현해서 만들어냅니다. 이를 통해서 훨씬 작은 시스템이 가능해지고, 가벼운 데스크탑 환경을 만들 수 있게 되었습니다. 실제로 Wayland는 Xorg의 1/10크기 정도라고 하네요.


3. Xorg는 이대로 사라질 것인가?

Xorg도 그렇고 Xfree86도 그렇고, 이 물건들은 자동차로 치면 거의 포니 수준입니다. 그런데 이 포니에 HUD장치를 달고, 내비게이션을 달고, 이것저것 장치를 주렁주렁 달려고 하다 보니, 자동차가 삐걱거리기 일쑤에 지금은 쓰지 않는 쓸데없는 것도 생기게 됩니다. 이미 낡은 자동차에 장치만 잔뜩 달면 기름도 많이 먹겠지요? 참 보는 사람도 답답할 지경입니다.

이런 차에 내비게이션 달고, ABS브레이크를 넣고, 아이팟 시스템을 달고, HID라이트를 달고... 그냥 차를 바꾸는 것이 낫지 않을까? 사진은 현대 포니 출처 - 위키피디아

분명히 지금 사용하는 X11기반 프로그램들도 Wayland로 포팅될 것은 확실해 보입니다. KDE나 Gnome같은 메이저 데스크탑 환경도 Wayland로 포팅중이고 QT5기반의 새로운 Wayland기반 데스크탑 환경도 니왔습니다. (이름은 Hawaii입니다. MAUI프로젝트에서 진행 중입니다. (http://www.maui-project.org/) 그런데 Wayland로 넘어가기 위해 우리는 어떻게 해야 할까요? 사실 우리는 Wayland가 나왔다고 무조건 바꿀 수 있는 상황이 안 됩니다. Wayland만으로는 인터넷조차 하기 버거운 상황이거든요. Firefox가 Wayland기반이 아니라 여전히 X11을 이용하기 때문에 간단한 인터넷도 현재 Wayland만으로는 부족합니다. Firefox나 Chrome도 결국에는 X11기반이 아닌 다른 물건으로 바뀌겠지만, 그것이 Wayland가 될지 아니면 다른 프로젝트의 결과물(Mir같은...)이 될지는 아무도 모릅니다. 그 때쯤이면 Xorg는 추억속의 물건이 될지도 모르겠습니다.


4. Wayland를 지금 써보고 싶다면?

현재 Wayland는 그럭저럭 쓸만한 수준까지 만들어져 있습니다. 그런데 이를 제대로 활용한 배포판이 많지가 않습니다. Debian에 Wayland는 있지만 Debian이 그렇듯이 검증 안 된 패키지는 저장소에 잘 안 들어가게 됩니다. 따라서 Debian은 Wayland를 이용하기 좀 어려운 배포판입니다.(물론  Unstable이나 Sid를 이용하면 되기는 합니다.) Wayland를 써보시겠다면 ArchLinux로 써보시길 추천드립니다. Wayland같이 안정 버전이 없거나, 검증되지 않은 패키지는 빠른 업데이트가 제일 중요한데 Arch같이 빠른 업데이트를 지원하는 배포판은 없기 때문입니다. 게다가 다른 배포판(Debian계열이나 Ubuntu계열이 대표적으로)은 wayland 패키지를 설치했어도 xorg패키지를 설치하지 않으면 GUI설정이 전혀 안되거나 스크립트를 이리저리 뜯어야 하는 문제가 있지만, Arch는 원래 GUI부터 수동이라 Wayland설정을 하기가 더 쉽습니다. 위에서 말한 MAUI프로젝트도 Arch기반인 것도 다 이유가 있는 것이지요. https://wiki.archlinux.org/index.php/wayland 여기의 내용을 그대로 따라하시면 Wayland 기반의 Arch환경을 구축 하실 수 있습니다. 여기에 X호환환경을 만들어주는(사실 Wayland내에 Xorg를 올리는 형태지만) Xwayland를 갖춰주시면 지금도 쓸만한 데스크탑환경이 됩니다.(Xwayland를 이용함으로써 X11기반 프로그램도 쓸 수 있습니다.)

 반대로 Xorg환경내에서 wayland를 이용하고 싶으시다면 기존의 X11기반의 배포판에 wayland를 설치만 해주시면 weston 명령으로 wayland를 창 형태로 돌려보실 수 있습니다.다만, wayland전용의 환경은 많지 않아서 말 그대로 테스트 그 이상의 효과는 못 낼 것 같습니다. 하지만 X11용 그래픽드라이버를 이용하면서 가속도 할 수 있으니, nvidia나 따끈따끈한 신형 AMD GPU 이용자(Catalyst만이 해답인..)라면 이걸로 쓸 수 밖에 없을 것입니다. Wayland는 오로지 오픈소스 드라이버만이 사용 가능하니까요.


5. 잠깐 Xwayland라고요?

위에서 저는 언젠가는 X11기반 프로그램들이 Wayland 기반으로 포팅 될 것이라고 했습니다. 하지만, 사실 Wayland는 X11호환을 위한 라이브러리가 준비 되어있습니다. 제가 Xorg환경내에서 weston명령을 쓰면 새 X11창 내에 Wayland 환경이 뜬다고 했지요? 그걸 반대로 뒤집으면 된다고 생각하면 됩니다. Wayland환경내에 X11환경을 띄우는 것입니다. OSX도 비슷한 짓을 하니까(X11을 내부에서 돌립니다.) X11자체는 크게 패치를 할 것이 없을겁니다. 이 것을 이용하면 Wayland로 포팅이 이루어지지 않은 프로그램도 쉽게 쓸 수 있게됩니다. 예를 들면 지금의 유료프로그램을 들 수 있겠네요. Matlab이라든가, 한글2008같은 프로그램 것 말이지요. 특히 한글은 wayland로 포팅 될 일이 없을 테니 꼭 필요해 보입니다. 그런 프로그램들을 위해 Xwayland가 준비 되었는데, X11이 완전히 사라지게 되면 Wayland내에서도 바로 내 쳐질 것입니다. 어차피 호환을 위해 만들어진 기능이니까요. 하지만 X11이 30년동안 쓰여오면서 그 기반 프로그램을 무시 못하니 Xwayland가 만들어진 것입니다. 30년 동안 쓰인 GUI서버가 언제쯤 사라지게 될지는 알 수 없지만, 그 때까지 부족한 Wayland기반 프로그램들을 대신해줄 물건임에는 틀림 없습니다.


6. Wayland외의 또 다른 경쟁자는?

 과거의 X11을 대체하기 위해 만들어진 프로젝트는 많았습니다. 그나마 뚜렷한 성과를 보인 것은 XGL(OpenGL기반 X11대체 프로젝트)이 있었습니다. 하지만 이도 AIGLX(X11 개선에 초점)에 의해 밀렸고, 지금까지도 X11이 쓰이게 됩니다. 즉, Wayland같이 이렇게 가시적인 성과를 보인 프로젝트는 거의 없었던 것이지요. 딱 하나만 제외하고요. 우분투를 만들어서 배포하는 캐노니컬의 Mir가 현재로써는 유일한 경쟁자로 보입니다. Mir가 어떻게 나올지 어떤 모습을 하게 될지는 캐노니컬이 공개를 하지 않아서 알 수는 없지만, Wayland와 비슷한 형태가 될 것이라고 생각은 듭니다. 어쩌면 XGL vs AIGLX 때처럼 Mir vs Wayland가 될 가능성도 있겠지요. 어떤 프로젝트가 사라지게 될지 아니면 둘 다 살아남아서 서로의 장점을 이끌어낼지는 아무도 모릅니다. 하지만 Mir가 공개된 정보가 많지가 않아서 Wayland와 다르게 알 수가 없습니다. 지금 당장 사용해 볼 수도 없고 알 수도 없어서 아직까지는 Wayland가 대세라고 생각합니다. Mir는 이 Wayland를 뛰어넘어야만 세상에 공개 될 것 같습니다.


리눅스/유닉스는 X11을 통해서 GUI란 놈을 세상에 알렸습니다. 실제로 GUI를 제대로 퍼뜨린 것은 Apple이지만, GUI의 개념을 제대로 만들어 낸 최초의 결과물은 X11이었지요. 이제 그 X11이 역사속으로 사라질 준비를 하고 있습니다. 다만, 역사속으로 사라지려면 좀 시간이 많이 걸릴 것 같네요. 과연 Wayland가 성공적으로 안착을 할 수 있을까요? Xorg는 역사 속으로 사라질 수 있을까요? 리눅스/유닉스의 GUI는 또 어떻게 바뀔까요? 모바일 시대로 넘어가는 이 때의 Wayland가 모바일 시대에 맞춰서 나올 수 있을까요? 10년 뒤의 모습이 정말 궁금합니다.


2016. 3. 23 추가

2016년이 되고보니 Mir도 공개되고 Wayland와 맞붙을 준비가 되었습니다. 아직 Mir가 지원하는 환경이 많지는 않지만 Wayland가 지금까지 걸어온 길에 비해 상당히 순항을 한 것으로 보입니다. 특히 이제는 Unity가 불편한 UI가 아닌 빠릿하고 편리한 UI라는 평가를 받는 지금 Mir가 Wayland에 비해 이득이 더 클 것으로 보입니다. 아쉬운 것은 Wayland가 아직까지도 안정화가 안 되었다는 사실입니다. Mir는 이제 16.04에 탑재 되는 것으로 잠정 결론이 났는데(15.10에서 설치가 가능합니다.)Wayland는 아직까지도 안정화가 되었다는 느낌이 없습니다.

이렇게 가다가는 Wayland를 10년뒤에나 제대로 볼 수 있을지도 잘 모르겠습니다.

,