4k монітор для linux

4k монітор для linux

Yevhenii Hyzyla

Недавно собі під ялиночку купив 4k монітор на 27 дюймів. На роботі я користуюся Ubuntu і лиш віддалено чув про проблеми HiDPI моніторів з Linux. Оскільки я був занадто самовпевнений у своїх силах, то вирішив, що зможу налаштувати все правильно, лише треба добре розібратися в темі. Як можна здогадатися, в мене не вийшло налаштувати 4k монітор для linux.

Дуже спрощено розкажу історію: щоб малювати щось на вашому екрані linux дистрибутиви переважно використовували X.Org сервер або просто X, який вже вміє працювати з вашим монітором і малювати на ньому картинку. Оскільки сервер X мав фундаментальні проблеми, то на заміну йому прийшов протокол Wayland і більшість дистрибутивів почали переходити на Wayland. З версії 20.04 Ubuntu за замовчуванням стала використовувати Wayland, а консервативний Debian це вже зробив ще у 2019 році. Детальніше про переваги Wayland можна почитати тут.

Одна з проблем, які вирішував Wayland і яка цікавить наразі мене це підтримка HiDPI моніторів. Під підтримкою HiDPI я маю на увазі можливість збільшити інтерфейс на 20-50% і при цьому отримати чіткіший текст. X сервер вміє з горем пополам масштабувати інтерфейс, але лише у 2, 3, 4 рази, коли встановлював значення в 1.5 рази, то в мене ноутбук починав злітати в космос. Оскільки такий варіант мене не влаштовував, також я начитався, що X вже deprecated і взагалі в Wayland масштабування зроблено правильно, то я повівся, оновив Ubuntu і перемкнув режим роботи на Wayland. Проте з Wayland виявилося велике “але” – програми що працювали на X і самостійно відмальовували текст, не використовуючи бібліотеки GTK чи QT, повинні додати підтримку протоколу Wayland, щоб працювало масштабування правильно. Програми без такої підтримки запускаються в режимі XWayland і по старому працюють з X server. Масштабування в такому режимі просто розтягує зображення в 1.5 рази, через це текст в таких програмах виглядає помітно розмитим.

Тут і відбулося найбільше розчарування, бо Chrome, PyCharm, VSCode і все інше на Electron ще не підтримують Wayland або щоб увімкнути підтримку протоколу треба повозитися з налаштуваннями, а програми на Java взагалі зможуть отримати підтримку Wayland, коли вона буде реалізована в OpenJDK.

Як висновок хочу сказати, що найправильнішим рішенням було б купити монітор, де масштабування взагалі не потрібно, при цьому трохи втративши в чіткості зображення. Зате тепер приєднуюся до кола людей, які жаліються на підтримку HiDPI в Linux 😂

Report Page