Language Selection

English French German Italian Portuguese Spanish

Graphics/Benchmarks

Graphics: WayVNC, MoltenVK, Mir, Navi and Mali

Filed under
Graphics/Benchmarks
  • wayvnc 0.3.1
    New features since v0.2.0:
    
     * Copy & paste, thanks to Scott Moreau.
     * wayvnc now has a man page.
     * wayvnc now exits if authentication is enabled but fails.
    
    Git commit history since v0.2.0:
    
    Alexander Graul (1):
          Add openSUSE Tumbleweed installation instruction
    
    Andri Yngvason (15):
          buffer: Fix buffer attribute comparison
          README: Use "yay" in archlinux installation instructions
          Exit if enabling auth fails
          Clean up config on exit
          Clean up aml on nvnc init failure
          data-control: Make offer handling asynchronous
          data-control: Don't free data-control-manager twice
          data-control: Clean up whole receive context in aml_free_fn
          data-control: Destroy data device on exit
          Don't init data_control if it's not supported by compositor
          Write a man page
          Generate and install a man page
          man-page: Fix wording
          FAQ: Remove outdated Q
          Release v3.0.0
          Fix man page path
    
    Jan Beich (1):
          shm: guard fallback on FreeBSD < 13 as well
    
    Jony (1):
          add Void Linux install command to README.md
    
    Scott Moreau (1):
          Add basic clipboard support
    
  • WayVNC 0.3 Released - The Wayland VNC Server Now Supports Copy & Paste

    WayVNC 0.3 released today as the Wayland VNC server built atop the WLROOTS library.

    The headline feature of WayVNC is... clipboard support! Yep, this popular Wayland VNC server can finally support copy and paste functionality. This clipboard support landed just last week and allows copy/paste of text to/from the host clipboard. On the Wayland side this clipboard support is making use of the wlr-data-control-unstable-v1 protocol. This WayVNC clipboard support was written by longtime Wayland contributor Scott Moreau.

  • MoltenVK 1.1 Update Brings Big Improvements For Vulkan On macOS

    MoltenVK 1.1 is out as a big update for this graphics translation layer for getting the Vulkan API running on macOS and iOS devices by translating calls to Apple's Metal API.

    MoltenVK 1.1 is out with Vulkan 1.1 support by exposing all core Vulkan 1.1 extensions and other relevant changes. There are also a number of other new Vulkan extensions supported by this release like KHR_multiview, KHR_external_semaphore, KHR_external_fence, and others.

  • Mir 2.1 Released With Some New Protocol Support, Many Fixes

    Mir 2.1 has been released as Canonical's project around offering a set of libraries for constructing Wayland shells particularly with Snap confinement support and other Ubuntu-focused features.

    With the Mir 2.1 release comes a --show-splash command line option, reduced locking within the KeyRepeatDispatcher code, support for the zwp_linux_dmabuf_unstable_v1 protocol within the GBM-KMS back-end, and support for the Wayland zwlr_layer_shell_v1 v3 and wlr_foreign_toplevel_management_unstable_v1 protocols. There are also X11 handling improvements too.

  • Linux 5.9 Gets More Fixes For AMD RDNA2 GPUs, Promotes Navi 12

    A batch of fixes to the AMDGPU kernel graphics driver were sent in today for Linux 5.9. While AMDGPU fixes this late in the kernel cycle tend to not be too notable, this time around there are some prominent items worth covering.

    When it comes to the next-generation "Sienna Cichlid" and "Navy Flounder" Navi 2x graphics (RDNA2) support, there are continued updates in making the support in good shape for Linux 5.9 stable. This work includes additional Sienna Cichlid PCI IDs being added, fixing for building DCN 3.0 code with older versions of GCC, temporarily disabling GFXOFF capabilities for Navy Flounder until issues are resolved, and the kernel side bits for AV1 decode with these GPUs.

  • Mali G72 Now Supported By Open-Source Panfrost Gallium3D Driver

    The open-source Panfrost graphics driver, which is now backed/supported by Arm after starting as a reverse-engineering effort, has picked up support for the Mali G72 GPU.

    Adding to the many Panfrost open-source driver accomplishments this year is now support for the G72 as their latest support addition. The Mali G72 has been around since late 2017 and is making use of the second-generation Bifrost architecture. The Mali G72 is used by the likes of the Kirin 970, Samsung Exynos 9 9810, Exynos 7 9610, and Helio P60/P70 SoCs.

Benchmarking Firefox 83 Nightly With "Warp" Against Google Chrome On Linux

Filed under
Graphics/Benchmarks

Following last week's news of Firefox Nightly flipping on their new JIT "Warp" update I was eager to run fresh benchmarks of the current Firefox releases compared to Google Chrome under Ubuntu Linux.

Warp was enabled last week for Firefox 83 nightly builds with this "Warp" just-in-time JavaScript compiler update having various improvements in an effort to provide greater responsiveness and faster page load speeds. Numbers cited by Mozilla engineers on their JavaScript/SpiderMonkey team were frequently in the 5~15% range. Even instances like Google Docs load times on Windows was around 20% faster with Warp.

This round of benchmarking was done with Firefox 81, Firefox 82 Beta 3, and Firefox 83 Alpha 1 nightly as of last week after Warp landed. A secondary run of Firefox 83 nightly was also done with WebRender force enabled on Linux. Plus Google Chrome 85 was also tested as the latest stable release.

Read more

Nvidia Graphics News

Filed under
Graphics/Benchmarks
  • AMD FreeSync on a Nvidia GPU?

    It may be a familiar story for a lot of office workers no matter where you live in 2020. Out of the blue, COVID19 showed up, and suddenly working remotely is the new norm – your company either allowing it or encouraging it. I am also in this situation, stuck for about 6 months at home, more or less. And with all changes, there’s positive and negative aspects. In my case, I have lost a comfortable setup in my workplace (multiple monitors, high resolution).

    In order to make the best of working from home, I have purchased an ultra-wide monitor, which happens to be FreeSync compatible as well. But would it actually work on Linux? Especially on a non-AMD GPU configuration?

  • NVIDIA Sends Out Latest Linux Kernel Patches For 1GB THP To Help Boost Performance

    NVIDIA software engineer Zi Yan sent out on Monday his latest "1GB PUD THP" patches in aiming to boost application performance on Linux for software making use of large amounts of RAM.

    This 1GB transparent hugepage support for Linux x86_64 is designed to reduce translation overhead and allow for greater application performance for software with large memory footprints without needing any application changes. NVIDIA's motivation for this work is on the performance front with aiming to boost virtual memory performance via gigantic TLB entries without needing additional changes as imposed by HUGETLBFS pages. The PUD THP support would be disabled by default but can be toggled via sysfs under /sys/kernel/mm/transparent_hugepage/.

  • NVIDIA Vulkan Beta Driver Moves To 455 Series For Linux

    NVIDIA's Linux Vulkan beta driver build has moved from the 450 series that it's been on for a while to the current 455 branch.

    Earlier this month NVIDIA shipped the 455.23.04 Linux beta driver for RTX 30 series support being most notable for the R455 series. But there are also various other underlying improvements too in the jump from 450 to 455 like a new VkMemoryType that will help out some games, numerous fixes, support for the NGX Updater, and VDPAU additions.

  • NVIDIA adds Ampere support to their Vulkan Beta Driver with a new release

    NVIDIA have pushed out a fresh update to their developer-focused Vulkan Beta Driver series, here's the highlights and what's changed.

    For starters it's now been rebased on top of their mainline 455 driver branch, which brings with it Ampere 30xx series support. So for anyone truly needing this series for all the brand-new Vulkan extensions and other Beta features, you should be good to go.

Initial Fedora 32 vs. Fedora 33 Beta Benchmarks Point To Slightly Higher Performance

Filed under
Graphics/Benchmarks

In addition to Fedora Workstation 33 switching to Btrfs, there are a number of key components updated in Fedora 33 as well as finally enabling link-time optimizations (LTO) for package builds that make this next Fedora Linux installment quite interesting from a performance perspective. Here are some initial benchmarks of Fedora Workstation 32 against the Fedora Workstation 33 Beta on an Intel Core i9 10900K system.

Given the Fedora 33 beta release, here are our initial benchmarks of Fedora 33 that is due for its official release in late October. Over the past few days I've been testing the test compose of Fedora 33 Beta with all updates applied -- it's been quite a nice experience. There hasn't been any show-stopping bugs and all-around running nicely.

Read more

Mesa 20.2.0

Filed under
Graphics/Benchmarks
Linux
  • mesa 20.2.0
    Hi list,
    
    After a long wait, mesa 20.2.0 is now available. This is the first stable
    release of the series, but it's also been a very long time since the last
    release, and as such I'd like to reiterate that those looking for the most
    stable experience will likely want to wait for mesa 20.2.1.
    
    I'm back to the office and finally getting back in the swing of things after a
    long vacation, so expect more regular releases for the 20.2 series from here on
    out.
    
    shortlog
    ========
    
    Alyssa Rosenzweig (1):
          pan/bit: Set d3d=true for CMP tests
    
    Andrey Vostrikov (1):
          egl/x11: Free memory allocated for reply structures on error
    
    Bas Nieuwenhuizen (7):
          radv: Fix threading issue with submission refcounts.
          radv: Avoid deadlock on bo_list.
          spirv: Deal with glslang not setting NonUniform on constructors.
          radeonsi: Work around Wasteland 2 bug.
          spirv: Deal with glslang bug not setting the decoration for stores.
          ac/surface: Fix depth import on GFX6-GFX8.
          st/mesa: Deal with empty textures/buffers in semaphore wait/signal.
    
    Boris Brezillon (1):
          spirv: Add a vtn_get_mem_operands() helper
    
    Danylo Piliaiev (5):
          intel/compiler: Fix pointer arithmetic when reading shader assembly
          glsl: Eliminate assigments to out-of-bounds elements of vector
          nir/lower_io: Eliminate oob writes and return zero for oob reads
          nir/large_constants: Eliminate out-of-bounds writes to large constants
          nir/lower_samplers: Clamp out-of-bounds access to array of samplers
    
    Dave Airlie (2):
          llvmpipe: include gallivm perf flags in shader cache.
          gallivm: disable brilinear for lod bias and explicit lod.
    
    Dylan Baker (7):
          .pick_status.json: Update to ef980ac0c1cd65993ba0c1d20e1c09b45bfef99d
          fix: gallivm: disable brilenear for lod bias and explicit lod.
          .pick_status.json: Update to a1f46d7b6943699e5efb60fbcfdd1450db85adb1
          amd/ac_surface: convert tabs to 3 spaces
          .pick_status.json: Update to 90b98c06493f8a9759e5496d5ec91fb60edf7b92
          .pick_status.json: Update to 472a20c5fc0feda0f074b4ff95fd7c7a6305c8cd
          VERSION: bump for 20.2.0 release
    
    Eric Anholt (4):
          gallium/tgsi_exec: Fix up NumOutputs counting
          freedreno: Make the pack struct have a .qword for wide addresses.
          turnip: Fix truncation of CS shader iovas to 32 bits.
          turnip: Fix truncation of iovas to 32 bits in queries.
    
    Eric Engestrom (1):
          meson: drop leftover PTHREAD_SETAFFINITY_IN_NP_HEADER
    
    Erik Faye-Lund (1):
          mesa: handle GL_FRONT after translating to it
    
    Icecream95 (1):
          pan/mdg: Fix spilling of non-32-bit types
    
    Jason Ekstrand (6):
          intel/fs: Don't copy-propagate stride=0 sources into ddx/ddy
          iris: Re-emit push constants if we have a varying workgroup size
          spirv: Run repair_ssa if there are discard instructions
          nir: More NIR_MAX_VEC_COMPONENTS fixes
          intel/fs/swsb: SCHEDULING_FENCE only emits SYNC_NOP
          radeonsi: Only call nir_lower_var_copies at the end of the opt loop
    
    Jesse Natalie (2):
          nir: More NIR_MAX_VEC_COMPONENTS fixes
          glsl_type: Add packed to structure type comparison for hash map
    
    Jonathan Gray (6):
          anv: use os_get_total_physical_memory()
          util/os_misc: add os_get_available_system_memory()
          anv: use os_get_available_system_memory()
          util/os_misc: os_get_available_system_memory() for OpenBSD
          radv: remove seccomp includes
          vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional
    
    Jordan Justen (1):
          anv, iris: Set MediaSamplerDOPClockGateEnable for gen12+
    
    Karol Herbst (1):
          spirv: extract switch parsing into its own function
    
    Lionel Landwerlin (3):
          intel/perf: store query symbol name
          intel/perf: fix raw query kernel metric selection
          intel/compiler: fixup Gen12 workaround for array sizes
    
    Marcin Ślusarz (4):
          anv: refresh cached current batch bo after emitting some commands
          anv: fix minor gen_ioctl(I915_PERF_IOCTL_CONFIG) error handling issue
          intel/perf: split load_oa_metrics
          intel/perf: export performance counters sorted by [group|set] and name
    
    Marek Olšák (2):
          ac/llvm: fix unaligned VS input loads on gfx10.3
          Revert "ac: generate FMA for inexact instructions for radeonsi"
    
    Mauro Rossi (1):
          android: freedreno/common: add libmesa_git_sha1 static dependency
    
    Michel Dänzer (1):
          ci: Use ignore_scheduled_pipelines anchor in .radeonsi-rules
    
    Michel Zou (1):
          swr: fix build with mingw
    
    Mike Blumenkrantz (1):
          zink: reorder create_stream_output_target to fix failure case leak
    
    Nanley Chery (2):
          iris: Fix aux assertion in resource_get_handle
          blorp: Fix alignment test for HIZ_CCS_WT fast-clears
    
    Pierre-Eric Pelloux-Prayer (9):
          mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX
          radeonsi: enable PIPE_CAP_NO_CLIP_ON_COPY_TEX
          ac/llvm: add option to clamp division by zero
          radeonsi,driconf: add clamp_div_by_zero option
          radeonsi: use radeonsi_clamp_div_by_zero for SPECviewperf13, Road Redemption
          glsl: fix per_vertex_accumulator::fields size
          r600/uvd: set dec->bs_ptr = NULL on unmap
          radeon/vcn: set dec->bs_ptr = NULL on unmap
          mesa: fix glUniform* when a struct contains a bindless sampler
    
    Pierre-Loup A. Griffais (2):
          radv: fix null descriptor for dynamic buffers
          radv: fix vertex buffer null descriptors
    
    Qiang Yu (4):
          radeonsi: fix syncobj wait timeout
          radeonsi: fix user fence space when MCBP is enabled
          radeonsi: fix max syncobj wait timeout
          radeonsi: fix user fence GPU address
    
    Rhys Perry (7):
          aco: fix byte_align_scalar for 3 dword vectors
          aco: fix one-off error in Operand(uint16_t)
          nir/opt_if: fix opt_if_merge when destination branch has a jump
          aco: fix v_writelane_b32 with two sgprs
          aco: don't apply constant to SDWA on GFX8
          radv: initialize with expanded cmask if the destination layout needs it
          radv,aco: fix reading primitive ID in FS after TES
    
    Samuel Pitoiset (3):
          aco: handle unaligned loads on GFX10.3
          spirv: fix emitting switch cases that directly jump to the merge block
          radv: fix transform feedback crashes if pCounterBufferOffsets is NULL
    
    Timur Kristóf (1):
          aco: Fix emit_boolean_exclusive_scan in wave32 mode.
    
    Tony Wasserka (3):
          radv: Fix various non-critical integer overflows
          aco: Fix integer overflows when emitting parallel copies during RA
          amd/common: Fix various non-critical integer overflows
    
    Vinson Lee (4):
          freedreno: Fix file descriptor leak.
          svga: Fix unused printf argument.
          freedreno: Check file descriptor before write.
          panfrost: Delete debug allocated syncobj.
    
    
    git tag: mesa-20.2.0
    
  • Mesa 20.2 Released With RADV ACO By Default, Initial RDNA2 Graphics Support

    Mesa 20.2 has managed to release just before the end of the the quarter. This Mesa Q3'2020 graphics driver update is coming out about one month behind schedule but the wait is worthwhile given many open-source OpenGL and Vulkan driver updates.

    There is new GPU support, RADV is using the ACO shader compiler by default, much better LLVMpipe OpenGL support, new Vulkan extensions, and much more.

  • Open source graphics drivers get a boost with Mesa 20.2.0 out now

    The latest and greatest in open source graphics drivers has released with Mesa 20.2.0, although you should wait on it if you're after a stable experience.

    As always, the Mesa team suggest waiting on at least the first bug fix release with Mesa 20.2.1 which is usually out within a few weeks. Developer Dylan Baker who announced the new release mentioned to expect some more regular releases for the 20.2 series, as they're back from a long vacation.

    What's new? Lots, as always. Support for new Vulkan extensions, added support for new GPUs including initial work done for AMD's upcoming RDNA 2 noted as "gfx10.3", expanded GLES 3.2 and OpenGL 4.5 support for LLVMpipe, lots of work on the Panfrost driver for Mali GPUs. You can find some release notes for Mesa 20.2.0 here.

Vulkan 1.2.155 Released and AMDVLK 2020.Q3.6 Vulkan Driver Brings Several Fixes

Filed under
Graphics/Benchmarks
  • Vulkan 1.2.155 Released With EXT_shader_image_atomic_int64

    Vulkan 1.2.155 is out this morning as a small weekly update over last week's spec revision that brought the Vulkan Portability Extension 1.0 for easing software-based Vulkan implementations running atop other graphics APIs.

    Vulkan 1.2.155 is quite a tiny release after that big release last week, but there aren't even any documentation corrections/clarifications and just a sole new extension.

  • AMDVLK 2020.Q3.6 Vulkan Driver Brings Several Fixes

    AMD driver developers today released AMDVLK 2020.Q3.6 as their latest open-source snapshot of their official Vulkan graphics driver.

    The primary new feature of this AMDVLK driver update is VK_EXT_robustness2, which mandates stricter requirements around dealing with out-of-bounds reads/writes. Robustness2 requires greater bounds checking, discarding out-of-bounds writes, and out-of-bounds reads must return zero. This extension debuted back in April as part of Vulkan 1.2.139.

Graphics: Zink, DP-HDMI2.1, Vulkan

Filed under
Graphics/Benchmarks

Graphics: Coming Next in AMD and Mesa 20.3

Filed under
Graphics/Benchmarks
Linux
  • AMD Ryzen 5000 leak shows a powerful APU to strike back at Intel’s Tiger Lake

    This popping up in Linux now suggests that we could see these Ryzen 5000 chips sooner rather than later. Currently, their anticipated debut is early 2021, but maybe it’ll be very early 2021; perhaps at CES? Or could we see a reveal possibly even this year? Who knows, and of course all this is pure guesswork, although the latter still seems rather unlikely.

    Whatever the case, Ryzen 5000 APUs for notebooks aren’t far away now, and will of course go up against Intel’s Tiger Lake CPUs which have already been revealed, and will start pitching up in laptops before the end of 2020 (we already know that some notebooks will be arriving in November).

    These 11th-gen mobile chips from Intel look to be shaping up very impressively from what we’ve seen thus far, and of course come with Xe integrated graphics, which represents a big step forward for gaming on a laptop – and that’s why RDNA 2 graphics will be key for AMD with its incoming Van Gogh APUs.

  • AMD Linux Kernel Patch Confirms Next-Gen Van Gogh APUs With DDR5 And RDNA2

    After a Linux kernel patch with 275K lines of code came out on Friday, the people over at Phoronix began to snoop around for any hidden information. Among the lines of code, they discovered that the upcoming Van Gogh APUs from AMD will have Navi 2 GPUs and will use DDR5 system memory.

  • Mesa 20.3 Can Now Consume SPIR-V Binaries Generated By LLVM's libclc

    Libclc is the LLVM library around OpenCL C programming language support and goes along with Clang's OpenCL front-end. Jesse Natalie of Microsoft has seen his two month old merge request land on Friday for being able to make use of libclc SPIR-V binaries that can be used by Mesa OpenCL code. Ultimately this code in part allows converting a libclc SPIR-V library into a set of NIR functions. Earlier this year the effort was started by Red Hat's David Airlie for being able to support a SPIR-V library generated from libclc to implement OpenCL runtime functions. Microsoft though pursued the work over the finish as part of their effort for getting OpenCL over Direct3D 12 (and OpenGL).

NVIDIA GeForce vs. AMD Radeon Vulkan Neural Network Performance With NCNN

Filed under
Graphics/Benchmarks

With having added Tencent's NCNN tests to the Phoronix Test Suite with Vulkan acceleration, here is a look at the real-world impact by using RealSR-NCNN for scaling up with RealSR. Various NVIDIA GeForce and AMD Radeon graphics cards were tested for this initial NCNN / RealSR-NCNN Vulkan comparison.

This is our first time looking at how well Vulkan performs in this area with the current state of the Linux drivers. The GeForce hardware was tested with the latest 450 series proprietary driver while on the Radeon side it was with Linux 5.9 and Mesa 20.3-devel using the RADV Vulkan driver. One of the Tencent developers working on NCNN has commented as well that using RADV's ACO offers a big boost for the performance, which fortunately is the current default for the RADV Vulkan driver.

Read more

Also: Phoronix Test Suite / OpenBenchmarking.org Now Has 600 Different Tests/Benchmarks

Graphics: AMD, KWinFT and Zink

Filed under
Graphics/Benchmarks
  • AMD Sends Out Linux Kernel Support For Van Gogh APUs - Confirms DDR5 Memory, VCN3

    s a nice Friday afternoon patch series there is the 275k lines of code for wiring up the next-generation AMD Van Gogh APU support under Linux.

    Earlier this week there were the Mesa patches for AMD Dimgrey Cavefish and Van Gogh while today the kernel-side portion for Van Gogh was sent out for the AMDGPU kernel driver.

  • AMD Van Gogh APUs Spotted In Linux Patch, Features DDR5, Navi 2 iGPU

    AMD submitted the 45 Linux kernel patches, which weigh in at 275,000 lines of code, to enable Linux support for the coming APUs. The patches also reveal that Van Gogh comes with Video Core Next 3.0, which supports AV1 decode. In the past, Phoronix has found patches indicating VCN 3.0 (video encode) is native to the Navi 2 graphics engine.

    Pairing the Navi 2 / RDNA 2 graphics engine with DDR5/LPDDR5 could unlock quite a bit of graphical horsepower, as integrated graphics engines tend to respond well to increased memory throughput. Van Gogh is also predicted to come with Zen 2 cores, and it will certainly be interesting to see what kind of impact the improved memory throughput has on the Zen 2 architecture.

  • Roman Gilg: Universal means to specific ends

    Today new beta versions for all KWinFT projects – that are KWinFT, Wrapland, Disman and KDisplay – were released. With that we are on target for the full release which is aligned with Plasma 5.20 on October 13.

    Big changes will unquestionable come to Disman, a previously stifled library for display management, which now learns to stand on its own feet providing universal means for the configuration of displays with different windowing systems and Wayland compositors.

    But also for the compositor KWinFT a very specific yet important feature got implemented and a multitude of stability fixes and code refactors were accomplished.

    In the following we will do a deep dive into reasons and results of this recent efforts.

  • Mike Blumenkrantz: Engage Thrusters

    Briefly, zink copies the framebuffer state, there’s a number of conditions under which a new pipeline object is needed, which all result in ctx->gfx_pipeline_state.hash = 0;. Other than this, there’s sample count check for sample changes so that the shader can be modified if necessary, and then there’s the setup for creating the Vulkan framebuffer object as well as the renderpass object in get_framebuffer().

    Eagle-eyed readers will immediately spot the problem here, which is, aside from the fact that there’s not actually any reason to be setting up the framebuffer or renderpass here, how zink is also flushing the current batch if a renderpass is active.

    The change I made here was to remove everything related to Vulkan from here, and move it to zink_begin_render_pass(), which is the function that the driver uses to begin a renderpass for a given batch.

Syndicate content

More in Tux Machines

Connect to WiFi Using Terminal in Arch Linux and Other Distros

This quick guide explains the steps you need to set up and connect to WiFi using terminal in Arch Linux and other distros. Read more

Android Leftovers

New Systemd 247 Is Out For Linux Operating System As Major Release

Systemd, a controversial system and service manager for Linux operating systems, has a major version release as Systemd 247. Speaking of new changes, systemd 247 has added a new service called systemd-oomd to monitor and take action on processes when memory or swap goes above the configured limits. Systemd, a controversial system and service manager for Linux operating systems, has a major version release as Systemd 247. Speaking of new changes, systemd 247 has added a new service called systemd-oomd to monitor and take action on processes when memory or swap goes above the configured limits. Read more

Comparing the similarities and differences between inner source and open source

Open source software (OSS) has been around since the 1990s and has thrived, quickly growing to become mainstream. It is now more well understood around the world than it has ever been before. Some refer to it as FOSS to highlight the Freedom part of open source (Free and Open Source Software). And in 2014, at OSCON, the term "inner source" was debuted, and people started talking about how to use the principles of open source, but inside of a company. It raised several questions for those unfamiliar with the term, which I hope to answer with this article. For example, what is similar about the two, what is different, the company roles involved in the two, is inner source taking the energy away from open source, etc. These are all fair questions, and as my organization practices both and is involved in both movements, I want to take some time to share insight with this audience as a developer, as a company, and as an open source enthusiast. Read more