DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Software Design and Architecture
  3. Performance
  4. Make Windows Green Again (Part 5)

Make Windows Green Again (Part 5)

We've arrived at part 5 of the Make Windows Green Again blog series. In this post, we'll discuss a few fixes for graphics in openSUSE on WSL.

Hannes Kuhnemund user avatar by
Hannes Kuhnemund
·
Mar. 14, 17 · Tutorial
Like (1)
Save
Tweet
Share
3.03K Views

Join the DZone community and get the full member experience.

Join For Free

Here we are, part 5 of the Make Windows Green Again blog series hot off the press and maybe things aren’t looking as rosy as we initially thought? In part 1 we discussed how to inject openSUSE Leap into WSL, we then discussed in part 2 how to get the user setup right again. Part 3 was (maybe) the pinnacle with getting graphics to run – and our first real obstacles were encountered. A rather easy fix was discussed in part 4, but there are certainly more of those ahead for us. So, looking at the curve of excitement, is the vale of tears ahead of us?

Not at all. While it’s absolutely great to have high hopes and demand for the best, a quick reality check is something we're in need of right now. First of all (and that one goes on me, I forgot to do this much earlier in this blog series), let’s give kudos to the Microsoft WSL team for making this technology initially available. There is an excellent blog series on WSL and I strongly recommend everyone to read it in its entirely. Casual Linux users will certainly learn something as well, because it’s not just Microsoft technology discussed there. The blog series is available via https://blogs.msdn.microsoft.com/wsl/ and you’ll need to start reading the bottom blog first – or you just follow this list from top to bottom:

  • Windows Subsystem for Linux Overview
  • Pico Process Overview
  • WSL System Calls
  • WSL File System Support
  • Bash on Windows 10 Anniversary Update
  • Windows and Linux Interoperability
  • WSL Antivirus and Firewall Compatibility
  • WSL Networking

Admittedly, a lot of material – but certainly a must for everyone in need for a deeper understanding of the mechanics. If you feel that this is too much to read (or you are not in need of a deeper understanding – which is absolutely fine too), here’s the executive summary for you:

A huge amount of work has been conducted by Microsoft to create WSL (like mapping Linux syscalls to Windows syscalls, etc). However, currently WSL is still missing some key capabilities to make Linux run as if it would natively. However, all of this is in the works and might be added to future versions of WSL. Now, allow me to add the following sentence as well, as this is a very important topic for some Linux users as well. “Some features of Linux, like the built-in Security and Open Source principles, might never be fulfilled by WSL, as there will always be a native Windows OS in play.” Replacing Windows 10 with Linux would be the only way to satisfy such a demand. But that’s not what this blog series is about.

Some Fixes to Graphics

While “plain” xserver applications like xeyes, xclock, gkrellm, xterm are working quite fine when using openSUSE on WSL, others like gnome-terminal or similar simply quit out with an error message like:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)

Is there anything we can do about it right now?

WSL already implemented crucial syscalls and maps those to their Windows counter parts. But, a few important ones are still not there. Some of those are providing UNIX socket functionality, a key requirement for most of the Gnome and KDE applications using dbus. For some applications it might be enough to change the dbus session.conf file under /etc/dbus-1 and replace:

<listen>unix:tmpdir=/tmp</listen>

... with:

<listen>tcp:host=localhost,port=0</listen>

… and if we are lucky, some applications are now going to work – while others still don’t. There is a public GitHub project called WSL-Programs where you will find quite s comprehensive list of how well (or not) Linux binaries run on WSL. I encourage you to perform your own tests with openSUSE Leap binaries (not just the graphical ones, but also regular ones running in the terminal). When posting test results, please ensure to add a remark about openSUSE Leap in the comment field.

The next blog will discuss the possibility to get access to a more recent version of WSL using Windows Insider builds.

Until then, happy Linux’ing!

Linux (operating system)

Published at DZone with permission of Hannes Kuhnemund, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Seamless Integration of Azure Functions With SQL Server: A Developer's Perspective
  • Event Driven 2.0
  • Building the Next-Generation Data Lakehouse: 10X Performance
  • 5 Best Python Testing Frameworks

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: