The story of the Vizio lawsuit:
a historic case for user rights, nearly complete!


Denver Gingerich

FOSDEM 2026 - Legal and Policy Issues DevRoom

Saturday 31 January 2026

https://ossguy.com/talks/20260131_fosdem/

Vizio -> Walmart

$2 billion, Feb-Dec 2024

wholly-owned subsidiary

now $938 billion

Vizio pre-lawsuit timeline

2012 to 2018: initial reports

2018-04: purchase Vizio TV and tablet

2018-08: notify Vizio of no source/offer

2019-01: first source candidate from Vizio

2019-12: call after sixth candidate

2020-05: last of 6 emails (with no reply) to Vizio

2021-07: new Vizio TVs purchased

Vizio lawsuit timeline

2021-10: lawsuit filed - 3rd-party, specific performance

2022-05: removed to federal, remanded to state

2022 to 2024: mediation attempts, discovery

2024-01: amended complaint, since offer added

2024 to 2025: motions for summary adjudication

2025-12: tentative rulings, 3rd-party beneficiary

2026-01: (now-rescheduled) trial

Vizio lawsuit info/updates

https://sfconservancy.org/vizio

what is source candidate missing?

GPLed/LGPLed code on TV with no source at all

GPLed/LGPLed code on TV with incompatible license

GPLed/LGPLed code on TV missing "the scripts"

LGPL: "operate properly with a modified version"?

confirm for yourself: https://github.com/opensource-vizio/5583-OpenSourceCandidate

the following is NOT exhaustive

no source code at all (whole programs)

e2fsprogs 1.43.4

GNU C Library 2.21

GNU C Library 2.27

no source code at all (whole modules)

kdrv_alg.ko

kdrv_dolby_vision.ko

kdrv_hdr10plus_ref.ko

libdmdbraslia.ko

mik.ko , misck.ko

mwgifker.ko

xcker.ko

incompatible license

"The information contained herein is confidential"

release-5583-5691-5695-5695s-20240624.zip -> release.tar.gz -> release/apollo/linux_core/mboot_rel/
u-boot-2011.06/gcpu/gcpu_if.c

release/apollo/target/limit_open/custom/Vizio/
drv_cust/mt5893/5893_driver/default_video_drv.c

release/apollo/linux_core/driver/directfb/
directfb_1.4.2/1.4.2/inputdrivers/mtnet/mtnet.c

missing "the scripts"

GPLv2 and LGPLv2.1 require:

"the scripts used to control compilation and installation"

let's see what we got...

a tale of two TVs

https://sfconservancy.org/usethesource/candidate/samsung-ln52a650-tv-round-n-of-n/

https://github.com/opensource-vizio/5583-OpenSourceCandidate

build and install (Samsung, 1 of 4)

* Building linux
    * Unpack the linux tarball and cd into it.
    * "cp amber.rel.config .config"
    * "make oldconfig" and "make Image"
    * "cp arch/arm/boot/Image ../uImage"

* Building busybox
    * Unpack the busybox tarball and cd into it.
    * "make CROSS_COMPILE=arm-v5t-le-".
    

build and install (Samsung, 2 of 4)

 # unsquashfs -d rootfs rootfs.img
 # rm ./rootfs/bin/busybox
 # cp [path_to_busybox]/busybox ./rootfs/bin/
 # rm -f rootfs.img
 # mksquashfs ./rootfs rootfs.img
 # rm -rf ./rootfs
    

build and install (Samsung, 3 of 4)

1. Connect serial cable to Ex-Link(serial) port.

2. Make folder 'update' in usb memory drive and copy boot.img,
   rootfs.img and uImage files into the 'update' folder.

3. Connect usb memory drive to the usb port of your TV.

4. In the status of unpluged power cable, push 'Shift' key
   and '~'key at the same time, then plug in power cable. 
   After 2 seconds later, press enter key.
   You can find uboot menu in serial message.

5. Press '0' key(in keyboard) and Enter.
    

build and install (Samsung, 4 of 4)

6. Type "bbm usb", then Enter.
     	        [BHPLCD ]# bbm usb
		...
		[BBM:   ]  4 : kernel image    ...  "uImage"
		[BBM:   ]  5 : root file system..."rootfs.img"
7. In step 6, select '4 : Kernel image'.
8. Type "/update/uImage".
		 ......   [ONW:   ]  | IMAGE WRITE FINISHED!
9. In step 6, select '5 : root file system'.
10. Type "/update/rootfs.img".
		 .......  [ONW:   ]  | IMAGE WRITE FINISHED!
    

build? and install? (Vizio, 1 of 2)

#Build Instructions

1. Unzip this zip to a folder in your Ubuntu [22.04] VM

2. Run this command to make the scripts executable
        sudo chmod 755 ./*.sh
	
3. Run each of the four build scripts in this order:
        ./prepForBuild.sh 		
            (after this script, you'll need to change directory \
                back to where the scripts reside)
            (takes less than a minute)
    

build? and install? (Vizio, 2 of 2)

        ./buildApolloLite.sh
            (takes about 3.5 hours to run)

        ./buildBtsound.sh
            (should take about 5-10 mins)

        ./buildFfmpg.sh
            (should take about 1 minute)
		
        ./buildFUR5.1.1-31X_GPL.sh
            (should take about 30 mins)
            (if this errors out within the first few minutes, \
                simply run it again and it should work)
    

cannot "operate properly with a modified version"

statically links "WebSocket client library for Python"

we noted that "there is no information provided for how to cause the relevant third party portions of the application/scpl/bin/manage binary file to operate properly with a modified version of the library"

from LGPLv2.1 text, saying the program "will operate properly with a modified version of the library"

what we want

source code for the missing programs/modules

incompatible license text fixed, "operate properly"

"the scripts used to control compilation/installation"

fix https://github.com/opensource-vizio/5583-OpenSourceCandidate

so it's like https://sfconservancy.org/usethesource/candidate/samsung-ln52a650-tv-round-n-of-n/

how to help

join related projects, like FOSS Users e.V.

https://join.foss-users.eu/

handwritten signature required, see SFC booth

https://lists.sfconservancy.org/mailman/listinfo/announce

questions?

QR code linking to SFC Sustainer page

https://join.foss-users.eu/

https://ossguy.com/talks/
20260131_fosdem/

become a Sustainer:

https://sfconservancy.org/sustainer/

Presentation and slides are: Copyright © 2023-2026 Denver Gingerich, and are licensed under the Creative Commons Attribution-Share Alike 4.0 International License. Slide Source available.