1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Qt5's Linux Requirements Cause Problems

Qt

Published on 15 September 2012 03:37 AM EDT
Written by Steven Starr in Qt
110 Comments

With XCB being a requirement for the Linux version of Qt 5.0, and Xlib not being supported, it's causing problems for some wishing to adopt this forthcoming tool-kit.

Qt 5.0 on Linux is using the X C-language Bindings rather than Xlib since that's what is generally favored these days for communicating with the X.Org Server. On Qt4, Xlib was supported. Just one day after there was the controversial freelance article about Mono being desirable for Linux, another developer is sharing his freelance views on a separate project. Steven Starr as a Linux desktop developer wrote into Phoronix with his views (well, it's more along the lines of a brief rant but does spark a valid point) on Qt5 about the change.

I wonder about Qt developers some times.

Qt5 is OpenGL based right, well XCB is a requirement on Linux now, it wasn't on Qt4. And XLIB isn't supported.

Let me throw out a quote from the XCB devs.
XCB-GLX only communicates with the X server, it does not perform any hardware initialization or touch the OpenGL client-side state. Because of this XCB-GLX cannot be used as a replacement for the GLX API. To use OpenGL in the X Windowing system, one must use the GLX API, and the GLX API is closely coupled with Xlib. As a result, an OpenGL application on the X Windows must use Xlib and thus can't be done using only XCB. [Citation]
So what does this mean?

It means that they're forcing us to install and use XCB that doesn't support Hardware Accelerated Graphics using your ATI/NVIDIA binary drivers. And it ends up reverting back and using XLIB/GLX anyways.

Qt5 + XCB = Low Level Crippled API Wrapper for a Higher Level Fully Functional API.

If you ever wonderd why KDE4 and Nvidia cards are constantly breaking theres your answer. Because some stupid fuck thought XCB was cool because someone else told him it was.

The reason I am soooo pissed is because I have been writing a new Qt Desktop Environment for the last 1-1/2 years and Qt devs broke it by removing the QX11 API's. And my new desktop is blazzzzzzing rubber melting FAST!!!!

Qt5's Linux Requirements Cause Problems


Has Qt5 with XCB caused problems for you? This isn't a Linux-specific problem but any Qt platform using X. Share your thoughts in the Phoronix Forums. Should you have any other freelance article to share with the Phoronix reader base, feel free to contact Phoronix.

Latest Linux Hardware Reviews
  1. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. 7-Way Linux Desktop Gaming Comparison On Ubuntu 14.10
  2. Intel P-State vs. CPUFreq Benchmarks On The i7-5960X
  3. RadeonSI GLAMOR Benchmarks With X.Org Server 1.16
  4. RadeonSI Gallium3D vs. Catalyst At 4K UHD On Linux
Latest Linux News
  1. The Intel Core i7 5960X Continues Running Great On Linux
  2. Geometry Shaders, OpenGL 3.2 Land In Mesa For Intel Sandy Bridge
  3. Wayland & Weston 1.6 Released
  4. Tizen Smartphones Reported To Launch In November
  5. NVIDIA Releases The 343.22 Linux Driver With GTX 980 Support
  6. NVIDIA Launches The GTX 980: The High-End Maxwell Beauty
  7. X.Org Server Shatter Project Fails
  8. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  9. Fedora 21 Alpha Finally Coming Next Week
  10. Ubuntu Touch/Phone Reaches Its First RTM Image
Latest Forum Discussions
  1. Can Linux kill a motherboard?
  2. Stop grabbing my keyboard :(
  3. New Group Calls For Boycotting Systemd
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Best Radeon for a Power Mac G5?
  6. New stress testing utility for GPU's
  7. Hd 6850
  8. support for first generation UVD blocks (RV6xx, RS780, RS880 and RV790)