Language Selection

English French German Italian Portuguese Spanish

Graphics: VGA Signal In A Browser Window, Mesa's Radeon R600 Gallium3D Driver, EGL+OpenGL Off-screen Multi-Card

Filed under
Graphics/Benchmarks
  • VGA Signal In A Browser Window, Thanks To Reverse Engineering

    [Ben Cox] found some interesting USB devices on eBay. The Epiphan VGA2USB LR accepts VGA video on one end and presents it as a USB webcam-like video signal on the other. Never have to haul a VGA monitor out again? Sounds good to us! The devices are old and abandoned hardware, but they do claim Linux support, so one BUY button mash later and [Ben] was waiting patiently for them in the mail.

    But when they did arrive, the devices didn’t enumerate as a USB UVC video device as expected. The vendor has a custom driver, support for which ended in Linux 4.9 — meaning none of [Ben]’s machines would run it. By now [Ben] was curious about how all this worked and began digging, aiming to create a userspace driver for the device. He was successful, and with his usual detail [Ben] explains not only the process he followed to troubleshoot the problem but also how these devices (and his driver) work. Skip to the end of the project page for the summary, but the whole thing is worth a read.

  • Mesa's Radeon R600 Gallium3D Driver Now Has NIR Support Under Review

    Similar to the trend with other Mesa drivers, the Radeon R600g driver for supporting Radeon HD 2000 through Radeon HD 6000 series graphics cards has been seeing experimental work to introduce a NIR back-end for this modern intermediate representation. That R600 NIR support now has a merge request open meaning it could possibly land still for Mesa 20.0.

    The R600g NIR support has been worked on by Gert Wollny and currently targets Radeon HD 5000 "Evergreen" graphics cards with support for other AMD GPU generations handled by this Gallium3D driver not yet supported. Additionally, this NIR back-end only supports vertex / fragment / geometry shaders for now and other features missing.

  • Playing with EGL+OpenGL Off-screen Multi-Card

    So I've now spent the last day and a half playing with getting EGL offscreen rendering working on Linux. There are two major ways to do off-screen rendering with EGL and OpenGL. In the first, you use a pbuffer surface, that surface is basically a purpose-defined surface-type for off-screen backing of a renderer. When I use the EGL enumeration API we always seem to get pbuffer compatible visuals (and *not* window compatible ones).

    On Ubuntu 18.04 the enumeration API seems to be... problematic, lots of segfaults, particularly with the VirtualBox driver that shows up in the enumerations. On Ubuntu 19.10 the behaviour is much more reliable, with all 3 GPUs in my prime-based nVidia/Intel laptop (including the VirtualBox GPU) completing the OpenGL query for version, extensions, etc. The missing bit is being able to specify which GPU to use, as the EGL query API doesn't seem to have a way to get a "name" that a user would recognise to describe the card.